Arduino drivs av din SmartPhone (med följetong) - Del1 - ljud och vibrationer åtgärder (4 / 7 steg)
Steg 4: Arduino kod - tryckknappar teori
Ladda upp den bifogade filen (thie kod) i det här steget till din arduino.
Att koden nu. Egentligen är det en enkel en jag har fäst koden och det är väl dokumenterat.
Men kommer jag gå igenom lite grundläggande saker som kanske verkar lite svårt:
Tanken med denna kod är när du trycker på en knapp en data (du kan ändra det) kommer att skickas från Arduino genom följetong till din device.there är inga problem rätt?
OK det enda problemet är att när du trycker på knappen det inte kommer från låga tillstånd till hög staten omedelbart (eller tvärtom). Det blir en period där kommer tveka mellan hög till låg stat så i ett nötskal när du trycker på knappen push det kan skicka data två gånger eller mer! .
Det finns två lösningar på problemet en av hårdvara (med kondensator) och den andra via programvara.
I denna del använder vi bara programvara en (lätt en). Nu tanken på programvarulösning är att vänta en viss tid (den tveka tid) samtidigt som knappen bosätta sig i (blir stabil). Men vi har 5 knappar! cool down vi inte behöver skriva att mycket av koden där är ett bibliotek för att kallas bounce2 :D. Se denna länk för att ladda ner.
Så hur man använder detta bibliotek, som är den enkla biten:
Instansiera ett Bounce objekt
Studsa debouncer1_On = Bounce();
initiera knappen
pinMode(sound1On,INPUT);
Aktivera interna pull-up
digitalWrite(sound1On,HIGH);
Efter inställning-upp knappen, Ställ in debouncer
debouncer1_On.attach(sound1On);
debouncer1_On.Interval(10)
Nu är du klar när du vill att läsa status för knappen bara göra:
debouncer1_On.Update();
sedan läsa status:
btn1On = debouncer1_On.read();
efter det skickar beroende på btn1On värdet, du data. Till exempel när staten är låg btn1On == låg sedan skicka #pIntro; (den här strängen kommer att översättas av app och spelas upp specifika ljud senare detta ämne)
Du kanske märker vi har en variabel som kallas preStatus för varje knapp här är att spara knappen föregående status.
Om du har fler frågor om kod kontakta mig på:
blueactapp
Eller diskutera det på fb sidan :
https://www.Facebook.com/pages/BlueAct/55984237746...
Referens: Mer information om Debouncing denna video förklara en hel del: