Sådan bygger du en robot derhjemme

Ønsker du at lære at bygge din egen robot? Der er mange forskellige typer af robotter, som du kan gøre af dig selv. De fleste mennesker ønsker at se en robot udføre de enkle opgaver at flytte fra punkt A til punkt B. Du kan lave en robot helt fra analoge komponenter eller købe et startkit fra bunden! Opbygning af din egen robot er en fantastisk måde at lære dig selv både elektronik samt computerprogrammering.

Trin

Del 1 af 6:
Montering af robotten
  1. Billede med titlen 1123333 1
1. Saml dine komponenter. For at opbygge en grundlæggende robot skal du bruge flere enkle komponenter. Du kan finde de fleste, hvis ikke alle, af disse komponenter på din lokale elektronikhobbybutik eller flere online-forhandlere. Nogle grundlæggende kits kan også omfatte alle disse komponenter. Denne robot kræver ikke lodning:
  • Arduino Uno (eller anden mikrocontroller)
  • 2 kontinuerlige rotation servo
  • 2 hjul, der passer til servoerne
  • 1 caster rulle
  • 1 lille loddefri breadboard (kig efter et brødbræt, der har to positive og negative linjer på hver side)
  • 1 afstandssensor (med fire-polet stikkabel)
  • 1 mini push-knap switch
  • 1 10kΩ modstand
  • 1 USB A til B-kabel
  • 1 sæt af breakaway overskrifter
  • 1 6 x AA Batteriholder med 9V DC Power Jack
  • 1 pakke jumper ledninger eller 22-gauge hook-up wire
  • Stærkt dobbeltsidet tape eller hot lim
  • Billede med titlen 1123333 2
    2. Flip batteripakken over, så den flade ryg vender opad. Du vil bygge robotens krop ved hjælp af batteripakken som en base.
  • Billede med titlen 1123333 3
    3. Juster de to servoer på enden af ​​batteriet. Dette bør være enden, at batteripakkets ledning kommer ud af servoerne, skal være berøring af bunden, og de roterende mekanismer for hver skal vende ud over siderne af batteriet. Serverne skal være ordentligt justeret, så hjulene går lige. Ledningerne til servoerne skal komme ud på bagsiden af ​​batteriet.
  • Billede med titlen 1123333 4
    4. Anbring servoerne med dit bånd eller lim. Sørg for, at de er solidt fastgjort til batteriet. Bagsiden af ​​servoerne skal justeres flush med bagsiden af ​​batteriet.
  • Serverne skal nu tage op på bagsiden af ​​batteriet.
  • Billede med titlen 1123333 5
    5. Anbring breadboard vinkelret på det åbne rum på batteriet. Det burde hænge over forsiden af ​​batteriet bare en lille smule og vil strække sig ud over hver side. Sørg for, at det er sikkert fastgjort, før du fortsætter. Det "EN" række skal være tættest på servoerne.
  • Billede med titlen 1123333 6
    6. Fastgør Arduino Microcontroller til toppen af ​​servoerne. Hvis du vedhæftede servoerne korrekt, skal der være et fladt rum lavet af dem, der rører ved. Stick Arduino Board på dette flade rum, så Arduinos USB og Power Connectors vender mod bagsiden (væk fra brødbrættet). Forsiden af ​​Arduino bør bare næppe overlapper brødbrættet.
  • Billede med titlen 1123333 7
    7. Sæt hjulene på servoerne. Tryk helt på hjulene på servoens roterende mekanisme. Dette kan kræve en betydelig mængde kraft, da hjulene er designet til at passe så tæt som muligt for den bedste trækkraft.
  • Billede med titlen 1123333 8
    8. Fastgør caster til bunden af ​​brødbrættet. Hvis du flip chassiset over, skal du se en smule brødbræt, der strækker sig forbi batteriet. Fastgør caster til dette forlængede stykke ved hjælp af stigninger, hvis det er nødvendigt. Caster virker som forhjulet, så robotten nemt kan vende i nogen retning.
  • Hvis du købte et kit, kan caster være kommet med et par stigninger, som du kan bruge for at sikre, at caster når jorden. jeg
  • Del 2 af 6:
    Ledninger robotten
    1. Billede med titlen 1123333 9
    1. Bryde af to 3-polede overskrifter. Du bruger disse til at forbinde servoerne til brødbrættet. Skub stifterne ned gennem overskriften, så stifterne kommer ud på samme afstand på begge sider.
  • Billede med titlen 1123333 10
    2. Sæt de to overskrifter i stifter 1-3 og 6-8 på rækken E af brødbrættet. Sørg for, at de er fast indsat.
  • Billede med titlen 1123333 11
    3. Tilslut servikablerne til overskrifterne, med det sorte kabel på venstre side (Pins 1 og 6). Dette vil forbinde servoerne til brødbrættet. Sørg for, at venstre servo er tilsluttet til venstre header og den rigtige servo til højre overskrift.
  • Billede med titlen 1123333 12
    4. Tilslut røde jumper ledninger fra stifter C2 og C7 til røde (positive) skinnestifter. Sørg for at bruge den røde skinne på bagsiden af ​​breadboard (tættere på resten af ​​chassiset).
  • Billede med titlen 1123333 13
    5. Tilslut sorte jumper ledninger fra stifter B1 og B6 til blå (jord) skinnestifter. Sørg for, at du bruger den blå skinne på bagsiden af ​​brødbrættet. Tilslut dem ikke i de røde skinnestifter.
  • Billede med titlen 1123333 14
    6. Tilslut hvide jumper ledninger fra stifter 12 og 13 på arduino til A3 og A8. Dette vil gøre det muligt for Arduino at styre servoerne og dreje hjulene.
  • Billede med titlen 1123333 15
    7. Fastgør sensoren på forsiden af ​​brødbrættet. Det bliver ikke tilsluttet til de ydre strømskinner på brødbrættet, men i stedet ind i den første række af bogstaver (J). Sørg for at placere det i det nøjagtige center, med et lige antal stifter til rådighed på hver side.
  • Billede med titlen 1123333 16
    8. Tilslut en sort jumper ledning fra pin I14 til den første tilgængelige blå skinneplade til venstre for sensoren. Dette vil formales sensoren.
  • Billede med titlen 1123333 17
    9. Tilslut en rød jumper ledning fra pin I17 til den første tilgængelige Red Rail PIN-kode til højre for sensoren. Dette vil drive sensoren.
  • Billede med titlen 1123333 18
    10. Tilslut hvide jumper ledninger fra pin I15 til pin 9 på arduinoet, og fra i16 til pin 8. Dette vil feed information fra sensoren til mikrocontrolleren.
  • Del 3 af 6:
    Ledninger strømmen
    1. Billede med titlen 1123333 19
    1. Flip robotten på sin side, så du kan se batterierne i pakken. Orienter det, så batteripakkekablet kommer ud til venstre nederst.
  • Billede med titlen 1123333 20
    2. Tilslut en rød ledning til den anden fjeder fra venstre på bunden. Sørg for, at batteriet er korrekt orienteret.
  • Billede med titlen 1123333 21
    3. Tilslut en sort ledning til den sidste fjeder på nederst til højre. Disse to kabler vil hjælpe med at give den korrekte spænding til Arduino.
  • Billede med titlen 1123333 22
    4. Tilslut de røde og sorte ledninger til de høje højre røde og blåstifter på bagsiden af ​​brødbrættet. Det sorte kabel skal være tilsluttet den blå skinnestift ved pin 30. Det røde kabel skal være tilsluttet til den røde skinnepind ved pin 30.
  • Billede med titlen 1123333 23
    5. Tilslut en sort ledning fra GND-stiften på Arduino til bagsiden Blue Rail. Tilslut den ved pin 28 på den blå skinne.
  • Billede med titlen 1123333 24
    6. Tilslut en sort ledning fra ryggen blå skinne til den forreste blå skinne ved pin 29 for hver. DO ikke Tilslut de røde skinner, da du sandsynligvis vil skade arduinoet.
  • Billede med titlen 1123333 25
    7. Tilslut en rød ledning fra foran Red Rail ved Pin 30 til 5V Pin på Arduino. Dette vil give magt til arduinoet.
  • Billede med titlen 1123333 26
    8. Indsæt trykknappen i kløften mellem rækker på stifter 24-26. Denne switch vil tillade dig at slukke roboten uden at tage stikket ud af stikkontakten.
  • Billede med titlen 1123333 27
    9. Tilslut en rød ledning fra H24 til den røde skinne i den næste tilgængelige PIN-kode til højre for sensoren. Dette vil slukke for knappen.
  • Billede med titlen 1123333 28
    10. Brug modstanden til at forbinde H26 til den blå skinne. Tilslut det til stiften direkte ved siden af ​​den sorte ledning, som du har tilsluttet et par trin siden.
  • Billede med titlen 1123333 29
    11. Tilslut en hvid ledning fra G26 til Pin 2 på arduino. Dette vil gøre det muligt for Arduino at registrere push-knappen.
  • Del 4 af 6:
    Installation af Arduino-softwaren
    1. Billede med titlen 1123333 30
    1. Download og udtræk ARDUINO IDE. Dette er Arduino Development-miljøet og giver dig mulighed for at programmere instruktioner, som du kan uploade til din Arduino Microcontroller. Du kan downloade det gratis fra arduino.cc / en / main / software. Unzip den downloadede fil ved at dobbeltklikke på den og flytte mappen inde til en nem adgangsplads. Du vil ikke rent faktisk installere programmet. I stedet vil du bare køre det fra den udpakkede mappe ved at dobbeltklikke på arduino.exe.
  • Billede med titlen 1123333 31
    2. Tilslut batteriet til Arduino. Slut batteriet Tilbage-stikket i stikket på Arduino for at give it-strømmen.
  • Billede med titlen 1123333 32
    3. Tilslut Arduino til din computer via USB. Windows vil sandsynligvis ikke genkende enheden.
  • Billede med titlen 1123333 33
    4. Trykke . ⊞ Win+R og type devmgmt.MSc. Dette vil lancere enhedschefen.
  • Billede med titlen 1123333 34
    5. Højreklik på "Ukendt enhed" i "Andre enheder" sektion og vælg "Update Driver Software." Hvis du ikke kan se denne indstilling, skal du klikke på "Ejendomme" I stedet skal du vælge "Chauffør" fanen, og klik derefter på "UPDATE DRIVER."
  • Billede med titlen 1123333 35
    6. Vælg "Gennemse min computer til førerprogrammer." Dette giver dig mulighed for at vælge den driver, der fulgte med Arduino IDE.
  • Billede med titlen 1123333 36
    7. Klik "Gennemse" Derefter navigere til den mappe, du har udtaget tidligere. Du finder A "drivere" mappe inde.
  • Billede med titlen 1123333 37
    8. Vælg "drivere" mappe og klik "Okay." Bekræft, at du vil fortsætte, hvis du advaret om ukendt software.
  • Del 5 af 6:
    Programmering af robotten
    1. Billede med titlen 1123333 38
    1. Start Arduino IDE ved at dobbeltklikke på arduino.exe Fil i IDE-mappen. Du bliver mødt med et tomt projekt.
  • Billede med titlen 1123333 39
    2. Indsæt følgende kode for at gøre din robot gå lige. Koden nedenfor vil gøre din Arduino kontinuerligt bevæge sig fremad.
    #include // Dette tilføjer "Servo" Bibliotek til programmet // Følgende opretter to servo objektsservo venstreMOTOR-SERVO RIGHTMOTOR-VOID SETUP () {LEFTMOTOR.Vedhæft (12) - // Hvis du ved et uheld skifter PIN-numrene til dine servoer, kan du bytte tallene Herreightmotor.Fastgør (13) -} void loop () {leftmotor.Skriv (180) - // Med kontinuerlig rotation fortæller 180 servo at bevæge sig i fuld hastighed "frem."højremotor. Skriv (0) - // Hvis begge disse er 180, vil robotten gå i en cirkel, fordi servoerne er flippet. "0," fortæller det at flytte fuld hastighed "baglæns."}
  • Billede med titlen 1123333 40
    3. Byg og uploade programmet. Klik på højre pileknap i øverste venstre hjørne for at opbygge og uploade programmet til den tilsluttede Arduino.
  • Du vil måske løfte robotten af ​​overfladen, da det bare vil fortsætte med at gå videre, når programmet er uploadet.
  • Billede med titlen 1123333 41
    4. Tilføj kill switch funktionaliteten. Tilføj følgende kode til "void loop ()" del af din kode for at aktivere kill switch, over "skrive()" Funktioner.
    Hvis (DigitalRead (2) == Høj) // Dette registre, når knappen trykkes på PIN 2 på arduino {mens (1) {leftmotor.Skriv (90) - // "90" er neutral position for servoerne, som fortæller dem at stoppe turningrightmotor.Skriv (90) -}}
  • Billede med titlen 1123333 42
    5. Upload og test din kode. Med Kill Switch Code tilføjet, kan du uploade og teste robotten. Det skal fortsætte med at køre fremad, indtil du trykker på kontakten, på hvilket tidspunkt det vil stoppe med at flytte. Den fulde kode skal se sådan ud:
    #include // Følgende opretter to servo objektsservo venstremotor-servo højremotor-void setup () {leftmotor.Fastgør (12) -Rightmotor.Fastgør (13) -} void loop () {hvis (DigitalRead (2) == høj) {mens (1) {leftmotor.Skriv (90) -Rightmotor.Skriv (90) -}} venstremotor.Skriv (180) -Rightmotor.Skriv (0) -}
  • Del 6 af 6:
    Eksempel
    1. Følg et eksempel. Følgende kode vil bruge sensoren, der er knyttet til robotten for at få det til venstre, når den møder en hindring. Se kommentarerne i koden for detaljer om, hvad hver del gør. Koden nedenfor er hele programmet.
    #include servo leftmotor-servo højremotor-const int seriialperiode = 250 - // Denne begrænser udgang til konsollen til en gang hver 1/4 sekundunned long timesialDelay = 0-const int loopperiod = 20 - // Dette sætter, hvor ofte sensoren tager en Læsning til 20ms, som er en frekvens på 50hzunned Long TimeLoopDelay = 0 - // Dette tildeler Trig- og ECHO-funktionerne til stifterne på Arduino. Gør justeringer til numrene her, hvis du er tilsluttet forskelligtConst INT ULTRASONIC2TRIGPIN = 8-CONST INT ULTRASONIC2DISTANCE-INT ULTRASONIC2DURATION - // Dette definerer de to mulige tilstande til robotten: Kørsel fremad eller drejning af venstre # Definer drive_forward0 # Definer Turf_left1Oward0 # Definer Turn_left1InT State = Drive_forward- // 0 = Drev fremad (standard), 1 = Drej Leftvoid Setup () {Serial.Begynd (9600) - // Disse sensor PIN-konfigurationerPinMode (Ultrasonic2trigpin, Output) -Pinmode (Ultrasonic2echopin, input) - // Dette tildeler motoren til Arduino Pinsleftmotor.Fastgør (12) -Rightmotor.Fastgør (13) -} void loop () {hvis (DigitalRead (2) == Høj) // Dette registrerer kill switch {mens (1) {leftmotor.Skriv (90) -Rightmotor.Skriv (90) -}} debugoutput () - // Denne udskriver debugging-meddelelser til Serial Consoleif (Millis () - TimeLoopDelay >= loopperiod) {readulrasonicsensors () - // dette instruerer sensoren til at læse og opbevare den målte distancesstatemachine () - TimeLoopDelay = Millis () -}} void Statemachine () {IF (tilstand == Drive_Forward) // Hvis der ikke er registreret nogen forhindringer {If (Ultrasonic2Distance > 6 ||. Ultrasonic2Distance < 0) // Hvis der ikke er noget foran robotten. UltrasonicDistance vil være negativ for nogle ultralyd, hvis der ikke er nogen hindring {// drive fremsendrightmotor.skriv (180) -leftmotor.Skriv (0) -} ellers // Hvis der er et objekt foran os {state = Turn_left -}} else hvis (tilstand == Turn_left) // Hvis der opdages en forhindring, skal du dreje til venstre {UNSIGNED LONG TIMETOTNYFT = 500- / / det tager rundt .5 sekunder til at dreje 90 grader. Du skal muligvis justere dette, hvis dine hjul er en anden størrelse end den exampleunsigned lange turnstarttime = millis () - // gem det tidspunkt, vi begyndte at vende sig ((millis () - turnstarttime) < TimeToturnleft) // ophold i denne loop, indtil TimeToturnleft er gået {// Drej til venstre, husk at når begge er indstillet til "180" det vil vende.højremotor.skriv (180) -leftmotor.skriv (180) -} state = drive_forward -}} void readulrasonicsensors () {// Dette er til ultralyd 2. Du skal muligvis ændre disse kommandoer, hvis du bruger en anden sensor.DigitalWrite (Ultrasonic2Trigpin, High) -Delaymicroseconds (10) - // Holder trig-stiften høj for mindst 10 mikrossecondsdigitalitalskrivning (ultralyd2Trigpin, lav) -ultrasonic2Duration = pulsin (ultralydsmissioner). // Følgende er for debugging fejl i konsollen.void debugoutput () {IF ((Millis () - TimeserialDelay) > Serialperiod) {Serial.Print("Ultrasonic2Distance: ") -Serial.Udskriv (Ultrasonic2Distance) -Serial.Print("cm") -Serial.Println () - TimeserialDelay = Millis () -}}

    Video

    Ved at bruge denne service kan nogle oplysninger deles med YouTube.

    Tips

    Del på sociale netværk :
    Lignende