Så lad os komme i gang. Først skal du beslutte om komponenter og kredsløb. Princippet for betjening af kredsløbet er simpelt: et svagt signal fra mikrofonen forstærkes og sendes til den Arduino analoge pin. Som forstærker vil jeg bruge en operationel forstærker (komparator). Det giver en meget højere forstærkning sammenlignet med en konventionel transistor. I mit tilfælde fungerer LM358-chippen som denne komparator, den kan findes bogstaveligt talt overalt. Og det koster ret billigt.
Hvis du ikke kunne finde LM358, kan du på stedet placere en hvilken som helst anden egnet driftsforstærker. For eksempel stod komparatoren, der er vist på billedet, på forstærkertavlen for det infrarøde modtagersignal i tv'et.
Lad os nu se på sensorkredsløbet.
Ud over den operationelle forstærker har vi brug for et par mere let tilgængelige komponenter.
Den mest almindelige mikrofon. Hvis mikrofonens polaritet ikke er indikeret, skal du bare se på dens kontakter. Minuset går altid til sagen, og i kredsløbet er det derfor forbundet til "jorden".
Dernæst har vi brug for en 1 kΩ modstand.
Tre modstande på 10 kΩ.
Og en anden modstand på 100 kΩ er 1 MΩ.
I mit tilfælde bruges en 620 kOhm modstand som det "gyldne middelværdi".
Men ideelt set skal du bruge en variabel modstand med den rette vurdering. Som vist ved eksperimenter øger en større vurdering kun enhedens følsomhed, men der vises mere "støj".
Den næste komponent er en 0,1 uF kondensator. Det er mærket "104".
Og en anden kondensator, på 4,7 uF.
Nu går vi til samling. Jeg monterede kredsløbet med en monteret installation.
Forsamlingen afsluttet.Jeg installerede kredsløbet i en sag, som jeg lavede af et lille stykke plastrør.
Vi fortsætter med at teste enheden. Jeg forbinder det til tavlen Arduino UNO. Gå til Arduino-udviklingsmiljøet, og åbn AnalogReadSerial-eksemplet i afsnittet Basics.
ugyldig opsætning () {
Serial.begin (9600); // connect Seriel forbindelse ved 9600 baud
}
void loop () {
int sensorValue = analogRead (A0); / * læse værdien fra den nul analoge pin, og gem den i variablen sensorValue * /
Serial.println (sensorValue); // output værdien til porten
forsinkelse (1); // vent et millisekund på stabilisering
}
Før vi læsses ind på brættet, ændrer vi forsinkelsen med 50 millisekunder og indlæser den. Derefter laver vi en testbomuld og følger indikationerne. På klappetidspunktet hopper de, forsøger at huske denne værdi omtrent og vender tilbage til skitsen.
Føj et par linjer til skitsen.
if (sensorValue> X) {
Serial.print ("CLAP");
forsinkelse (1000);
}
I stedet for “X” skal du indsætte den samme værdi, indlæse og klappe igen. Så fortsæt, indtil du finder den optimale responsværdi. Med en overvurderet værdi vil betingelsen kun blive opfyldt med bomuld i meget tæt afstand. Med en lavere værdi opfyldes betingelsen ved den mindste støj eller lyden fra trin.
Med det korrekte valg af modstanden R5 kan denne sensor også omdannes til en digital sensor og kan bruges i hardwareafbrydelser. Potentialet ved dette design er enormt, på grundlag af det kan du samle en masse forskellige projekter, og dens enkelhed gør enheden tilgængelig for alle.
Afslutningsvis foreslår jeg at se en video, hvor alt vises tydeligt. Kalibreringsprocessen og samlingen af den enkleste bomuldsomskifter forklares også meget mere detaljeret.
Jeg håber du nød det. Jeg ønsker dig en vellykket forsamling!