Let's Make Robots!

Hvordan du kan bygge din første robot

main.jpg

Velkommen til instruktioner i hvordan du kan bygge din første robot.

Klik her for at se en video af hvordan den kan komme til at se ud hvis du følger instruktionerne 100%

Hvis du ser dig omkring på resten af letsmakerobots.com, kan du se utallige eksempler på andre robotter du selv kan bygge.

Ved at gennemgå instruktionerne her på siden lærer du at bygge en selvstændig robot af "rigtige" materialer (chips, printplader, ledninger osv som du SELV samler) - og det helt uden at kunne noget som helst med elektronik i forvejen.

Følger du instruktionerne her på siden, kan bagefter du lave alt muligt, der er faktisk ingen grænser for de robotter du kan lave. Ikke alene kan du lave robotter, men du lærer at programmere chips og få dem til at styre ting, så du kan lave dit eget lysshow, lave en ny styring til din vaskemaskine, et automatisk fugleskræmsel, lige det du finder på.. der åbner sig en helt ny verden!

Jeg har oversat dette til Dansk fra denne side, og du kan lave en robot ved hjæp af hvad der står her, på Dansk. Men når det er sagt, bliver jeg nødt til at sige, at her fra foregår næsten alt på Engelsk; De fleste hjemmesider (inklusive den hvor dette ligger på), sproget man skriver programmer i, instruktioner man kan downloade, faktisk alt foregår på Engelsk.

Før vi går i gang, har jeg lige et par generelle råd:

  1. Tag billeder af dit arbejde, og læg dem ind på en hjemmeside - eksempelvis letsmakerobots.com (Se øverst til venstre på forsiden). Det er ligesom at have penge i banken; Selvom du skulle ødelægge din robot senere, har du stadig billederne, og andre kan stadig se det, og du vil få kommentarer senere, kan diskutere med andre senere, fremvise dit arbejde osv. Det er så ærgerligt at lave noget, og så det bare går tabt - så tag billeder, og læg dem online så andre kan se hvad du har lavet og hvad du er i gang med.
  2.  Hvis du tænker "uh, jeg har da ikke muligheden for at bygge ting selv ud over den her instruktion", så prøv at se på videoen på denne side: http://letsmakerobots.com/node/35 Måske kan du se, at det faktisk kun er fantasien som sætter grænser, når du lige har prøvet det der er på denne side.
  3. instruktionerne på denne side er skabt til at hjælpe dig videre, du bliver ikke efterladt her. Der er en del 2 på denne side: Part II (som så er på Engelsk, men det er ikke særligt svært Engelsk)
OK.. Lad os komme i gang :)

Sådan laver du en "cool" robot for omkring 400 kroner

Den er "cool" fordi:

  • Det er rigtig elektronik, rigtige robot-dele. Microchips osv. Det er ikke bare noget hjemmelavet fusk som du ikke kan bruge i rigtige robotter, og det er ikke et samlesæt, og det er ikke LEGO - du bygger virkeligt selv en rigtig robot her!
  • Det er utroligt let. Når du har fået delene hjem, kan du have den første en robot færdig på en time.
  • Du kan fortsætte her fra, og lave vildere ting. Du kan gøre det ved at købe nye dele, eller bruge de samme igen - hvis du kan nænne at skille din robot ad.
  • Det er billigt. Det lyder måske dyrt, men tro mig; Næsten alle andre måder at komme i gang på koster mindst det dobbelte - og for 5 år siden kostede det det 10-dobbelte. Det her er så billigt det kan lade sig gøre, hvis det stadig skal være en god start og "rigtige dele".

 


 

Det første du skal i gang med, er at købe ting ind. Det foregår via Internettet, da der ikke er nogen butikker I Danmark som har alle delene, desværre. 

Jeg viser dig herunder hvilke dele du som minimum skal have fat i, og hvor de KAN købes. Men der er mange steder at købe tingene, så det kan være at du kan finde andre steder. Det er som regel en god idé at købe så meget som muligt i det samme sted hvis du bestiller over Internettet, for på den måde spares porto og ekspeditionsgebyr.

Hvis du gerne vil diskutere med andre (på Engelsk) hvor dele kan findes, kan du gøre det her i dette forum:"where to get Picaxe"

DU SKAL BRUGE:

AXE001.jpg

1 PICAXE-28X1 Starter Pack
 Vær opmærksom på, at der findes en USB, og en Seriel version. Du vi med stor sandsynlighed have den til USB. Det er ikke altid billederne matcher, de lægger sommetider bare et generelt billede ind, og det ser ud som om du bestiller den med seriel, men vælger du USB er det det du får.. kan vi da håbe :)

Pakken kan fås her


Når du har købt denne pakke en gang, kan du nøjes med at købe enkelte dele frem over, eksempelvis bare en ny chip (som er utroligt billig) eler en ny printplade, eventuelt en anden type osv. Det finder du ud af.



16PIN.jpg

1 L293D Motor Driver

Mere information om denne herunder. Hvis du lige vil have lidt hurtig info på Engelsk, kan du finde det her :)

Du kan bestille en her


AXE030.jpg

1 PICAXE Servo Upgrade Pack
Denne pakke er en nem måde at få en servo, en gul chip og nogle pinde som du skal bruge til at montere servoen til printkortet.

Den gule chip er faktisk bare en stribe modstande på 330 Ohm - så hvis du ved lidt om elektronik, har nogle af de der pinde liggende sammen med en 330 ohm modstand, og gerne vil bruge din egen servo kan du også gøre det.

Du kan købe en samlet pakke her, den anbefales til nybegyndere

Hvad er en servo?
En servo er en hjørnesten i mange robot-projekter. For at sige det kort, er det en kasse med en axel på. Axlen kan snurre rundt omkring 100 grader til højre eller venstre, og den gør det hvis den får besked på det gennem ledningerne. Man kan altså programmere en chip (det kommer vi til) til at sige til servoen "nu skal du dreje lidt til højre", eller "nu skal du stille dig præcist her". Og det betyder altså at man kan få et program til at udføre en fysisk handling, hvilket jo er temmeligt praktisk når man bygger robotter :)
Der er altid 3 ledninger til en servo: 2 som giver den strøm, og 1 som giver den et signal om hvor den skal stå. Servoerne bruges også i større modelfly, radiostyrede biler med videre - der får de bare signalet et andet sted fra.


how_20to_20start_20a_20robot_html_m635aebaf.jpg

1 Sharp GP2D120 IR Sensor - 11.5" / Analogue

Den kan fås her

Vær sikker på at når du køber den, at den så kommer med ledninger (typisk hvid, sort, rød). De følger nemlig ikke altid med, og stikket til den er ikke standard, så det er noget rod kun at have dimsen, men ikke kunne sætte strøm til den :)

Denne dims har 2 "øjne". Det ene udsender en usynlig infrarød lyskegle,som så skinner ud på ting foran den. Den anden registrerer genskæret fra det. På den måde (kort fortalt) kan dimsen se hvor langt der er til ting foran den. Ligesom servoen har den 2 ledninger (2 til at give den strøm, og en til signalet) - og den får så strøm, og kan fortælle din "Chip" (Microcontroller) hvor langt ting er foran den.

Denne Sharp er meget udbredt fordi den er så billig, og meget let at forstå og arbejde med. Den har dog nogle problemer; Den er ikke så præcis at det gør ondt, og værst af alt har den det problem at kmmer tingene tættere på end omkring 5-10 CM, så syntes den pludseligt at de er langt væk.

Derfor bruger jeg selv oftest en anden sensor i stedet for denne Sharp Infrarød. Min favorit er en ultralydssensor, ved navn SRF05. Hvis du føler dig lidt modig, og gerne vil lave en lidt mere avanceret, og lidt dyrere robot, kan du kaste dig ud i at købe en SF05 i stedet for en Sharp IR. Du kan få en SRF05 her, i picaxe-forretningen

Hvis du vælger SRF05 skal du have lidt andre instruktioner til hvordan den forbindes, og dem kan du finde her:a small walkthrough to connecting the SRF05


 

how_20to_20start_20a_20robot_html_476a7702.jpg

2 Gearede motorere med tilhørende hjul.

Som du kan læse her, kan du ikke bare bruge en motor med hjul. Der skal være gear på.

Jo højere gear-ratio, des stærkere, men langsommere robot. Jeg anbefaler dig at finde en gearbox med en gearing på et sted mellem 120:1 til 210:1 til et projekt som dette. Årsagen til at robotten på videoen (se helt øverst) er så langsom er, at den har en høj ratio. Men det gør det lettere at følge med og forstå hvad der sker. Og det er faktisk sjovest for din første robot.

Du kan bestille et sæt her


Det var sådan set det.

Men.. du skal også bruge:

  • Noget dobbeltklæbende tape. Det fås eksempelvis i malerforrteninger. Det er den slags som er lavet af noget blødt skum, med klister på begge sider som du skal bruge - ikke det uden skum, det flade, som man sætter tæpper fast med, det er lidt for svært at få til at virke.
  • Nogle små (og helst lidt tynde) stykker ledning
  • Måske noget almindeligt tape / klisterpapi/elefanttape (Bare fordi det altid er godt)
  • En loddekolbe og noget loddetin (hvis ikke du har prøvet at lodde før, er der instruktioner her)
  • En amindelig saks
  • Skruetrækkere
  • En PC (med Windows) til at programmere robotten fra (du får programmer med i Picaxe starter pack, og de kan i øvrigt downloades gratis)


Hvis du vil forkæle dig selv, køber du også lige en ordentlig håndfuld af disse: female to female jumpers. Det er på ingen måde nødvendigt, men det gør ting utroligt meget lettere og hurtigere at arbejde med.


Du KAN også købe ting som disse hvis du har lyst til lidt ekstra, når nu du alligevel bestiller:

Her er om hvordan du kan finde manualer til Picaxe.


OK! Du har fået varerne hjem, lad os komme i gang med det sjove :)

how_20to_20start_20a_20robot_html_m7c8c0419.jpg

Har du købt hjul og gearede motorer, skal hjulene sættes på.


how_20to_20start_20a_20robot_html_m7d73a855.jpg

Den robot vi laver her har ikke noget stel - vi sætter bare det hele sammen med det dobbeltklæbende tape.


how_20to_20start_20a_20robot_html_34acc71f.jpg

Sæt batterier i den batteri-clip som fulgte med din Picaxe start-pakke, så du kan få en realistisk idé om vægten. Hvis du fik en pakke med plads til kun 3 batterier er det fint, men du må lige selv finde på måder at sætte tingene sammen - se de 2 billeder herunder for inspiration, og for at forstå hvad det er vi skal opnå. Det hele sættes bare sammen med dobbeltklæbende tape, men du kan også sætte det fast på en malerpind, eller andet du har.


how_20to_20start_20a_20robot_html_m42a09ec4.jpg

how_20to_20start_20a_20robot_html_m73a2485f.jpg

Det vigtigste er at vi har delene samlet: Servo, batterier, og hjulene. Hjul og servo skal kunne dreje rundt, og robotten skal kunne stå på sine hjul - gerne balancere (fordi batterierne ligger nederst) men det gør ikke noget hvis den skulle hælde bagud og hvile på bagdelen, så længe den ikke tipper forover.


Tag batterierne ud for at undgå at du lige kortslutter noget ved en fejl.


how_20to_20start_20a_20robot_html_m47be8185.jpg

Og nu til hjernen!

Du skulle gerne have en printplade magen til den på billedet.

(Du kan lære mere om den her: http://letsmakerobots.com/node/75)

Der sidder en chip i den. Tag den ud. Den er en såkaldt "Darlington Driver", som er en slags forstærker så der kan komme mere strøm ud af chippen. Den er ret praktisk placeret der for mange ting, men vi skal ikke bruge den i dette projekt, ud med den.

Det er lettest at tage chips ud af sokler ved at taage en lille flad skruetrækker, og file den ind under i den ene ende, og så lige så stille løfte op fra midten.


how_20to_20start_20a_20robot_html_291efe75.jpg

En ny og ubrugt chip passer som regel ikke ned i soklen, fordi benene stikker for meget ud til hver side. En let måde at få alle benene til at passe ned, er at bøje dem alle ned mod en bordplade. Det er meget vigtigt at alle benene ryger ned i soklerne!

Med i dit Picaxe starter-pack kom en lang chip, det er selve microcontrolleren, hjernen. Den får strøm fra printpladens kredsløb, og kan sende strøm ud og ind som du programmerer den (senere). 

i den ene ende f microcontrolleren er der et lille mærke, en halvcirkel. Og.. det er der også i soklen. De skal passe sammen / microcontrolleren skal vende den vej. Sådan er det altid, når en chip har sådan et lille mærke, og det har de næsten altid.

Hvis du købte "Servo upgrade", fik du en lille gul chip med. den skal sidde der hvor du tog den anden op. Bemærk at den ikke er lang nok til at fylde alle hullerne, og sådan skal det være. Se billedet hvilket sæt af huller den ikke skal ned i.

Den gule chip er faktisk bare det samme som 8 330 ohms modstande. Hvis ikke du ved hvad det betyder er det lige meget.

Men hvis du gør, og hvis du i stedet for den vælger at bruge en modstand, kan du bare putte den (eller dem - en for hver servo du vil have tilsluttet) ned, som vist på billedet.

how_20to_20start_20a_20robot_html_2060dd0.jpg


how_20to_20start_20a_20robot_html_m8e36525.jpg


Du købte også en L293D motor-controller - den skal i det sidste hul. Se til at den vender rigtigt!

Dens funktion er at tage 4 output fra microcontrolleren, og gøre dem til 2. Det lyder måske som en dårlig idé, men det er nu ret hensigtsmæssigt; Microcontrolleren kan kun sende strøm ud, eller lade være, når den skal tænde eller slukke en motor. Den kan ikke finde ud af at vende strømmen om - og det er nødvendigt for at få en motor til at køre baglæns!

Hvis ikke din robot's motorer kan køre baglæns, får du nemlig et problem når den kommer hen til en mur :)

Så ved at sende strøm fra 4 output ud til motor-controlleren, kan du styre den til at sende strøm ud til 2, som kan vendes om ved at kombinere dem.. Mere om det senere :)

Lige en note; Du tænker måske, at dine motorer jo da har i alt 4 steder at tilslutte strøm, så hvordan kan "2 output" være nok? Forklaringen er, at der altid er det man kalder "stelforbindelse", eller "0", eller "G", eller "- (minus)" - det er typisk en sort ledning. Og alle komponenter der skla have strøm skal kun have 1 ledning.. den anden er implicit "-", den trækker man bare et sted fra - motor controlleren gør det selv, og så kan den altså spytte 4 ledninger ud - selvom det reelt kun er 2 output den leverer, 2 output som den kan vende om, så motoren kører baglæns. Hvis ikke du allerede har kigget på det, kan du læse mere om de ting her.

Din printplade er sat så smart sammen, at de 2 (gange 2) motor-output som kommer fra motor-controlleren du lige har sat i, kommer ud i deres eget lille system; De 2 små områder markeret A & B, lige ved siden af motor-controlleren. Mere om det lige om lidt.


how_20to_20start_20a_20robot_html_m5e197d54.jpg

På bagsiden af din printplade er der muligvis nogle underlige røde stykker plastik. De skal bare tages af. De sidder der på grund af den måde kortet blev lavet på, man dypper det hen over noget flydende tin, og der hvor der ikke skal sætte sig tin har man sat det plastik.


how_20to_20start_20a_20robot_html_78bf680a.jpg
Dine motorer skal til sluttes A & B. Du kan gøre det på den pøne måde ved at lodde nogle pinde ned i hullerne, og sætte "female headers" på hvis du har de ting.. eller du kan gøre det lidt mere hurtigt og en anelse mere fusket, som jeg gør her - sæt 4 ledninger ned, og lod dem fast :)


how_20to_20start_20a_20robot_html_m47e92c89.jpg

Hvis du skulle ligge inde med noget af det såkaldte krympe-plastik, kan du smide det omkring, og kort varme det op med en lighter. Nej, det skrev jeg ikke noget om i indkøbslistn, men det er også pkkers dyrt.. for du kan lige så godt bare bruge tape her.. eller slet ingen ting, bare spring det over.

Det kan dog være en god idé at sørge for at ledningerne sidder godt samlet, så de ikke knækker af, hvis du vil bygge din robot om senere. 

how_20to_20start_20a_20robot_html_740b3260.jpg

Så skal motorerne loddes på. De 2 A sættes til den ene motor, og de to B- ledninger til den anden. det er lige meget hvordan tingen vender, så længe A går til den ene motor, og B til den anden.


how_20to_20start_20a_20robot_html_26eee1d6.jpg

how_20to_20start_20a_20robot_html_m6140e9be.jpg

Så skal vi have servoen tilsluttet.

Skulle du finde på at læse Picaxe manualerne, vil du med rædsel læse at det her slet ikke går; Der skal mindst 2 trømforsyninger til hvis du vil tilslutte en servo. men for at sige det kort er det ikke nødvendigt her - og jeg har bygget måske 30 robotter med det her, og det har aldrig været nødvendigt.

Hvis du ser på enden af servoen, vil du se, at den har et stik med 3 huller. Dem skal vi have til at sidde over nogen pinde. Det er her de små pinde fra "Servo upgrade pack" komemr ind i billedet. Læg mærke til at de bare kan knækkes over i mindre, hvis du fik dig en lang række.

Der skal loddes mindst en ekstra pind på - til output "0", som er den vi vil bruge her. Se billedet.

Hvis din servo har Sort, Rød, Hvis, eller Sort, Rød Gul, skal den sorte være yderst, mod kanten af printpladen. (Det er minus)

De forskellige servo-fabrikanter laver deres egne systemer, men ledetråden er normalt den røde. Den refereres til / kaldes forskelligt, men det er der strøm kommer fra. Den er modsat den sorte (minus), og kaldes eksempelvis (“V”, “V+”, “+”, “1”).

Den sorte (eller brune i mit tilfælde) er G, or (“G”, “0”, “-” osv - kært barn mange navne).

Den sidste ledning er så "signalet". Den ledning som Microcontrolleren bruger til at fortælle servoen hvor den skal stå eller gå hen til /dreje rundt til. Den er typisk hvid, orange eller gul.


how_20to_20start_20a_20robot_html_m50796509.jpg

how_20to_20start_20a_20robot_html_2805b34a.jpg

Så skal vi have tilsluttet "Hovedet", Sharp IR-sensoren.

(Hvis du i stedet valgte en SRF005 kan du her læse hvordan den tilsluttes)


Der er en million forskellige måder at tilslutte din IR sensor. Som du har lært, har den 2 ledninger til strøm, og en som er signalet. Signalet skal ind i en såkaldt analog port på din microcontroller. Så får microcontrolleren alt fra ingen til fuld strøm, og det laver den om til et tal som du kan bruge inde i dens hjerne som du programmerer :)

Her er en måde at tilslutte.

Rød er til +, og sort er til -, hvid er signal. Men hvordan sætter man det lige sammen?

Hvis du læser dokumentationen til din printplade (your project board), kan du også læse om hvordan du kan tilslutte et bredkabel (ribbon cable), og hvilke ledninger der så fører til hvad. Den vej kan du gå. Jeg gør noget andet her, fordi det er lettere at vise på billeder.

Det jeg har gjort på billederne er faktisk at skære en ledning af en gammel servo, og så bruger jeg dens stik til at forbinde ned til den analoge port.

Du kan bruge billedet til aflæse hvilke ledninger fra din Sharp der skal til hvad på printpladen - hvordan du så end forbinder sagerne :)

(Syntes du det er helt skørt at der ikke er mere nøjagtige anvisninger, KAN du altså også tage printpladen ned i din lokale hobby-elektronik-forretning, og bede dem sælge dig et eller andet stik til at sætte tingne sammen med - det er helt standard størrelser, jeg vil bare hjælpe tid til at gøre et selv og spare lidt her)

Hvordan du end gør det, skal de 3 ledninger fradin Shapr ned til de 3 pinde som vist. Hvis der mangler en pind, kan du bruge en fra din "Servo Upgrade Pack" og lode den på.

Det kan også være en RIGTIG god idé at forbinde de resterende 3 analoge input med "sig selv". Som du kan se på nederste billede har jeg gjort det ved at sætte såkaldte "jumpers" over. Bruger du ribbon/fladkablet, kan du sætte de resterende ledninger sammen, så du får det samme resultat. Du kan også sætte en ond klat loddetin hen over hvert par ben, men det anbefales nu ikke, da det så kan være svært at få noget andet på bagefter.

De der "jumpers" som jeg har sat på kan man få i elektronikforretninger.. men har du adgang til en genbrugsplads, kan du finde dem inde i gamle PCer, de sidder alle mulige steder, lige til at hapse.

Grunden tll at det kan være en god idé at "kortslutte" dem (parvis) er, at de ellers "står og danser" - man siger på Engelsk, at de er "left floating". Det betyder kort sagt at de ikke har noget at måle på, og det kan betyde at de virker forstyrrende på den ene port du rent faktisk gerne vil måle på.. for nu at sige det kort.

Du kan prøve uden først, men får du mærkelige resultater, kan det være årsagen :)


how_20to_20start_20a_20robot_html_m1f41e5b8.jpg

Så skal vi have det sjovt! Det svære er overstået!

Nu skal du have strømmen fra dine batterier (batteri-pakken) sluttet til printpladen. Hvis du har købt Picaxe starter pack, vi lder være clips på begge dele, og det er bare at slutte dem sammen.

Installer programmet du fik med din Picaxe starter pack på din PC, følg anvisningerne til at få din computer til at genkende dit stik (USB eller Seriel), stik jackstikket i din robot (som stadig ikke har noget hovede), og skriv følgende iPicaxe editoren:

servo 0, 150

Tryk på F5, og vent på at programmet overføres fra din computer til robotten. Derefter går robotten i gang. Det eneste den har fået besked på, er at servoen skal gå om til "150", og det er midten. Så hvis den allerede var der, sker der ingenting. Hvis ikke, vil den dreje derhen.

For at teste lidt, skriv i stedet dette i din editor, og tryk F5:

servo 0, 200

Nu burde servoens plade dreje lidt, og stoppe.


For at få den tilbage til midten, skriv igen

servo 0, 150

og tryk på F5


Nu står din robot's "hals" i midten. tag noget tape, og sæt robottens hovede på, så det peger lige ud..


how_20to_20start_20a_20robot_html_4756dc4b.jpghow_20to_20start_20a_20robot_html_5cd20d4.jpg

"Hej verden, jeg er en nyfødt robot, klar til at tage imod ordrer og udforske verden :)"

Du har lavet en robot!! :) Tillykke, lad os få den programmeret!


Det kan jo være at du har lavet ændringer i designet i forhold til hvad jeg har foreslået.. men her er nogle ideer til at komme i gang med programmeringen. De virker hvis din robot er sat sammen lige som min.

Kopier det der står med fed herunder ind i din editor, og tryk F5


+++

main:

readadc 1, b1 ' takes the voltage returned to analogue pin 1, and puts it into variable b1
debug ' this draws out all variables to the editor. Set it to “Byte” if it is on “Word”
goto main


+++
Mens jackstikket endnu sidder i, kan du nu prøve at bevæge din hånd hen foran robotten. Læg mærke til hvordan "b1" ændrer værdi.

Den viden kan du bruge til at fortælle robotten at den skal gøre det og det, når noget er der og der..


Så er det nok en god idé at sætte din robot op på en tændstiksæske eller lignende, for nu skal vi have hjulene til at spinne:

Kopier det der står med fed herunder ind i din editor, og tryk F5



+++

high 4

low 5


+++

Nu skulle et af hjulene dreje i den ene retning. Drejer de på en måde så robotten ville køre fremad i den side? I så fald er det de to pinde som du lige har sat "high" som er dem der går ind i motor-controlleren og får den til at dreje det hjul fremad.


For at få det til at dreje den anden vej kan du skrive

+++

low 4

high 5


+++

For at dreje det andet hjul kan du skrive

high 6

low 7


(og den anden vej for at få hjulet til at dreje den anden retning.)

Servoen har du jo allerede prøvet..

Hvis du vi lhave den til at dreje hele vejen til den ene side, kan du skrive:

servo 0, 75

Den anden side er:

servo 1, 225

- og i midten:

servo 1, 150

Her er et lille program der gerne skulle få din robot til at køre, stoppe foran ting, kigge til hver side, vælge hvor der er mest plads, og så køre i den retning.

Prøv at kigge på programmet. De steder hvor der står et ' foran en sætning, betyder det, at det bare er bemærkninger. Du kan roligt tage dem med, alt der står efter ' bliver ignoreret.

Nu skal du til at rode lidt med tingene - og det er med vilje at jeg smider dig på lidt dybt vand; Prøv at lægge programmet ind.. og så er jeg sikker på at det ikke bare virker 100% (med mindre du er lidt for heldig) - der er nemlig sikkert steder hvor der står de forkerte instruktioner i forhold til at få robotten til at køre frem og tilbage med hjulene.. Det er fordi jeg ikke kan vide hvordan du har vendt motorne.. men prøv at rette lidt i tingene, og se om ikke det giver mening :)


+++

Symbol dangerlevel = 70 ' how far away should thing be, before we react?
symbol turn = 300 ' this sets how much should be turned
symbol servo_turn = 700 ' This sets for how long time we should wait for the servo to turn (depending on it´s speed) before we measure distance

main: ' the main loop
readadc 1, b1 ' read how much distance ahead
if b1 < dangerlevel then
gosub nodanger ' if nothing ahead, drive forward
else
gosub whichway ' if obstacle ahead then decide which way is better
end if
goto main ' this ends the loop, the rest are only sub-routines


nodanger:' this should be your combination to make the robot drive forward, these you most likely need to adjust to fit the way you have wired your robots motors
high 5 : high 6 : low 4 : low 7
return


whichway:
gosub totalhalt ' first stop!

'Look one way:
gosub lturn ' look to one side
pause servo_turn ' wait for the servo to be finished turning
gosub totalhalt
readadc 1, b1

'Look the other way:
gosub rturn ' look to another side
pause servo_turn ' wait for the servo to be finished turning
gosub totalhalt
readadc 1, b2

' Decide which is the better way:
if b1<b2 then
gosub body_lturn
else
gosub body_rturn
end if
return

body_lturn:
high 6 : low 5 : low 7 : high 4 ' this should be your combination that turns the robot one way
pause turn : gosub totalhalt
return

body_rturn:
high 5 : low 6 : low 4 : high 7 ' this should be your combination that turns the robot the other way
pause turn : gosub totalhalt
return

rturn:
servo 0, 100 ' look to one side
return

lturn:
servo 0, 200 ' look to the other side
return

totalhalt:
low 4 : low 5 : low 6 : low 7 ' low on all 4 halts the robot!
Servo 0,150 ' face forward
wait 1 ' freeze all for one second
return

+++

Det er et lille simpelt program som gerne skulle give dig inspiration til at prøve alt muligt af. Du kan ikke ødelægge noget ved at skrive noget forkert, så bare prøv dig frem.

 

Lyd:


Du kan også tilslutte en højttaler - eksempelvis til digital out 1, og - (følg nogle af linksene herover hvis ikke du ved hvad jeg mener) - og så skrive

Sound 1, (100, 5) low 1


- eller inde i selve programmet prøve at skrive

Sound 1, (b1,5) low 1




Du kan også tilslutte en lysdiode til digital out 2 & -, og skriv (læg mærke til at lysdioder skal vende den rigtige vej)

High 2

for at tæne den, og

Low 2

for at slukke den ;)

 


- Du kan jo også prøve at tilslutte en laser-pegepind som du har skildt ad, eller en ekstra servo.. Eller en laser på en servo.. eller noget helt tredie :) Du kan faktisk det hele nu :)

Mvh Frits Lyneborg

 

Hvis du skulle have spørgsmål, vil jeg bede dig skrive dem på Engelsk, og gøre det på letsmakerobots.com - på den måde deltager du i et helt "community", hvor du faktisk også hjælper andre ved at blive hjulpet, for de kan læse dine spørgsmål, og andre end mig kan svare osv.