Dansa dansa Roverbot! Bygga en ljus aktiveras dans Snap kretsar programmerbar Robot. (11 / 12 steg)
Steg 11: Programmera Roverbot
Det enklaste sättet att beskriva vad programmet gör är det väntar ljusnivån i rummet för att nå en bestämd styrka och en gång som ljus nivå nås, programmet suppleanter byta rover's höger och vänster motorer på och av. Detta kommer att resultera i rover vrida höger, sedan vänster och sedan höger, sedan vänster, oändliga. Här är vad den grundläggande koden ser ut:
"BASIC konverteras från flödesschema:
"C:\Documents and Settings\Desktop\lightmeter1.cad
"Konverteras på 25/1/2012 kl 06:10:25
viktigaste:
label_6: "medan b0 är mindre än 201
readadc 4, b0 "få värdet av b0 från stift 4 (mängden ljus faller på RP sensor)
serout 0,N2400,(#b0,13,10) ' utgång värdet av b0 (mängden ljus faller på RP sensor) till programmering Redaktörens seriell terminal
vänta 1 "vänta en sekund innan du fortsätter
om b0 > 200 då label_51 "om värdet av b0 > 200 (om ljusstyrka av ljus på RP sensor valda energinivå, roverbot börjar dansa
gå till label_6 ' ljus inte är ljusa nog så, ta en annan läsning
label_51:
label_27:
hög 0 ' switch lämnade roverbot motor på
låg 1 ' stänga rätt roverbot motor
Pausa 1000 "rätt motor varv för en sekund
låg 0 ' stänga vänster motor
höga 1 "switch rätt motor på
Pausa 1000 "rätt motor varv för en sekund
gå till label_27 ' Upprepa tills Dance Dance Roverbot är avstängd
"Readadc 4, b0" processen läser analog till digital omvandlare värdet på stift 4 och tilldelar värdet till b0 möjliga värden är från 0 till 255 beroende på hur mycket ljus som faller på foto motståndet (RP) ansluten till stift 4 på PICAXE.
"Serout 0,N2400,(#b0,13,10)" indata/utdata krävs inte för att programmet ska köras. Jag satt in den så jag kunde testa ljusnivåer i rummet på programmering Redaktörens seriell Terminal och justera programmet. När du konverterar flödesschemat till BASIC och programmera PICAXE kan du Visa Serial-uttaget genom att trycka på F8. På bilden kan du se att jag testat ljusnivåer i ett rum med en dimmer på ljus.
"Vänta" processen berättar att vänta en sekund innan du fortsätter till nästa steg. På den programmering Redaktörens seriell Terminal jag såg de värden som visas en gång per sekund.
Den "om b0 > 200 då label_51" beslut diamond säger att om värdet som tilldelats b0 är större än 200 och sedan gå till nästa steg i programmet annars gå tillbaka till "readadc 4, b0" processen. Om man tittar på seriell Terminal bilden vad gör ni hände när jag tog upp ljusnivån med växeln dimmer och värdet i b0 hoppade från 122 till 235?
"Hög 0" input/output berättar PICAXE ange pin 0 hög. Vänster sida motorn startar på rover att börja vrida fram.
"Låg 1" input/output berättar PICAXE ange pin 1 låg. Detta kommer att tala höger motor på rover att sluta slå.
"Låg 0" input/output berättar PICAXE ange pin 0 låg. Detta kommer att tala vänster motorn på rover att sluta slå.
Den "höga 1" input/output berättar PICAXE ange pin 1 hög. Höger sida motorn startar på rover att börja vrida fram.
För att köra programmet, se till att Snap kretsar Slide Switch S1 slås bort annars programmet kommer att utföra medan programmet är fortfarande ladda ner till PICAXE och av misstag kan koppla bort programmering kabeln om ljusnivån faller på RP sensorn orsakar det att returnera ett värde större än 200 orsakar roverbot att dansa. Därefter se till att Snap kretsar 9 volts batteri Block B5 är påslagen eller programmet inte hämtas till PICAXE. Att kabeln Snap kretsar USB programmering till datorn.
1. Anslut den gula snapin till S-i fäst på Snap kretsar 8 Pin Socket U14 blocket (PICAXE flisförare).
2. Anslut den röda snapin till S-ut fäst på Snap kretsar 8 Pin Socket U14 blocket (PICAXE flisförare).
3. Anslut svart fäst till GND, eller negativ (-) snapin på 8 Pin Socket U14 blocket (PICAXE flisförare).
Innan du fortsätter ska du täcka RP sensorn med fingret.
I programmering Editor klickar du på PICAXE och klicka sedan på kör. Ett statusfält visar för att visa för nedladdning av programmet till PICAXE.
När programmet färdig dataöverföring, koppla bort programmering kabeln från datorn och från Dance Dance Roverbot. Placera Roverbot på golvet ett säkert avstånd från alla hinder. Slå sedan skjut växla S1 till på. När du är redo att titta på din Roverbot dans, långsamt ta bort fingret från RP sensorn. När tillräckligt med ljus faller på sensorn till sätta värdet av b0 till 201 Dance Dance Roverbot kommer att börja vrida höger, sedan vänster, sedan höger, sedan vänster (en robotic version av The Twist), tills du stänger växeln glida av.