Sådan bygger du en robot hjemme

Ønsker du at lære at bygge din egen robot? Der er flere forskellige typer, som du kan gøre selv. De fleste mennesker ønsker at se robotten udføre den simple opgave at spore fra punkt A til punkt B. Du kan lave en robot ved hjælp af kun analoge komponenter eller købe en startpakke. At lave din egen robot er en fantastisk måde at lære dig selv elektronik og programmering på.

trin

Del 1
Ridning robotten

Billede med titlen 1123333 1
1
Sæt materialerne sammen. For at lave en grundlæggende robot skal du bruge flere enkle komponenter. De fleste, hvis ikke alle, kan findes i en elektronik butik eller online. Nogle grundlæggende kits kan også allerede omfatte alle disse komponenter. Denne robot kræver ikke lodning:
  • Arduino Uno (eller anden mikrocontroller)
  • 2 kontinuerlige rotationsservos
  • 2 hjul, der passer til servoerne
  • 1 caster
  • 1 testplade uden loddemetal (se efter en med to positive linjer og to negative på hver side)
  • 1 afstandssensor med 4-polet stik
  • 1 miniswitch med knap og 10kΩ modstand
  • 1 pin bar
  • 1 sæt til 6 AA batterier med 9V DC stikkontakt
  • 1 sæt jumperkabler eller fladt kabel
  • Stærkt dobbeltsidet tape eller varm lim
  • Billedbetegnelse 1123333 2
    2
    Drej batterikassen, så ryggen er op. Du vil bygge robotkroppen ved hjælp af kassen som en base.
  • Billed betegnet 1123333 3
    3
    Juster de to servoer i enden af ​​batterikassen. Dette bør være det tip, hvor ledningen kommer ud af kassen. De nederste dele af de to servoer skal være i berøring med hinanden, og de roterende mekanismer af hver skal stå over for batterikuffens sider. Det er vigtigt, at servoerne er justeret på den rigtige måde, så hjulene er lige. Servokablerne skal komme ud af batteriets bagside.
  • Billede med titlen 1123333 4
    4
    Fastgør servoerne med tape eller lim. De skal være forsvarligt fastgjort til batterikuffen, og bagsiden af ​​dem skal være justeret med bagsiden af ​​batterikassen.
    • Servoerne skal nu besætte den nedre halvdel af batterikassen.
  • Billede betegnet 1123333 5
    5
    Sæt testpladen vinkelret på batterirummets åbne rum. Det skal forblive hængende foran kartonen bare lidt og strække sig ud over hver side. Hold det godt, før du fortsætter. Række A bør være tættere på servoerne.
  • Billedbetegnelse 1123333 6
    6
    Fastgør Arduino microcontroller til toppen af ​​servoerne. Hvis du har fastgjort de rigtige servoer, skal der være en flad plads, der er skabt af deres kontakt. Fastgør Arduino bordet til dette rum, så USB og strømforbindelserne vender væk fra testkortet. Forsiden af ​​Arduino bør kun let overlappe testkortet.
  • Billed betegnet 1123333 7
    7
    Sæt hjulene på servoerne. Tryk let på hjulene i servoens drejemekanisme. Du må muligvis bruge meget kraft, fordi hjulene er lavet til at passe tæt, for den bedste trækkraft.
  • Video: Gør-det-selv træ-robot

    Billed betegnet 1123333 8
    8
    Fastgør caster til bunden af ​​testpladen. Hvis du drejer chassiset, skal du se, at nogle af testkortet kommer ud af batterikassen. Fastgør caster til denne udvidede del ved at bruge noget til at hæve det om nødvendigt. Caster fungerer som forhjulet, så robotten kan svinge let i enhver retning.
    • Hvis du har købt et kit, kan karrusellen være kommet med nogle beslag, som du kan bruge til at nå gulvet.
  • Del 2
    Making Robot Wiring

    Billede med titlen 1123333 9
    1
    Løsn to tre-stik stik. Du vil bruge dem til at forbinde servoerne til testkortet. Skub stifterne gennem stikket, så de strækker sig i samme afstand fra begge sider.
  • Billed betegnet 1123333 10
    2
    Sæt de to stik i stifterne 1 til 3 og 6 til 8 i række E af testkortet. Se om de er godt indsat.
  • Billede med titlen 1123333 11
    3
    Tilslut servokablerne til stikkene med det sorte kabel på venstre side (ben 1 og 6). De vil forbinde servoerne til testkortet. Venstre servo skal tilsluttes til venstre stik og højre servo til højre.
  • Billedbetegnelse 1123333 12
    4
    Tilslut de røde jumperkabler fra stifterne C2 og C7 til de positive (røde) stifter. Brug den røde række på bagsiden af ​​testkortet, tættere på resten af ​​chassiset.
  • Billed betegnet 1123333 13
    5
    Tilslut de sorte jumperkabler fra benene B1 og B6 til jordstifter (blå). Brug den blå række på bagsiden af ​​brættet. Tilslut dem ikke til den røde linje.
  • Billede med titlen 1123333 14
    6
    Tilslut de hvide jumperkabler fra pins 12 og 13 i Arduino til A3 og A8. Således kan Arduino styre servoerne og dreje hjulene.
  • Billed betegnet 1123333 15
    7
    Sæt sensoren på forsiden af ​​testpladen. Det er ikke forbundet til de ydre strømrækker af brættet, men snarere til den første række af bogstavstifter (J). Placer det i midten med det samme antal stifter, der er tilgængelige på hver side.
  • Billede med titlen 1123333 16
    8
    Tilslut et sort jumperkabel fra pind I14 til den første tilgængelige blå pind til venstre for sensoren til jordforbindelse af denne komponent.
  • Billedbetegnelse 1123333 17
    9
    Sæt et sort jumperkabel fra pin I17 til den første ledige røde stik til højre for sensoren for at tænde komponenten.
  • Billedbetegnelse 1123333 18
    10
    Tilslut de hvide jumperkabler fra pin I15 til pin 9 i Arduino og fra I16 til pin 8. De vil sende information fra sensoren til mikrocontrolleren.
  • Del 3
    Gør strømforsyning

    Billede med titlen 1123333 19
    1
    Drej robotten sidelæns, så du kan se batterierne i kassen. Orienter det så, at batterikassekablet løber fra bunden til venstre.
  • Billed betegnet 1123333 20
    2

    Video: SKAL ROBOTTER HAVE RETTIGHEDER?

    Tilslut en rød ledning til anden forår til venstre tæller fra bunden. Batterikassen bør være orienteret på den rigtige måde.
  • Billede med titlen 1123333 21
    3
    Vedhæft en sort ledning til sidste forår nederst til højre. Disse to kabler hjælper med at levere den rigtige spænding til Arduino.
  • Billede med titlen 1123333 22
    4
    Tilslut de røde og sorte kabler til de røde og blå stifter til højre på bagsiden af ​​printkortet. Den sorte ledning skal tilsluttes den blå pin 30 og den røde ledning til den røde pin 30.
  • Billede med titlen 1123333 23


    5
    Tilslut et sort kabel fra Arduino`s GND pin til den blå bageste række. Forbind det med pin 28.
  • Billede betegnet 1123333 24
    6
    Sæt en sort tråd fra den blå række bag til den blå forreste række. Han burde være ved den 29. pin i de to rækker. Gør det ikke Forbind de røde rækker, da du sandsynligvis vil skade Arduino.
  • Billed betegnet 1123333 25
    7
    Tilslut et rødt kabel fra den røde række foran, ud af pin 30, til 5-V pin af Arduino. Det vil fodre Arduino.
  • Billede med titlen 1123333 26
    8
    Indsæt knapomskifteren i mellemrummet mellem rækkerne på tappene 24 til 26. Denne kontakt giver dig mulighed for at slukke for roboten uden at slukke for strømmen.
  • Billed betegnet 1123333 27
    9
    Tilslut en rød ledning fra H24 til den røde række på næste ledige stik til højre for sensoren. Det vil tænde knappen.
  • Billede med titlen 1123333 28
    10
    Brug modstanden til at forbinde H26 til den blå linje. Slut den til stiften lige ved siden af ​​det sorte kabel, der blev tilsluttet et par trin siden.
  • Billede med titlen 1123333 29
    11
    Tilslut et hvidt kabel fra G26 til Arduino pin 2. Det vil gøre det muligt for Arduino at registrere knappen.
  • Del 4
    Installation af Arduino Software

    Video: Hvordan lage en Spider Robot - TOY FOR KIDS T-Studio

    Billed betegnet 1123333 30
    1
    Download og installer Arduino IDE. Dette er Arduino udviklingsmiljøet, og giver dig mulighed for at programmere instruktioner, som du derefter kan sende til mikrocontrolleren. Du kan downloade det gratis på arduino.cc/en/main/software. Pak den hentede fil ud med et dobbeltklik og flyt mappen fra den til en let tilgængelig placering. Du vil ikke installere programmet, men bare køre det fra mappen ved at dobbeltklikke arduino.exe.
  • Billede med titlen 1123333 31
    2
    Tilslut batterikassen til Arduino. Tilslut bagbatteriets stik til Arduino-stikket for at tænde det.
  • Billede med titlen 1123333 32
    3
    Tilslut Arduino til din computer ved hjælp af USB. Windows genkender sandsynligvis ikke enheden.
  • Billed betegnet 1123333 33
    4
    Tryk på.⌘ Vind+R og skriv devmgmt.msc for at åbne Enhedshåndtering.
  • Billede med titlen 1123333 34
    5
    Højreklik på den "Ukendte enhed" i afsnittet "Andre enheder" og vælg "Opdater driver software". Hvis du ikke kan se denne mulighed, skal du klikke på "Egenskaber", vælge fanen "Driver" og klikke på "Opdater driver".
  • Billede med titlen 1123333 35
    6
    Vælg "Søg efter driver software på din computer". Denne mulighed giver dig mulighed for at vælge den driver, der fulgte med Arduino IDE.
  • Billede med titlen 1123333 36
    7
    Klik på "Søg"..."og navigere til den mappe, du har hentet før. Du finder en" drivers "-mappe inde i den.
  • Billed betegnet 1123333 37
    8
    Vælg mappen "drivers" og klik på "OK". Bekræft, at du vil fortsætte, hvis du bliver spurgt om ukendt software.
  • Del 5
    Programmering af robotten

    Billede betegnet 1123333 38
    1
    Start Arduino IDE ved at dobbeltklikke på filen arduino.exe IDE-mappen. Du vil modtage et tomt projekt.
  • Billede med titlen 1123333 39
    2
    Indsæt følgende kode for at gøre din robot gå videre. Koden nedenfor vil gøre din Arduino bevæge sig kontinuerligt fremad.
    #include  // tilføjer biblioteket "tjener" til programmet // følgende kode skaber to objekter servoServo leftMotor-Servo-rightMotor ugyldig setup () {leftMotor.attach (12) - // Hvis du ved et uheld har ændret PIN-numre af tjenere, du kan ændre dem aqui.rightMotor.attach (13) -} void loop () {leftMotor.write (180) - // med kontinuerlig rotation 180 fortæller servo til bevægelse med fuld hastighed til frente.rightMotor.write ( 0) - // hvis begge kommandoer er 180, vil roboten gå i cirkler, fordi servoerne vil blive drejet. "0" fortæller tjeneren at rykke tilbage.}
  • Billede med titlen 1123333 40
    3
    Kompilere og indsende tidsplanen. Klik på højre pileknap i øverste venstre hjørne for at kompilere og sende tidsplanen til den tilsluttede Arduino.
    • Det kan være bedre at løfte robotten, da den fortsætter med at bevæge sig frem efter programmeringen er sendt.
  • Billede med titlen 1123333 41
    4
    Tilføj knapfunktionalitet. Tilføj følgende kode til "void loop ()" sektionen for at aktivere knappen over "write ()" funktionerne.
    hvis der trykkes (DigitalLæs (2) == HØJ) // rekord knappen, når Arduino ben 2 {while (1) {leftMotor.write (90) - // "90" er den neutrale position af servoer, som siger til dem for at stoppe spinningMotor.write (90) -}}
  • Billede med titlen 1123333 42
    5
    Send venligst og test din kode. Med koden til knappen tilføjet kan du teste roboten. Det skal fortsætte fremad, indtil du trykker på knappen, og på det tidspunkt vil det stoppe med at flytte. Den komplette kode ser sådan ud:
    #include // Følgende kode opretter to objekter servoServo leftMotor servo-rightMotor void setup () {leftMotor.attach (12) -rightMotor.attach (13) -} void loop () {if (DigitalLæs (2) == HØJ) { while (1) {leftMotor.write (90) -rightMotor.write (90) -}} leftMotor.write (180) -rightMotor.write (0) -}
  • eksempel

    Følgende kode vil bruge sensoren, der er fastgjort til robotten, for at gøre den drej til venstre, når den møder en forhindring. Se kommentarerne i koden for detaljer om, hvad hver del gør. Koden nedenfor repræsenterer hele tidsplanen.

    Video: Lær å lage en robot av papp | Øisteins Pappeske - Ting du kan lage hjemme

    #include Servo leftMotor rightMotor servo-int const = 250- serialPeriod // begrænser output til konsollen til en gang hvert værelse segundounsigned lang timeSerialDelay = 0 = const int loopPeriod 20- // indstiller den hyppighed, hvormed sensoren løber et læse i 20 ms, en frekvens på 50 Hzunsigned lang timeLoopDelay = 0 - // betegner TRIG og ECHO funktioner til Arduino stifter. Justere tallene har foretaget tilslutninger diferentesconst ultrasonic2TrigPin int const int = 8-ultrasonic2EchoPin = 9-int-int ultrasonic2Distance ultrasonic2Duration - // definerer de to mulige tilstande for robotten: forward (DRIVE_FORWARD) eller til venstre (TURN_LEFT) #define DRIVE_FORWARD 0 #define TURN_LEFT 1int tilstand DRIVE_FORWARD- // = 0 = fremad (standard), 1 = esquerdavoid til opsætning () {Serial.begin (9600) - // sensorpinMode konfigurationer af stifter (ultrasonic2TrigPin, OUTPUT) -pinMode (2) = {HIGH}) // registrerer knappen {while ()} // { (1) {leftMotor.write (90) -rightMotor.write (90) -}} DebugOutput () - // udskriver debugging beskeder til konsollen serialif (ms () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors () - // instruerer sensoren til at læse og gemme medidasstateMachine afstande () - timeLoopDelay = Millis () -}} ugyldig StateMachine () {if (tilstand == DRIVE_FORWARD) // hvis der ikke opdages nogen hindring {if (ultrasonic2Distance> 6 || ultrasonic2Distance < 0) // se não houver nada na frente do robô. A ultrasonicDistance (distância ultrassônica) será negativa para alguns sensores ultrassônicos se não houver obstáculo{// drive forwardrightMotor.write(180)-leftMotor.write(0)-}else // se houver um objeto à frente{state = TURN_LEFT-}}else if(state == TURN_LEFT) // se um obstáculo for detectado, vire para a esquerda{unsigned long timeToTurnLeft = 500- // leva cerca de 0,5 segundos para virar em 90 graus. Você pode precisar ajustar esse valor se as rodas tiverem um tamanho diferente do exemplo.unsigned long turnStartTime = millis()- // salva o tempo em que o giro começawhile((millis()-turnStartTime) < timeToTurnLeft) // fica nesse loop até que timeToTurnLeft passe{// vira para a esquerda. Lembre-se de que, quando ambos estiverem em "180", ele vai virarrightMotor.write(180)-leftMotor.write(180)-}state = DRIVE_FORWARD-}}void readUltrasonicSensors(){// para o ultrassônico 2. Você pode precisar alterar esses comandos se usar um sensor diferente.digitalWrite(ultrasonic2TrigPin, HIGH)-delayMicroseconds(10)- // mantém o pino trig alto por pelo menos 10 microssegundosdigitalWrite(ultrasonic2TrigPin, LOW)-ultrasonic2Duration = pulseIn(ultrasonic2EchoPin, HIGH)-ultrasonic2Distance = (ultrasonic2Duration/2)/29-}// o código a seguir serve para depurar erros no console.void debugOutput(){if((millis() - timeSerialDelay) > serialPeriod) Serial.print {( "ultrasonic2Distance") -Serial.print (ultrasonic2Distance) -Serial.print ( "cm") - Serial.println () - = timeSerialDelay Millis () -}}
    Del på sociale netværk:

    Relaterede
    © 2024 HodTari.com