Dus laten we beginnen. Eerst moet u beslissen over de componenten en circuits. Het werkingsprincipe van het circuit is eenvoudig: een zwak signaal van de microfoon wordt versterkt en naar de Arduino analoge pin gestuurd. Als versterker gebruik ik een operationele versterker (comparator). Het levert een veel hogere versterking op vergeleken met een conventionele transistor. In mijn geval zal de LM358-chip als deze comparator dienen, hij is letterlijk overal te vinden. En het kost behoorlijk goedkoop.
Als u de LM358 niet kunt vinden, kunt u in plaats daarvan een andere geschikte operationele versterker plaatsen. De comparator op de foto stond bijvoorbeeld op het versterkerbord van het infraroodontvangersignaal op de tv.
Laten we nu eens kijken naar het sensorcircuit.
Naast de operationele versterker hebben we nog een paar gemakkelijker toegankelijke componenten nodig.
De meest gewone microfoon. Als de polariteit van de microfoon niet wordt aangegeven, kijk dan gewoon naar de contacten. De minus gaat altijd naar de zaak en in het circuit is het dienovereenkomstig verbonden met de "aarde".
Vervolgens hebben we een weerstand van 1 kΩ nodig.
Drie 10 kΩ-weerstanden.
En nog een weerstand van 100 kΩ is 1 MΩ.
In mijn geval wordt een weerstand van 620 kOhm gebruikt als "gulden middenweg".
Maar idealiter moet u een variabele weerstand met de juiste classificatie gebruiken. Bovendien, zoals uit experimenten blijkt, verhoogt een hogere classificatie alleen de gevoeligheid van het apparaat, maar verschijnt er meer "ruis".
Het volgende onderdeel is een condensator van 0,1 uF. Het heeft het label "104".
En nog een condensator, op 4,7 uF.
Nu gaan we over tot montage. Ik heb het circuit gemonteerd met een gemonteerde installatie.
Montage voltooid.Ik heb het circuit geïnstalleerd in een behuizing die ik heb gemaakt van een klein stukje plastic buis.
We gaan door met het testen van het apparaat. Ik zal het verbinden met het bord Arduino UNO. We gaan naar de Arduino-ontwikkelomgeving en openen het voorbeeld AnalogReadSerial in de sectie Basics.
ongeldige setup () {
Serial.begin (9600); // Sluit de seriële verbinding aan op 9600 baud
}
leegte lus () {
int sensorValue = analogRead (A0); / * lees de waarde van de nul analoge pin en sla deze op in de variabele sensorValue * /
Serial.println (sensorValue); // uitvoer de waarde naar de poort
vertraging (1); // wacht een milliseconde op stabilisatie
}
Voordat we in het bord laden, veranderen we de vertraging met 50 milliseconden en laden we het. Daarna maken we een testkatoen en volgen we de aanwijzingen. Op het moment van klappen springen ze, proberen deze waarde ongeveer te onthouden en keren terug naar de schets.
Voeg een paar lijnen toe aan de schets.
if (sensorValue> X) {
Serial.print ("CLAP");
vertraging (1000);
}
In plaats van "X", voegt u dezelfde waarde in, laadt en klapt u opnieuw. Ga dus door totdat u de optimale responswaarde vindt. Met een overschatte waarde wordt alleen aan katoen op zeer korte afstand voldaan. Met een lagere waarde wordt aan de voorwaarde voldaan bij de minste ruis of het geluid van stappen.
Met de juiste selectie van de weerstand R5 kan deze sensor ook in een digitale veranderen en kan deze worden gebruikt in hardware-interrupts. Het potentieel van dit ontwerp is enorm, op basis hiervan kunt u een heleboel verschillende projecten samenstellen en de eenvoud maakt het apparaat voor iedereen toegankelijk.
Tot slot stel ik voor om een video te bekijken waarin alles duidelijk te zien is. Het kalibratieproces en de montage van de eenvoudigste katoenen schakelaar worden ook veel gedetailleerder uitgelegd.
Ik hoop dat je ervan genoten hebt. Ik wens je een succesvolle montage!