Dansar Tippy med arduino och stepper motor (2 / 7 steg)
Steg 2: Programmering Pro prydnadssak
Detta avsnitt kommer att fortsätta att följa, "The Secret knacka dörr detektor" Instructable. Den ursprungliga koden och projektet används en likströmsmotor, så jag var tvungen att ändra koden för att köra en stegmotor.
Det här avsnittet måste du öppna Arduino programvara, kompilera och ladda upp en skiss.
#1: downloadDownload fil secret_knock_detector.pde längst ned i detta avsnitt och kopiera den till din skissbok. (Eller visa texten och klippa och klistra in den i en ny skiss.) (Tips: om namnet på den nedladdade filen är något som "BARS5HS13H8SW.tmp" helt enkelt byta namn på den till secret_knock_detector.pde. och du är bra att gå.)
#2:Open skissen och kompilera den. Det bör sammanställa ordentligt första språng, men det är bra för att vara säker.
#3: Anslut din Arduino och ladda upp skissen. Om du har några problem, kolla avsnittet felsökning på webbplatsen Arduino.
Kodöversikt:
om linje 28: const int tröskel = 4; Detta är känsligheten hos detektorn knock. Om du får en massa oväsen, tar upp detta (upp till 1023), om du har en hård tid höra smällar kan du sänka det (så lågt som 1).
om linje 29: const int rejectValue = 25;
om linje 30: const int averageRejectValue = 15. Båda dessa används för att avgöra hur exakt någon har att slå. De är procentsatser och bör vara i intervallet 0-100. Sänka dessa innebär någon måste ha mer exakta timing, högre är mer förlåtande. averageRejectValue ska alltid vara lägre än rejectValue. Inställningar av ca 10 och 7 gör det svårt för två personer att slå den samma knock även om de vet rytmen. Men det ökar också antalet falskt negativ. (dvs: du slå korrekt och det fortfarande inte öppnas.)
om linje 31: const int knockFadeTime = 150; Detta är en rå debounce timer för knock sensor. Efter det hör en knock slutar lyssnar till detta många millisekunder så det inte räknas den samma knock mer än en gång. Om du får en enda knock räknas som två sedan öka denna timer. Om det inte registrera två snabba smällar då minska den.