Hoe een robot thuis te bouwen
Wil je leren hoe je je eigen robot kunt bouwen? Er zijn veel verschillende soorten robots die je zelf kunt maken. De meeste mensen willen zien dat een robot de eenvoudige taken uitvoeren van het verplaatsen van punt A tot punt B. U kunt een robot volledig maken van analoge componenten of een startkit opnieuw kopen! Het bouwen van je eigen robot is een geweldige manier om jezelf zowel elektronica als computerprogrammering te leren.
Stappen
Deel 1 van 6:
Monteren van de robot1. Verzamel je componenten. Om een basisrobot te bouwen, heb je verschillende eenvoudige componenten nodig. Je kunt het meest vinden, zo niet alles, van deze componenten op je lokale elektronica-hobbywinkel of verschillende online retailers. Sommige basiskits kunnen ook al deze componenten omvatten. Deze robot vereist geen soldeer:
- Arduinino Uno (of andere microcontroller)
- 2 continue rotatie-servo`s
- 2 wielen die passen bij de servo`s
- 1 Caster-roller
- 1 kleine soldeerloze breadboard (zoek naar een breadboard met twee positieve en negatieve lijnen aan elke kant)
- 1 afstandssensor (met vier-pins connectorkabel)
- 1 mini-drukknopschakelaar
- 1 10KΩ Weerstand
- 1 USB A tot B-kabel
- 1 set van scheidingskoppen
- 1 6 x AA-batterijhouder met 9V DC Power Jack
- 1 pak jumperdraden of 22-gauge aansluitdraad
- Sterke dubbelzijdige tape of hete lijm

2. Draai het batterijpak om, zodat de platte rug naar boven wordt gericht. Je bouwt het lichaam van de robot met behulp van de batterij als basis.

3. Lijn de twee servo`s aan het einde van het batterijpakket uit. Dit moet het einde zijn dat de draad van het batterijpak uit de servo`s komt, de bodems aanraken, en de roterende mechanismen van elk moeten worden geconfronteerd met de zijkanten van het batterijpakket. De servo`s moeten goed zijn uitgelijnd, zodat de wielen recht gaan. De draden voor de servo`s moeten van de achterkant van het batterijpakket komen.

4. Bevestig de servo`s met uw tape of lijm. Zorg ervoor dat ze stevig aan het batterijpak zijn bevestigd. De ruggen van de servo`s moeten gelijk worden uitgelijnd met de achterkant van het batterijpakket.

5. Bevestig het breadplank loodrecht op de open ruimte op het batterijpakket. Het moet net een beetje over de voorkant van de batterij hangen en zal verder gaan dan elke kant. Zorg ervoor dat het veilig is vastgemaakt voordat u doorgaat. De "EEN" rij zou het dichtst bij de servo`s moeten zijn.

6. Bevestig de Arduino Microcontroller aan de toppen van de servo`s. Als je de servo`s op de juiste manier hebt bijgevoegd, moet er een platte ruimte zijn gemaakt door ze aanraken. Plak het Arduino-bord op deze platte ruimte, zodat de USB- en Power-connectoren van de Arduino naar de achterkant staan (weg van het breadboard). De voorkant van de Arduino moet gewoon het breadboard nauwelijks overlappen.

7. Zet de wielen op de servo`s. Druk de wielen stevig op het roterende mechanisme van de servo. Dit kan een aanzienlijke hoeveelheid kracht vereisen, aangezien de wielen zijn ontworpen om zo strak mogelijk te passen voor de beste tractie.

8. Bevestig de caster aan de onderkant van het breadboard. Als u het chassis omdraait, moet u een beetje breadboard zien dat zich voorbij het batterijpak uitstrekt. Bevestig de caster aan dit verlengde stuk, met behulp van risers indien nodig. De caster handelt als het voorwiel, waardoor de robot gemakkelijk in willekeurige richting kan worden ingeschakeld.
Deel 2 van 6:
Bedrading van de robot1. Breek twee 3-pins headers af. Je zult deze gebruiken om de servo`s aan te sluiten op het breadboard. Duw de pennen door de koptekst, zodat de pennen aan beide zijden op een gelijke afstand komen.

2. Steek de twee headers in pins 1-3 en 6-8 op rij E van het breadboard. Zorg ervoor dat ze stevig zijn ingevoegd.

3. Sluit de servokabels aan op de headers, met de zwarte kabel aan de linkerkant (PINS 1 en 6). Dit sluit de servo`s aan op het breadboard. Zorg ervoor dat de linker servo is aangesloten op de linkerkop en de rechter servo naar de rechterkop.

4. Sluit rode jumperdraden aan van pins C2 en C7 naar rode (positieve) spoorspelden. Zorg ervoor dat u de rode rail op de achterkant van het breadboard gebruikt (dichter bij de rest van het chassis).

5. Sluit zwarte jumperdraden aan uit pins B1 en B6 naar Blue (Ground) Rail Pins. Zorg ervoor dat u de blauwe rail op de achterkant van het breadboard gebruikt. Sluit ze niet aan in de rode spoorspelden.

6. Verbind witte jumperdraden van pinnen 12 en 13 op de Arduino naar A3 en A8. Hierdoor kan de Arduino de servo`s besturen en de wielen draaien.

7. Bevestig de sensor aan de voorkant van de breadboard. Het wordt niet aangesloten op de buitenste power-rails op het breadboard, maar in plaats daarvan in de eerste rij van letters (J). Zorg ervoor dat u het in het exacte centrum plaatst, met een gelijk aantal pinnen beschikbaar aan elke kant.

8. Sluit een zwarte jumperdraad van PIN I14 aan op de eerste beschikbare blauwe spoorspeld aan de linkerkant van de sensor. Dit zal de sensor worden gemalen.

9. Sluit een rode jumperdraad van PIN I17 aan op de eerste beschikbare rode spoorspeld rechts van de sensor. Dit zal de sensor voeden.

10. Sluit witte jumperdraden aan van PIN I15 naar PIN 9 op de Arduino en van I16 tot PIN 8. Dit zal informatie van de sensor naar de microcontroller voeden.
Deel 3 van 6:
Bedrading van de kracht1. Draai de robot op zijn kant zodat u de batterijen in het pakket kunt zien. Oriënteer het, zodat de batterijpakkabel aan de linkerkant naar links komt.

2. Sluit een rode draad aan op de tweede bron van links op de onderkant. Zorg ervoor dat het batterijpakket correct is georiënteerd.

3. Sluit een zwarte draad aan op de laatste lente aan de rechtsonder. Deze twee kabels helpen de juiste spanning aan de Arduino.

4. Sluit de rode en zwarte draden aan op de verre rechter en blauwe pinnen op de achterkant van het breadboard. De zwarte kabel moet worden aangesloten op de blauwe spoorspeld bij PIN 30. De rode kabel moet worden aangesloten op de rode spoorspeld bij PIN 30.

5. Sluit een zwarte draad aan van de GND-pin op de Arduino naar de Back Blue Rail. Sluit het aan op PIN 28 op de blauwe rail.

6. Sluit een zwarte draad aan van de blue rail naar de voorste blauwe rail op PIN 29 voor elk. Doen niet Sluit de rode rails aan, omdat u de Arduino waarschijnlijk zult beschadigen.

7. Sluit een rode draad aan van de voorkant Rode rail bij PIN 30 naar de 5V-pin op de Arduino. Dit biedt de macht aan de Arduino.

8. Plaats de drukknopschakelaar in de kloof tussen rijen op pinnen 24-26. Met deze schakelaar kunt u de robot uitschakelen zonder de stroom te hoeven loskoppelen.

9. Sluit een rode draad van H24 aan op de rode rail in de volgende beschikbare PIN rechts van de sensor. Hiermee wordt de knop uitgeschakeld.

10. Gebruik de weerstand om H26 aan te sluiten op de blauwe rail. Verbind het met de pincode direct naast de zwarte draad die u een paar staand geleden hebt aangesloten.

11. Sluit een witte draad aan van G26 tot PIN 2 op de Arduino. Hierdoor kan de Arduino de drukknop registreren.
Deel 4 van 6:
De Arduino-software installeren1. Download en haal de arduino ide uit. Dit is de Arduino-ontwikkelingsomgeving en stelt u in staat om instructies te programmeren die u vervolgens kunt uploaden naar uw Arduino Microcontroller. Je kunt het gratis downloaden van Arduino.CC / NL / MAIN / SOFTWARE. UNZIP het gedownloade bestand door erop te dubbelklikken en de map naar binnen te verplaatsen naar een gemakkelijke toegangslocatie. U zult het programma niet echt installeren. In plaats daarvan loop je het gewoon vanuit de geëxtraheerde map door te dubbelklikken Arduino.exe.

2. Sluit het batterijpakket aan op de Arduino. Sluit de batterij terug in de connector op de Arduino om het kracht te geven.

3. Sluit de Arduino aan op uw computer via USB. Windows zal het apparaat waarschijnlijk niet herkennen.

4. druk op . ⊞ WIN+R en type devmgmt.MSc. Dit start de apparaatbeheerder.

5. Klik met de rechtermuisknop op de "Onbekend apparaat" in de "Andere apparaten" sectie en selecteer "Update stuurprogramma-software." Als u deze optie niet ziet, klikt u op "Eigendommen" Selecteer in plaats daarvan de "Bestuurder" tabblad en klik vervolgens op "Update driver."

6. Selecteren "Blader door mijn computer voor stuurprogramma-software." Hiermee kunt u de bestuurder selecteren die bij de ARDUINO IDE kwam.

7. Klik "Browsen" Navigeer vervolgens naar de map die u eerder hebt geëxtraheerd. Je zult een vinden "bestuurders" map binnen.

8. Selecteer de "bestuurders" map en klik "OK." Bevestig dat u verder wilt als u gewaarschuwd bent voor onbekende software.
Deel 5 van 6:
Programmeren van de robot1. Start de ARDUINO IDE door te dubbelklikken op de Arduino.exe Bestand in de IDE-map. Je wordt begroet met een leeg project.

2. Plak de volgende code om uw robot recht te laten gaan. De onderstaande code maakt uw Arduino voortdurend vooruit.
#Include // Dit voegt de "Servo" Bibliotheek naar het programma // Het volgende creëert twee servo-objectenservo linksmotor-servo-rechtsmotor-void setup () {linkermotor.Bevestig (12) - // Als u per ongeluk de pincodes voor uw servo`s hebt ingeschakeld, kunt u de nummers Hererightmotor ruilen.Bevestig (13) -} void-lus () {linkermotor.Schrijf (180) - // met continue rotatie, 180 vertelt de servo om op volle snelheid te bewegen "vooruit."rechtmotor. Schrijf (0) - // Als beide op 180 zijn, gaat de robot in een cirkel omdat de servo`s worden omgedraaid. "0," vertelt het om de volle snelheid te verplaatsen "achterwaarts."}

3. Bouw en upload het programma. Klik op de knop Pijl naar rechts in de linkerbovenhoek om het programma op te bouwen en te uploaden naar de aangesloten Arduino.

4. Voeg de dodenschakelaar-functionaliteit toe. Voeg de volgende code toe aan de "void-lus ()" deel van uw code om de killschakelaar in te schakelen, boven de "schrijven()" functies.
if (DigitalRead (2) == HIGH) // Deze registers wanneer de knop op PIN 2 van de Arduino {TIJDEN (1) {linkermotor wordt ingedrukt.Schrijf (90) - // "90" is neutrale positie voor de servo`s, die hen vertelt om turningrightmotor te stoppen.Schrijf (90) -}}

5. Upload en test uw code. Met de Code Doodschakelaar toegevoegd, kunt u de robot uploaden en testen. Het moet doorgaan met rijden totdat u op de schakelaar drukt, op welk punt het stopt met bewegen. De volledige code moet er als volgt uitzien:
#Include // Het volgende creëert twee servo-objectenservo linksmotor-servo-rechtsmotor-void-setup () {linkermotor.Bevestig (12) -rightmotor.Bevestig (13) -} void lus () {if (digitalread (2) == hoog) {while (1) {linkermotor.Schrijf (90) -rightmotor.Schrijf (90) -}} linksmotor.Schrijf (180) -Rechtmotor.Schrijf (0) -}
Deel 6 van 6:
Voorbeeld1. Een voorbeeld volgen. De volgende code gebruikt de sensor die aan de robot is bevestigd om het naar links te laten gaan wanneer deze een obstakel tegenkomt. Zie de opmerkingen in de code voor meer informatie over wat elk onderdeel doet. De onderstaande code is het hele programma.
#Include Servo Leftmotor-Servo Rechtmotor-Cont Int Serialperiod = 250 - // Dit limieten uitvoer naar de console tot een keer per 1/4 secundunesigned Long TimeserioDelay = 0-const int Loopperiod = 20 - // Hiermee zet dit hoe vaak de sensor een Lezen tot 20ms, wat een frequentie is van 50hzunsigned Long TimeLoopDelay = 0 - // Dit wijst de trig- en echo-functies toe aan de pinnen op de Arduino. Maak aanpassingen aan de cijfers hier als u anders verbonden met Const UltraSonic2trigPin = 8-const int ultrasonic2echopin = 9-int ultrasonic2Distance-int ultrasonic2duration - // Dit definieert de twee mogelijke staten voor de robot: naar voren rijden of links draaien # Define Turn_LEFT1INT definiëren Staat = Drive_Forward- // 0 = Drive Forward (standaard), 1 = Turn LeftVoid Setup () {Serial.Begin (9600) - // Deze sensorpenconfiguratiesPinmode (ultrasonic2trigpin, output) -Pinmode (ultrasonic2echopine, invoer) - // Dit wijst de motoren toe aan de Arduino Pinsliefmotor.Bevestig (12) -rightmotor.Bevestig (13) -} Void Loop () {{@ (DigitalRead (2) == HIGH) // Dit detecteert de kill-schakelaar {TERWIJL (1) {linkermotor.Schrijf (90) -rightmotor.Schrijf (90) -}} Debugoutput () - // Dit drukt het debuggen van berichten naar de seriële consoleF (Millis () - Timeloopdelay >= LUSPERIOD) {ReadultrasonicSsors () - // Dit instrueert de sensor om de gemeten distanceStatemachine () - timeloopdelay = millis () -}} void statemachine () {}}}}}}} te lezen {if (ultrasonic2distance > 6 || Ultrasonic2Distance < 0) // Als er niets voor de robot is. UltrasonicDistance is negatief voor sommige ultrasonica als er geen obstakel is {// Drive ForwardRightmotor.Schrijf (180) -Leftmotor.Schrijf (0) -} else // Als er een object voor ons is {State = Turn_left -}} anders als (status == turn_left) // als een obstakel wordt gedetecteerd, sla linksaf {Unsigned Long TimetTOTURLFLEFT = 500- / / het duurt rond .5 seconden om 90 graden te draaien. Mogelijk moet u dit aanpassen als uw wielen een andere grootte zijn dan de expressunesigned lange turnstarttime = millis () - // redden de tijd die we begonnen te draaien ((Millis () - TurnstartTime) < Timetoturnleft) // Blijf in deze lus totdat Timetoturnleft is verstreken {// Sla linksaf, onthoud dat wanneer beide zijn ingesteld op "180" het zal draaien.rechtmotor.Schrijf (180) -Leftmotor.Schrijf (180) -} State = Drive_Forward -}} Void ReadultrasonicSsors () {// Dit is voor ultrasone 2. Mogelijk moet u deze opdrachten wijzigen als u een andere sensor gebruikt.DigitalWrite (Ultrasonic2trigpin, High) -DelayMicRoseconden (10) - // Houdt de Trig Pin High voor ten minste 10 MicrosecondsdigitalWrite (ultrasonic2trigpin, low) -ultrasonic2duration = pulsein (ultrasonic2echopine, hoog) -ultrasonic2distance = (ultrasonic2duration / 2) / 29-} // Het volgende is voor foutopsporingsfouten in de console.Void DebugOUnput () {if ((Millis () - TimeserioDelay) > Serialperiod) {serieel.afdrukken("Ultrasonic2Distance: ") -Dere.Print (Ultrasonic2Distance) -Serial.afdrukken("cm") -Dere.Println () - TimeserioDelay = Millis () -}}
Video
Door deze service te gebruiken, kan sommige informatie worden gedeeld met YouTube.
Tips
Deel in het sociale netwerk: