Heb ik besloten om het maken van een lucht-piano , die gebaseerd is op de GLB-gevoel en de arduino.
Materialen;
- Aluminium tape of aluminiumfolie
- Sommige draden
- 8 10M Ohm weerstanden
- Piëzo-zoemer
- Arduino
- 9V batterij of USB-kabel
Kortom, er zijn vierkante stukjes van aluminium tape vast op een dikke kaart die is gekoppeld aan een jumper kabel en een weerstand, 8 replica's daarvan worden gemaakt, dan de andere uiteinden van de weerstanden met elkaar zijn verbonden en aan pin3 van de arduino, dit zal fungeren als de gemeenschappelijke basis pin voor alle sensoren. De weerstand waarden kunnen 2M of 10M of 40 M Ohm. 2 M Ohm zal maken, zodat het alleen zintuigen als u op drukt op de aluminium tape, 10M Ohm weerstand maakt het dus dat je hand op een beetje hoogte van 3-5cm of zo kan worden aangevoeld en 40 M Ohm vrij een beetje verder voelen zal, maar het wordt een beetje rommelig alsof de aluminium tape stukken te dicht bij elkaar zijn dan op die hoogte storing treedt op daarom andere toetsen ingedrukt kunnen krijgen. Als u gebruik wilt maken deze 40M-Ohm-versie hebt u moet ervoor zorgen om de aluminium tape stenen een beetje ver weg van elkaar.
Ik gebruikte 10M Ohm voor mijn apparaat en het werkt perfect wanneer ik mijn hand Golf over de opmerking die ik wil gebruiken.
Het basisprincipe achter dit is dat de aluminium tape het verschil tussen de capaciteit van het menselijk lichaam en de capaciteit van de lucht detecteert, of met andere woorden de aluminium tape een kleine spanning wordt gegeven door de arduino waardoor een elektrisch veld op dat gebied, en als onze vinger (zijnde een dirigent) het raakt, vormen we een condensator. Deze wijziging wordt gedetecteerd door de aluminium tape en daarom stuurt een signaal naar de arduino waarmee wij kunnen vertellen te sturen een signaal naar de zoemer.
Ik heb gehoord dat we kunnen ook gebruiken resistieve sensing in plaats van capacitieve maar ik ben niet precies zeker hoe het werkt.
Ik gehecht een goede piëzo-zoemer aan pin A0 of analoge Pin 0, de gemeenschappelijke pin aan pin 3 en de 8 verschillende pleinen van aluminium tape naar 4,5,6,7,8,9,10,11 pinnen.
Schematische in één van de beelden aan gehecht dit instructable.
Dit is de code die ik gebruikt;
#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 notes[]={NOTE_C4,NOTE_D4,NOTE_E4,NOTE_F4,NOTE_G4,NOTE_A4,NOTE_B4,NOTE_C5}; CapacitiveSensor keys[] = {CS(4), CS(5), CS(6), CS(7), CS(8), CS(9), CS(10), CS(11)}; void setup() { for(int i=0; i<8; ++i) { keys[i].set_CS_AutocaL_Millis(0xFFFFFFFF); } pinMode(BUZZER_PIN, OUTPUT); } void loop() { for (int i = 0; i < 8; ++i) { if(keys[i].capacitiveSensor(NUM_OF_SAMPLES) > CAP_THRESHOLD) { tone(BUZZER_PIN, notes[i]); delay(100); noTone(BUZZER_PIN); } } }
Wat de code doet is eerst bestaan uit 2 Bibliotheken, capacitivesensors.h en pitch.h, pitch.h voor het gebruik van de opdracht van de tint met aantekeningen zoals A2, B6, F2 etc in plaats van frequenties zelf wordt gebruikt. Dan het definieert de pinnen en de condensator drempel, dit is in principe het bedrag van de "sensing" de condensator doet, als je het verminderen dan de sensor gemakkelijker detecteert als steeg het doet het tegenovergestelde.
Vervolgens definieert u de notities voor elke toets die ingedrukt en vervolgens definieert u de pinnen die de sleutels of aluminium tape stukken zijn aangesloten op.
Void Setup u zoemer pincode instellen als output en kalibratie wordt ingesteld op 0.
In de leegte lus u zeggen dat als de tape uw vinger, dan de if detecteert-instructie wordt uitgevoerd, dus de zoemer wordt gespeeld met de respectieve notitie. Als dat niet dan gebeurt omdat er geen andere functie is, gaat het gewoon door ongeldig lus opnieuw.
De opdracht tone() zet de Toon worden gespeeld op de zoemer, u kunt ook de opdracht van de tint te spelen van afzonderlijke gewoon noten als Toon (pin, frequentie, duur) maar we gebruiken notities hier met de pitch.h dus we niet hoeven te moeite mee.
Zijn een vrij eenvoudige hardware bouwen die een hoop van leren in de software kant biedt.
Haar een aanbevolen project voor beginners die niet veel hardware materiaal maar zijn bereid om te leren hoe de software werkt in de arduino ide.
Volgens mij is het een geweldig leuk om te project en duurt niet lang of.
U kunt ook het aanpassen van de notities te maken van allerlei verschillende leuke muziek zoals Umm... misschien een vreemde stem? of een Radiotuner?
Hoop om te zien wat anderen doen met deze combinatie van GLB-Sense arduino, en als iedereen maakt dit dat het zou geweldig zijn als u foto's van het voltooide project gedeelde :)
Links;
- GLB-sense Arduino Library; http://Playground.Arduino.CC//Main/CapacitiveSensor?from=main.CapSense
Inspiratie/krediet;
- http://www.YouTube.com/watch?v=aaBAp47QujA (idee Start)
- http://hackaday.com/2011/11/21/Simple-Touch-sensors-with-the-Arduino-capsense-Library/ (hoe Cap-zin werkt)
- (initiatief voor GLB-zin)
- http://www.YouTube.com/watch?feature=player_embedded&v=GFp9yhYXTUg (meer inspiratie)
- http://blog.makezine.com/2008/05/16/build-the-Arduino-Pocket/ (inspiratie voor het maken van een piano)
- Tyler Crumpton, J Z Chen en Nicholas Jones waren de mensen die werkten rond met deze technologie om allerlei dingen dus alle eer naar hen gaat.
Korte Video; (GLB-Sense Air Piano)