DIY Arduino armbandsur Walkie-Talkie (3 / 6 steg)
Steg 3: Ringa knapp
Vi behöver en enkel knapp krets för att ringa personen i andra änden av walkie talkie. Jag använde en enkel tryckknapp, 10 k resistor och en 100 nF kondensator. Banan är ganska enkelt. Jag la en kondensator till den typiska knapp krets som du kanske är bekant med. Denna kondensatorn är för att förhindra "studsande" eller felaktiga signaler från knappen. Du kanske är bekant med andra sätt att Dämpningstid en knapp, men jag har funnit att lägga till kondensatorn fungerar tillräckligt bra.
Jag har bifogat ett avbrott till stift 3 att upptäcka när du trycker på knappen. Avbryter är verkligen tjusig. De tillåter oss att "avbryta" koden för att ge ett precist tidsbestämda händelser utan försämras prestanda (om det görs på rätt sätt).
attachInterrupt(digitalPinToInterrupt(talkButton), talk, förändring);
Med denna del av koden gå vi till funktionen "talk()" som kontrollerar spänningen på pin 3. Om spänningen är hög eller 5 V, kommer att nRF24L01 byta till överför funktionsläge (skicka röst). Om spänningen är låg eller 0 V, kommer att nRF24L01 växla för att ta emot-läge (mottagande röst). Spänningen på pin 3 bör vara hög när knappen trycks och låg när knappen släpps. När spänningen på pin 3 "ändringar" som betecknas i vår "attachInterrupt" funktion, kommer att köra funktionen "talk()".
void talk() < br > {< br > om (digitalRead(talkButton)) rfAudio.transmit(); < br > annat rfAudio.receive(); < br >}