Stap 21: Heads up & go!
U heeft eigenlijk een robot. Nu de pret begint, kunt u het programma om te doen, en om het even wat aan het vastmaken, uit te breiden op enigerlei wijze. Ik weet zeker dat u al vol ideeën, en bent u waarschijnlijk niet te hebben gevolgd me alle deze manier ;)
Het ontwerp kan op hun hoede, mogelijk hebt u andere onderdelen etc gebruikt... Maar als u hebt aangesloten zoals beschreven, hier zijn enkele tips om te beginnen uw robot te programmeren:
(Kopie-plakken) Voer deze code in uw editor en druk op F5 terwijl de robot is verbonden:
Opmerking: De code ziet er een stuk mooier als je eenmaal het in de editor, het zal herkennen van opdrachten en geef ze kleuren.
+++
belangrijkste:
ReadADC 1, b1 ' neemt de spanning terug naar analoge pin 1, en zet het in variabele b1
debug ' Dit trekt uit alle variabelen aan de editor.
goto belangrijkste
+++
Neem uw hand voor de robot hoofd nu en hoe de variabele b1 de waarde verandert. U kunt de kennis opgedaan om te beslissen wat er moet gebeuren wanneer (hoe sluiten dingen moeten krijgen voordat..)
Nu adviseren ik u om te zetten uw robot op een luciferdoosje of gelijkaardig, zoals de wielen zal beginnen draaien.
(Kopie-plakken) Voer deze code in uw editor en druk op F5 terwijl de robot is verbonden:
+++
hoge 4
lage 5
+++
Een van de wielen moet in een bepaalde richting wenden. Draait je wielen naar voren? Zo ja, is dit de instructie voor dat wiel om te schakelen naar voren.
Als het wiel achteruit draait, kun je dit proberen:
+++
lage 4
hoge 5
+++
Schakel het andere wiel, moet u invoeren
hoge 6
laag 7
(of de andere manier rond voor de tegenovergestelde richting.)
De servo die u al hebt geprobeerd.
Helemaal aan de ene kant is:
Servo 0, 75
de andere zijde is:
Servo 1, 225
- en center:
Servo 1, 150
Hier is een klein programma dat zal (moeten, als alles goed is en u de juiste parameters voor hoog/laag aan de bedrading naar de motors) maken de robot rondrijden, halte voor dingen kijken naar iedere kant om te beslissen welke de beste is, zet op die manier en rijd richting nieuwe avonturen.
+++
Symbool dangerlevel = 70' hoe ver zijn moet, voordat we reageren?
Symbool beurt = 300' Hiermee wordt ingesteld hoeveel moet worden omgezet
Symbool servo_turn = 700' Dit stelt voor hoe lang we op de servo wachten moeten te schakelen (afhankelijk van de snelheid), voordat we de afstand meten
belangrijkste: ' de hoofdlus
ReadADC 1, b1 ' hoeveel afstand vooruit lezen
Als b1 < dangerlevel dan
GOSUB nodanger ' als niets vooruit, vooruit rijden
anders
GOSUB whichway ' als obstakel vooruit dan beslissen welke kant is beter
eind als
goto belangrijkste ' dit eindigt de lus, de rest zijn alleen subroutines
nodanger:' Dit moet uw combinatie te maken van de robot rijden vooruit, dit u waarschijnlijk wilt aanpassen aan de manier waarop u uw robots motoren hebben bedraad
hoge 5: hoge 6: lage 4: lage 7
terugkeer
whichway:
GOSUB totalhalt ' eerste stop!
' Unidirectioneel kijken:
GOSUB lturn ' kijken naar één kant
servo_turn onderbreken ' wachten voor de servo af draaien
GOSUB totalhalt
ReadADC 1, b1
' De andere kant opkijken:
GOSUB rturn ' kijken naar een andere kant
servo_turn onderbreken ' wachten voor de servo af draaien
GOSUB totalhalt
ReadADC 1, b2
' Beslissen welke is de betere manier:
Als b1 < b2 vervolgens
GOSUB body_lturn
anders
GOSUB body_rturn
eind als
terugkeer
body_lturn:
hoge 6: laag 5: laag 7: hoge 4' Dit moet uw combinatie die de robot unidirectioneel verandert
pauze beurt: gosub totalhalt
terugkeer
body_rturn:
hoge 5: lage 6: lage 4: hoge 7' Dit moet uw combinatie die de robot de andere kant verandert
pauze beurt: gosub totalhalt
terugkeer
rturn:
Servo 0, 100' kijken naar één kant
terugkeer
lturn:
Servo 0, 200' kijken naar de andere kant
terugkeer
totalhalt:
laag 4: laag 5: lage 6: lage 7' laag op alle 4 de robot stopt!
Servo 0,150' gezicht naar voren
1' bevriezen allemaal gedurende één seconde wachten
terugkeer
+++
Met sommige slimme programmering en tweaken, kunt de robot Drive, draai it´s hoofd, beslissingen, kleine aanpassingen, draai naar ⠀ holes†zoals deuropeningen, alle werken op hetzelfde moment, terwijl het drijven interessant. Het ziet er vrij koel als u de rotatie van de robot terwijl het hoofd draait ;)
Voor sommige meer geavanceerde code? Vink dit selectievakje aan: http://letsmakerobots.com/node/25
Geluid:
U kunt ook een kleine luidspreker tot voorbeeld (output) pin 1 & grond toevoegen en schrijven
Geluid 1 (100, 5)
- of er in het bovenstaande voorbeeldprogramma
Geluid 1, (b1, 5)
-grappige geluiden afhankelijk van de afstand tot objecten om vooruit te komen.
U kunt ook een lamp of LED hechten aan pin 2 & grond en schrijven (onthoud LED's nodig om de juiste manier omdraaien)
Hoog 2
inschakelen van de lamp, en
Laag 2
voor zwenking op vandoor ;)
-Hoe zit een Laser-pen, gemonteerd op een extra servo? Dan kon je de robot, schakelt de laser rond en het in- en uitschakelen, wijzen plaatsen...
- Een markeerteken toevoegen op het (misschien op een tweede servo, dus het in en uit het papier nemen kan?), en leren om te schrijven van het aantal keren dat u uw hand voor het op een stuk papier Golf.
- Zet hem in een "cat-get-down-from-the-chair"-guardian-robot, schudden wanneer de kat in de buurt komt.
- Het achtervolgen van een andere robot (of kat?) maken In sommige goede chase-routines krijgt u op deze manier!
- Maak het uitzoeken van het midden van een kamer
- Het fungeren als een muis; maken Bevriezen als er beweging in het zicht, en altijd dicht bij de muren bewegen en kleine gaten te gaan uitzoeken.
U kon ook een oude speelgoed-auto uit elkaar te halen, nemen uit de elektronica, de motoren en het keerpunt-apparaat, opslaan en haak uw bestuur, servo en sensor - u zal hebben gegeven leven aan uw voertuig :)
Ook proberen om te lezen een aantal van de documentatie zal, het zin nu dat je een voorsprong, kunt u nu iets doen!
Welkom in een erg grappig wereld van zelfgemaakte robots, er zijn duizenden sensoren en actuatoren enkel wachtend op u hen aansluiten en aanbrengen van robots uit hen :)
Nu neem enkele foto's van uw robot, en stuur ze naar me op letsmakerobots.com - C ya ;)