Arduino Cap-känsla luften Piano
Jag beslöt att göra en air piano som bygger på cap-mening och arduino.
Material.
- Aluminium tejp eller aluminiumfolie
- Några kablar
- 8 10M Ohm motstånd
- Piezo summern
- Arduinoen
- 9V batteri eller USB-kabel
I grund och botten det finns fyrkantiga bitar av tejp fastnat på en tjock kort som är knuten till en bygeln kabeln och en resistor, 8 kopior av detta görs, sedan alla andra ändar motstånden är kopplade samman och till pin3 av arduino, detta kommer att fungera som gemensam bas PIN-koden för alla sensorer. Resistor värdena kan vara 2M eller 10M eller 40 M Ohm. 2 M Ohm kommer att göra det så att den endast känner av när du trycker på tejpen, 10M ohms motstånd gör det så att handen kan vara kände på en liten höjd av 3-5cm eller så och 40 M Ohm kommer att känna ganska lite längre, men det blir lite kladdigt som om aluminium tejp bitarna är för nära varandra och sedan på den höjden interferens förekommer därför andra nycklar kan få tryckt. Om du vill använda denna 40M Ohm version måste du se till att placera aluminium tejp bitarna lite långt bort från varandra.
Jag använde 10M Ohm för min enhet och det fungerar perfekt när jag vinkar min hand över noteringen jag vill använda.
Den grundläggande principen bakom detta är att aluminium tejp upptäcker skillnaden mellan människokroppen kapacitans och kapacitans av luft, eller med andra ord tejpen ges en liten spänning av arduino som skapar ett elektriskt fält i området när fingret (att vara en ledare) berör den, bildar vi en kondensator. Denna förändring upptäcks av aluminium tape och därför skickar en signal till arduino som vi kan berätta det en signal att summern.
Jag har hört att kan vi också använda resistiv avkänning i stället för kapacitiv men jag vet inte exakt hur det fungerar.
Jag bifogade en bra piezo Summer pin A0 eller analog Pin 0, den gemensamma pin till stift 3 och tejp till 4,5,6,7,8,9,10,11 stift 8 olika kvadrater.
Schematiskt i en av bilderna som bifogas detta instructable.
Detta är koden jag använde;
#include
#include "pitches.h"
#define COMMON_PIN 3
#define BUZZER_PIN A0
#define NUM_OF_SAMPLES 1
#define CAP_THRESHOLD 100
#define NUM_OF_KEYS 8
#define CS(Y) CapacitiveSensor (2, Y)
int noterar [] = {NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5};
CapacitiveSensor nycklar [] = {CS(4), CS(5), CS(6), CS(7), CS(8), CS(9), CS(10), CS(11)};
void setup()
{
för (int jag = 0; jag < 8. ++ jag)
{
Keys[i].set_CS_AutocaL_Millis(0xFFFFFFFF);
}
pinMode (BUZZER_PIN, OUTPUT);
}
void loop()
{
för (int jag = 0; jag < 8. ++ jag)
{
IF(Keys[i].capacitiveSensor(NUM_OF_SAMPLES) > CAP_THRESHOLD)
{
tonen (BUZZER_PIN, notes[i]);
Delay(100);
noTone(BUZZER_PIN);
}
}
}
Vad koden gör först inkluderar 2 bibliotek, capacitivesensors.h och pitch.h, pitch.h används för att använda kommandot Tona med anteckningar som A2, B6, F2 etc istället för frekvenser själva. Då det definierar stiften och kondensator ingången, detta är i grunden mängden "avkänning" kondensatorn gör, om du minskar det då sensorn känner lättare om ökade det gör motsatsen.
Sedan du definierar anteckningar för varje nedtryckt och sedan du definiera stiften nycklar eller aluminium tejp bitar är anslutna till.
I void setup du ange summern pin och anger kalibrering 0.
I void slingan du säger som om bandet upptäcker fingret, då if uttalande blir avrättad, därför summern spelas med respektive anmärkning. Om det inte sker sedan eftersom det finns ingen annan funktion, går det bara genom void öglan igen.
Kommandot tone() anger tonen som skall spelas på summern, du kan också använda kommandot Tona för att spela separat vanligt anteckningar som tonar (pin, frekvens, varaktighet) men vi använder Anteckningar här med pitch.h så vi inte behöver bry sig med detta.
Dess en ganska enkel hårdvara bygga som erbjuder en hel del lärande i mjukvarusidan.
Dess ett rekommenderade projekt för nybörjare som inte har en hel del hårdvara material men vill lära hur programvaran fungerar i arduino ide.
Enligt mig är ett väldigt roligt att projektet och tar inte länge heller.
Du kan också justera anteckningar för att göra alla typer av olika roliga låtar som um... kanske en främmande röst? eller en radio?
Hoppas att se vad andra gör med denna Cap-Sense arduino kombination, och om någon gör detta det skulle vara häftigt om du delade bilder på det färdiga projektet :)
Länkar;
- Cap-sense Arduino bibliotek; http://Playground.Arduino.cc//main/CapacitiveSensor?from=main.CapSense
Inspiration/kredit.
- http://www.youtube.com/watch?v=aaBAp47QujA (idé börja)
- http://hackaday.com/2011/11/21/simple-touch-sensors-with-the-Arduino-capsense-Library/ (hur Cap-mening fungerar)
- (initiativ för Cap-känsla)
- http://www.youtube.com/watch?feature=player_embedded&v=GFp9yhYXTUg (mer Inspiration)
- http://blog.makezine.com/2008/05/16/Build-The-Arduino-Pocket/ (Inspiration för att göra ett piano)
- Tyler Crumpton, J Z Chen och Nicholas Jones var personer som arbetat runt med denna teknik för att göra alla möjliga saker så alla krediter går till dem.
Kort Video; (Cap-känsla luften Piano)