Stap 17: Kalibreren Mic Amp
Het verzendende (tx) frame heeft de mic, die wordt gebruikt als onze wind of geblazen kus, sensor. Dit onderdeel van Adafruit is een microfoon en een operationele versterker (opamp) all-in-one. In eenvoudige termen, een opamp heeft twee ingangen en één uitgang, neemt het verschil van de twee ingangen en versterkt. Dit breakout heeft een snoeischaar pot op de achterkant waar de winst van 25 x 125 x de input kan worden ingesteld. Instellen van de winst zal maken minder of meer responsieve uw adem.
Om een gevoel van hoe ontvankelijk is, open de Arduino IDE en ga naar de schets van de voorbeeld AnalogReadSerial. Haak de Edison op de computer via USB (anders verbinding verbreken batterij aangesloten). Als u onbekend met Arduino bent, check out de pagina how to op hun website.
Open de seriële monitor en horloge de waarden komen in. U zult merken dat ze een beetje snel gaan. Zij kunnen worden vertraagd door het veranderen van de vertraging op 100 milliseconden.
delay(100); // delay in between reads for stability
Nu u kan blazen in de microfoon van de afstand die comfortabel voelt en ziet hoe als het is responsief genoeg. Als u een 0 krijgt als waait, dit betekent het is knippen, om te helpen met die draaien de trimmer naar links te maken het minder responsief. Ik vind het nuttig om de pot zet elk kwartaal, half of volledig draai, is het makkelijker om bij te houden hoe ver u op deze manier bent gegaan.
Om te zien als een geblazen kus heeft plaatsgevonden, zal een eenvoudige If-instructie worden gebruikt om te zien als de waarde van de sensor boven een bepaald aantal gaat. Dit nummer die we ingesteld als de drempel wordt geacht als het moment een kus gebeurt en zal het woord "kiss" afdrukken naar de seriële monitor.
Blijven tweak de trimmer vind je een aantal waarden die strookt met uw geblazen kus-actie. Neem het laagste getal en die naar beneden afronden. Bijvoorbeeld, als mijn sensor ongeveer 300 uitvoeren is wanneer niets gebeurt er en ik zie 620-650 popping up wanneer ik blaas, ik zal laten vallen die tot 600 te geven het een marge. Dit is niet nodig, maar ik vind dat het helpt lager beginnen en vervolgens stapsgewijs omhoog gaan, wanneer nodig. Zodra u het nummer om te testen tegen hebt, steek de stekker in een if statement en toevoegen aan de schets.
//replace 400 with your low value if (sensorValue > 400){ Serial.println("kiss"); }
De schets in zijn geheel.
void setup {/ / initialiseren seriële communicatie met 9600 bits per seconde: Serial.begin(9600);} / / de routine lus loopt over en weer forever: void loop {/ / Lees de input op analoge pin 0: int sensorValue = analogRead(A0); / / print de waarde die u leest: Serial.println(sensorValue); delay(100); / / vertraging tussen leest voor stabiliteit < br > void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); } // the loop routine runs over and over again forever: void loop() { // read the input on analog pin 0: int sensorValue = analogRead(A0); // print out the value you read: Serial.println(sensorValue); delay(100); // delay in between reads for stability<br> //replace 400 with your low value if (sensorValue > 400){ Serial.println("kiss"); } }
Untether en verbinden
Houd het circuit aangesloten op de computer via de USB-kabels, totdat het met succes verbonden en een HTML-pagina gegenereerd. Deze manier u de verbindingen worden gemaakt via de seriële monitor kunt bekijken en kunt doen elke probleemoplossing als hoeft te worden.
Zodra het frame de pagina heeft gegenereerd, en kunt u een "(kiss)" om af te drukken, sluit de batterij, de Edison ontkoppelen van uw computer en koppel de USB-kabels.