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 robot
  1. Titel afbeelding 1123333 1
1. 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
  • Titel afbeelding 1123333 2
    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.
  • Titel afbeelding 1123333 3
    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.
  • Titel afbeelding 1123333 4
    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.
  • De servo`s moeten nu de rughelft van het batterijpak nemen.
  • Titel afbeelding 1123333 5
    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.
  • Titel afbeelding 1123333 6
    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.
  • Titel afbeelding 1123333 7
    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.
  • Titel afbeelding 1123333 8
    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.
  • Als u een set hebt gekocht, is de Caster mogelijk geleverd met een paar risers die u kunt gebruiken om ervoor te zorgen dat de Caster de grond bereikt. ik
  • Deel 2 van 6:
    Bedrading van de robot
    1. Titel afbeelding 1123333 9
    1. 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.
  • Titel afbeelding 1123333 10
    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.
  • Titel afbeelding 1123333 11
    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.
  • Titel afbeelding 1123333 12
    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).
  • Titel afbeelding 1123333 13
    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.
  • Titel afbeelding 1123333 14
    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.
  • Titel afbeelding 1123333 15
    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.
  • Titel afbeelding 1123333 16
    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.
  • Titel afbeelding 1123333 17
    9. Sluit een rode jumperdraad van PIN I17 aan op de eerste beschikbare rode spoorspeld rechts van de sensor. Dit zal de sensor voeden.
  • Titel afbeelding 1123333 18
    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 kracht
    1. Titel afbeelding 1123333 19
    1. 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.
  • Titel afbeelding 1123333 20
    2. Sluit een rode draad aan op de tweede bron van links op de onderkant. Zorg ervoor dat het batterijpakket correct is georiënteerd.
  • Titel afbeelding 1123333 21
    3. Sluit een zwarte draad aan op de laatste lente aan de rechtsonder. Deze twee kabels helpen de juiste spanning aan de Arduino.
  • Titel afbeelding 1123333 22
    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.
  • Titel afbeelding 1123333 23
    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.
  • Titel afbeelding 1123333 24
    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.
  • Titel afbeelding 1123333 25
    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.
  • Titel afbeelding 1123333 26
    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.
  • Titel afbeelding 1123333 27
    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.
  • Titel afbeelding 1123333 28
    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.
  • Titel afbeelding 1123333 29
    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 installeren
    1. Titel afbeelding 1123333 30
    1. 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.
  • Titel afbeelding 1123333 31
    2. Sluit het batterijpakket aan op de Arduino. Sluit de batterij terug in de connector op de Arduino om het kracht te geven.
  • Titel afbeelding 1123333 32
    3. Sluit de Arduino aan op uw computer via USB. Windows zal het apparaat waarschijnlijk niet herkennen.
  • Titel afbeelding 1123333 33
    4. druk op . ⊞ WIN+R en type devmgmt.MSc. Dit start de apparaatbeheerder.
  • Titel afbeelding 1123333 34
    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."
  • Titel afbeelding 1123333 35
    6. Selecteren "Blader door mijn computer voor stuurprogramma-software." Hiermee kunt u de bestuurder selecteren die bij de ARDUINO IDE kwam.
  • Titel afbeelding 1123333 36
    7. Klik "Browsen" Navigeer vervolgens naar de map die u eerder hebt geëxtraheerd. Je zult een vinden "bestuurders" map binnen.
  • Titel afbeelding 1123333 37
    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 robot
    1. Titel afbeelding 1123333 38
    1. Start de ARDUINO IDE door te dubbelklikken op de Arduino.exe Bestand in de IDE-map. Je wordt begroet met een leeg project.
  • Titel afbeelding 1123333 39
    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."}
  • Titel afbeelding 1123333 40
    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.
  • Misschien wilt u de robot van het oppervlak optillen, omdat het gewoon doorgaat om door te gaan zodra het programma is geüpload.
  • Titel afbeelding 1123333 41
    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) -}}
  • Titel afbeelding 1123333 42
    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:
    Voorbeeld
    1. 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:
    Vergelijkbaar