Göra en verklig (billigt) hexapod! (5 / 7 steg)
Steg 5: Kodning registeransvarige
1. start: Stora servo ner, lämnade servo servo: aft, höger fram
2. stora servo upp, lämnade servo servo: framåt, rätt akter.
3. Upprepa.
Här är koden i kursiv stil:
"{$STAMP BS2}
"{$PBASIC 2.5}
"vaknar upp genom att flytta benen då går framåt, tillbaka, och vänder vänster och höger för programmerad flera gånger
"OBS! Servo måste drivas från annan källa än Vdd (+ 5VDC)
"USB-porten är framåt. svart ben (vänster framben) används för att referera till positioner. Se nedan
"ben swing: 900 = fwd, 750 = mid, 600 = tillbaka-rocker servo lift: 927 = upp, 777 neutral/statiska 627 = ner
motverka VAR ordet "används som index i för/nästa loopar
Steg VAR Nib "används som index i upprepade loopar
fördröja VAR ordet "ms mellan pulser. Min ~ 8. Konstiga > 50. Normal = 20
reps VAR ordet ' antal gånger upprepa puls i loop.
Snabba VAR Byte ' Detta är effektivt gånghastighet, 20 = Hej hastighet, 1 = lägsta hastighet
LongSteps VAR Nib "OBS gräns av 16 steg
mars VAR Nib ' antal gånger att marschera på plats vid start
OutPinRedServo VAR Nib
OutPinGreenServo VAR Nib
OutPinLiftServo VAR Nib
OutPinLiftServo = 12 ' ansluta lift servo signal linje till detta stift
OutPinGreenServo = 10 ' ansluta gröna servo signal linje till detta stift
OutPinRedServo = 11 ' ansluta röda servo signal linje till detta stift
reps = 150
Hastighet = 4
LongSteps = 3
"*** vakna upp och skaka en ben - bara för skojs skull ***
Pausa 7000 ' få tid för kameran setup, kan tas bort
Delay = 10' Detta kommer att minska eftersom tiden fortskrider simulering vakna
"flytta från 777 till 927 (upp)
FÖR counter = 1 till reps
PULSOUT OutPinLiftServo, 777 + counter ' 777 är horisontellt läge för vev arm, vi vill sluta på 927
Pausa dröjsmål
Nästa "finish på 927
MARS = 1-4
"Håll positionen 927
FÖR counter = 1 till reps * 2 steg 4
PULSOUT OutPinLiftServo, 927 "Håll på 927
Pausa dröjsmål
NÄSTA
"flytta från 927 till 627
FÖR counter = 1 till (reps * 2) ' flytta hiss servo bara
PULSOUT OutPinLiftServo,(927-counter) ' vill avsluta på 627
Pausa dröjsmål
Nästa "finish på 627
"hålla position på 627
FÖR counter = 1 till reps * 2 steg 4
PULSOUT OutPinLiftServo, 627
Pausa dröjsmål
NÄSTA
"flytta från 627 till 927 (upp)
FÖR counter = 1 till (reps * 2) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (627 + counter) "vill avsluta på 927
Pausa dröjsmål
Nästa "finish på 927
Delay = fördröjning/2 ' skynda långsamt för att simulera vakna upp - dröjsmål går till noll
NÄSTA
"flytta från 927 till 777 (statisk)
FÖR counter = 1 till (reps) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (927 - counter) "vill avsluta på 777
Nästa "finish på 900 fwd och 777 statisk
Pausa 1000 "vev kvittar till 777 statisk position på grund av att ladda
"*** skaka tre ben ***
Delay = 32
"flytta från 777 till 927 (upp)
FÖR counter = 1 till (reps) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (777 + counter) "vill hamna på 927
PAUSA 10
NÄSTA
"swing från 750 till 900 position (framåt)
FÖR counter = 1 till (reps) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 627 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (750 + counter) "slutet på 900 position (framåt) fwd
PULSOUT OutPinGreenServo, (750 + counter) "slutet på 900
Pausa dröjsmål
Nästa "finish på 900 fwd och 927 upp
FÖR steg = 1 till 3
"sväng tillbaka från 900 till 600 position
FÖR counter = 1 till (reps * 2) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 627 down-Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (900 - counter) "slutet på 600 tillbaka
PULSOUT OutPinGreenServo, (900 - counter) "slutet på 600
Pausa dröjsmål
Nästa "finish på 600 tillbaka och 627 down
"swing fram från 600 till 900 position
FÖR counter = 1 till (reps * 2) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 927 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (600 + counter) "slutet på 900
PULSOUT OutPinGreenServo, (600 + counter) "slutet på 900
Pausa dröjsmål
Nästa "finish på 900 fwd och 927 upp
Delay = fördröjning/2 ' fart upp för varje cykel
NÄSTA
"swing från 900 till 750 position
FÖR counter = 1 till (reps) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 627 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (900 - counter) "slutet på 750
PULSOUT OutPinGreenServo, (900 - counter) "slutet på 750
Pausa dröjsmål
NÄSTA
"flytta från 927 till 777 (statisk)
FÖR counter = 1 till (reps) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (927 - counter) "vill avsluta på 777
Nästa "finish på 900 fwd och 777 statisk
Pausa 1000 "lösa till statisk position 777 och 750
"*** slutet av vakna upp och skaka en ben - finish på 750 mitten och 627 static ***
"*** start av gå rakt fram ***
Delay = 10 ' reset och gå lite långsammare
"flytta från 777 till 927 (upp)
FÖR counter = 1 till (reps) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (777 + counter) "vill hamna på 927
NÄSTA
"swing från 750 till 900 position (framåt)
FÖR counter = 1 till (reps) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 627 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (750 + counter) "slutet på 900 position (framåt) fwd
PULSOUT OutPinGreenServo, (750 + counter) "slutet på 900
Pausa dröjsmål
Nästa "finish på 900 fwd och 927 upp
"flytta från 927 till 627 (nedåt)
FÖR counter = 1 till (reps * 2) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (927 - counter) "vill avsluta på 627 ner
Nästa "finish på 900 fwd och 627 ner
FÖR steg = 1 till Longsteps ' full swing gå framåt för LongSteps cykler
"sväng tillbaka från 900 till 600 position
FÖR counter = 1 till (reps * 2) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 627 "Håll 627 down-Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (900 - counter) "slutet på 600 tillbaka
PULSOUT OutPinGreenServo, (900 - counter) "slutet på 600
Pausa dröjsmål
Nästa "finish på 600 tillbaka och 627 down
"flytta från 627 till 927 (upp)
FÖR counter = 1 till (reps * 2) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (627 + counter) "vill hamna på 927
Nästa "avsluta på 600 tillbaka och 927
"swing fram från 600 till 900 position
FÖR counter = 1 till (reps * 2) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 927 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (600 + counter) "slutet på 900
PULSOUT OutPinGreenServo, (600 + counter) "slutet på 900
Pausa dröjsmål
Nästa "finish på 900 fwd och 927 upp
"flytta från 927 till 627 (nedåt)
FÖR counter = 1 till (reps * 2) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (927 - counter) "vill avsluta på 627 ner
Nästa "finish på 900 fwd och 627 ner
Nästa "slutet av full framåt steg - slutar 900 fwd och 627 ner
"swing från 900 till 750 position
FÖR counter = 1 till (reps) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 627 "Håll 627 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (900 - counter) "slutet på 750
PULSOUT OutPinGreenServo, (900 - counter) "slutet på 750
Pausa dröjsmål
NÄSTA
Pausa 1000 ' hinna sedimentera till statisk position
"*** slutet av gå rakt fram - finish på 750 mitten och 627 static ***
"*** börjar gå rakt bakåt ***
Delay = 10
"flytta från 627 till 927
FÖR counter = 1 till reps
PULSOUT OutPinLiftServo, (777 + counter) ' 777 är horisontellt läge för vev arm, vi vill sluta på 927
Nästa "finish på 750 och 927 upp
"swing från 750 till 600 position
FÖR counter = 1 till (reps) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 927 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (750 - counter) "slutet på 600 position (tillbaka)
PULSOUT OutPinGreenServo, (750 - counter) "slutet på 600
Pausa dröjsmål
Nästa "avsluta på 600 tillbaka och 927
"flytta från 927 till 627 (nedåt)
FÖR counter = 1 till (reps * 2) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, 927-counter "vill avsluta på 627 ner
Nästa "finish på 600 tillbaka och 627 down
FÖR steg = 1 till LongSteps ' full swing promenader fram för LongSteps steg
"swing fram från 600 till 900 position (framåt)
FÖR counter = 1 till (reps * 2) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 627 "Håll 627 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (600 + counter) "slutet på 900
PULSOUT OutPinGreenServo, (600 + counter) "slutet på 900
Pausa dröjsmål
Nästa "finish på 900 fwd och 627 ner
"flytta från 627 till 927 (upp)
FÖR counter = 1 till (reps * 2)
PULSOUT OutPinLiftServo, (627 + counter) "vi vill sluta på 927
Nästa "finish på 900 fwd och 927 upp
"sväng tillbaka från 900 till 600 position
FÖR counter = 1 till (reps * 2) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 927 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (900 - counter) "slutet på 600
PULSOUT OutPinGreenServo, (900 - counter) "slutet på 600
Pausa dröjsmål
Nästa "avsluta på 600 tillbaka och 927
"flytta från 927 till 627 (nedåt)
FÖR counter = 1 till (reps * 2) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, 927-counter "vill avsluta på 627 ner
Nästa "finish på 600 tillbaka och 627 down
Nästa "slutet av full framåt steg med blk benet tillbaka på 600 och ner på 627
"swing fram från 600 till 750 position
FÖR counter = 1 till (reps) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 627 "Håll 627 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (600 + counter) "slutet på 750
PULSOUT OutPinGreenServo, (600 + counter) "slutet på 750
Pausa dröjsmål
Nästa "finish på 750 mitten och 627 down
"*** slutet av gå rakt bakåt - finish på 750 och 627 static ***
"*** start av framåt sväng höger ***
"flytta från 777 till 927 (upp)
FÖR counter = 1 till reps
PULSOUT OutPinLiftServo, (777 + counter) ' 777 är horisontellt läge för vev arm, vi vill sluta på 927
Pausa dröjsmål
Nästa "finish på 927
"OBS mitten vänster ben orsakar faktiskt spindel att vända sig till här
FÖR counter = 1 till (reps) steg 1 ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 627 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (750 + counter) "slutet på 900 position (framåt) fwd
Pausa dröjsmål
Nästa "finish på 900 fwd och 927 upp - Observera att mitten vänster ben är klar på 600 tillbaka
FÖR steg = 1 till 4 ' 4 steg = 90 grader
"flytta från 927 till 627 (nedåt)
FÖR counter = 1 till (reps * 2) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (927 - counter) "vill avsluta på 627 ner
Nästa "finish på 900 fwd och 627 ner
"swing tillbaka från 900 till 600 position - notera gröna servo inte rör sig under vänden till höger
FÖR counter = 1 till (reps * 2) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 627 "Håll 627 down-Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (900 - counter) "slutet på 600 tillbaka
Pausa dröjsmål
Nästa "finish på 600 tillbaka och 627 down - Observera att mitt vänstra ben finish på 900 fwd
"flytta från 627 till 927 (upp)
FÖR counter = 1 till (reps * 2) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (627 + counter) "vill hamna på 927
Nästa "avsluta på 600 tillbaka och 927
"swing fram från 600 till 900 position (framåt)
FÖR counter = 1 till (reps * 2) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 927 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (600 + counter) "slutet på 900
Pausa dröjsmål
Nästa "finish på 900 fwd och 927 upp
NÄSTA
"klar i mitten av swing och neutral lift - swing svart ben tillbaka från 900 till 750 mitten av swing position
FÖR counter = 1 till (reps) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 927 down-Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinRedServo, (900 - counter) "slutet på 750 mitten av position
Pausa dröjsmål
Nästa "finish på 750 och 927 upp - Observera att mitt vänstra ben finish på 900 fwd
Pausa 1000 ' tillåta lift servo gå till neutralläge-finish på 750 mitten och 777 neutral
"*** slutet av framåt sväng höger - avsluta på 750 mitten och 777 static ***
"*** start av forwardd sväng vänster ***
"flytta hiss servo att låsa svart ben ner till 627 som låser just mellersta benet ner också
FÖR counter = 1 till (reps) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (777 - counter) "vill avsluta på 627 ner
Nästa "finish på 750 tillbaka och 627 down
"swing svart ben från 750 till 600 position som också flyttar just mitt ben tillbaka orsakar spindel att svänga vänster
FÖR counter = 1 till (reps) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 627 "Håll 927 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinGreenServo, (750 - counter) "slutet på 600
Pausa dröjsmål
Nästa "finish på 600 tillbaka och 627 down
FÖR steg = 1 till 4 ' 4 steg = 90 grader
"flytta från 627 till 927 (upp)
FÖR counter = 1 till (reps * 2) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (627 + counter) "vill hamna på 927
Nästa "avsluta på 600 tillbaka och 927
"swing fram från 600 till 900 position (framåt)
FÖR counter = 1 till (reps * 2) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 927 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinGreenServo, (600 + counter) "slutet på 900
Pausa dröjsmål
Nästa "finish på 900 fwd och 927 upp
"flytta från 927 till 627 (nedåt)
FÖR counter = 1 till (reps * 2) ' flytta hiss servo bara
PULSOUT OutPinLiftServo, (927 - counter) "vill avsluta på 627 ner
Nästa "finish på 900 fwd och 627 ner
"swing tillbaka från 900 till 600 position - notera gröna servo inte flyttas under sväng höger
FÖR counter = 1 till (reps * 2) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 627 "Håll 627 down-Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinGreenServo, (900 - counter) "slutet på 600 tillbaka
Pausa dröjsmål
Nästa "finish på 600 tillbaka och 627 down
NÄSTA
"flytta från 627 till 927 (upp)
FÖR counter = 1 till (reps * 2)
PULSOUT OutPinLiftServo, (627 + counter) "vi vill sluta på 927
Nästa "avsluta på 600 tillbaka och 927
"swing från 600 till 750 position
FÖR counter = 1 till (reps) steg hastighet ' flytta benen servo & uppdatering lyfta servo
PULSOUT OutPinLiftServo, 927 ' hålla 927 Observera att 777 är neutral på Hitec 765HB lift servo
PULSOUT OutPinGreenServo, (600 + counter) "slutet på 750
Pausa dröjsmål
Nästa "finish på 750 mitten och 627 down
Pausa 1000 ' tillåta lift servo gå till neutralläge-finish på 750 mitten och 777 neutral
"*** slutet av framåt slå vänster - finish på 750 mitten och 777 static ***