Hur man bygger en robot hemma

Vill du lära dig hur du bygger din egen robot? Det finns många olika typer av robotar som du kan göra själv. De flesta vill se en robot utföra de enkla uppgifterna att flytta från punkt A till punkt B. Du kan göra en robot helt från analoga komponenter eller köpa ett startkit från början! Att bygga din egen robot är ett utmärkt sätt att lära dig både elektronik såväl som datorprogrammering.

Steg

Del 1 av 6:
Montering av roboten
  1. Bild med titeln 1123333 1
1. Samla dina komponenter. För att bygga en grundläggande robot behöver du flera enkla komponenter. Du kan hitta de flesta, om inte alla, av dessa komponenter på din lokala elektronikhobbybutik eller flera online-återförsäljare. Vissa grundläggande kit kan också innehålla alla dessa komponenter. Denna robot kräver ingen lödning:
  • Arduino Uno (eller annan mikrokontroller)
  • 2 kontinuerliga rotationsservos
  • 2 hjul som passar servosen
  • 1 Caster Roller
  • 1 liten lödfri brödbräda (leta efter en brödbräda som har två positiva och negativa linjer på varje sida)
  • 1 Avståndssensor (med fyrstiftig anslutningskabel)
  • 1 mini push-button switch
  • 1 10kΩ motstånd
  • 1 USB A till B-kabel
  • 1 uppsättning av breakaway-rubriker
  • 1 6 x AA Batterihållare med 9V DC Power Jack
  • 1 pack av jumperkablar eller 22-gauge anslutningstråd
  • Starkt dubbelsidigt tejp eller varmt lim
  • Bild med titeln 1123333 2
    2. Vänd batteriet över så att den platta baksidan är vänd uppåt. Du kommer att bygga robotens kropp med batteriet som en bas.
  • Bild med titeln 1123333 3
    3. Justera de två servosna i slutet av batteriet. Detta bör vara slutet att batteripaketets tråd kommer ut ur servosen bör röra botten, och de roterande mekanismerna för varje bör vända ut sidorna på batteriet. Servorna måste vara ordentligt inriktade så att hjulen går rakt. Ledningarna för servosen ska komma från baksidan av batteriet.
  • Bild med titeln 1123333 4
    4. Fäst servosen med ditt band eller lim. Se till att de är fasta fast på batteriet. Servos baksida ska vara inriktad på med baksidan av batteriet.
  • Servosen ska nu ta upp den bakre halvan av batteriet.
  • Bild med titeln 1123333 5
    5. Fäst brödbrädet vinkelrätt på det öppna utrymmet på batteriet. Det borde hänga över batteripaketets framsida bara lite och kommer att sträcka sig utöver varje sida. Se till att den är ordentligt fastsatt innan du fortsätter. De "A" rad bör vara närmast servosen.
  • Bild med titeln 1123333 6
    6. Fäst arduino mikrokontroller till servos toppar. Om du bifogade servosen ordentligt, det borde finnas ett plattutrymme som görs av dem som rör. Stick The Arduino Board på detta platta utrymme så att Arduino`s USB och Power Connectors står inför baksidan (bort från breadboard). Arduinoens framsida bör bara knappt överlappa brädan.
  • Bild med titeln 1123333 7
    7. Sätt hjulen på servosen. Tryck fast på hjulen på servos roterande mekanism. Detta kan kräva en betydande mängd kraft, eftersom hjulen är utformade för att passa så tätt som möjligt för den bästa dragkraften.
  • Bild med titeln 1123333 8
    8. Fäst caster till botten av breadboard. Om du vrider chassit över, bör du se lite brödbräda som sträcker sig förbi batteriet. Fäst caster till det här utökade stycket, med hjälp av stigare om det behövs. Caster verkar som framhjulet, så att roboten lätt kan vända sig i någon riktning.
  • Om du köpte ett kit kan caster ha kommit med några stigare som du kan använda för att säkerställa att caster når marken. jag
  • Del 2 av 6:
    Ledning av roboten
    1. Bild med titeln 1123333 9
    1. Bryt av två 3-stifts rubriker. Du kommer att använda dessa för att ansluta servos till breadboard. Tryck på stiften ner genom rubriken så att stiften kommer ut på lika avstånd på båda sidor.
  • Bild med titeln 1123333 10
    2. Sätt i de två rubrikerna i stiften 1-3 och 6-8 på rad E på brödbrädet. Se till att de är ordentligt införda.
  • Bild med titeln 1123333 11
    3. Anslut servokablarna till rubrikerna, med den svarta kabeln på vänster sida (stift 1 och 6). Detta kommer att ansluta servos till breadboard. Se till att vänster servo är ansluten till vänster rubrik och rätt servo till höger rubrik.
  • Bild med titeln 1123333 12
    4. Anslut röda jumperkablar från stiften C2 och C7 till röda (positiva) skenpinnar. Se till att du använder den röda skenan på baksidan av brödbrädan (närmare resten av chassit).
  • Bild med titeln 1123333 13
    5. Anslut Black Jumper Wires från PINS B1 och B6 till Blå (Jord) Rail Pins. Se till att du använder den blå skenan på baksidan av brödbrädet. Anslut inte dem i de röda järnvägarna.
  • Bild med titeln 1123333 14
    6. Anslut White Jumper Wires från stift 12 och 13 på Arduino till A3 och A8. Detta gör det möjligt för Arduino att styra servosna och vrida hjulen.
  • Bild med titeln 1123333 15
    7. Fäst sensorn på framsidan av breadboard. Det blir inte ansluten till de yttre strömskenorna på brödbrädet, men istället i den första raden av bokstäver (j). Se till att du placerar den i det exakta centrumet, med lika många stift som är tillgängliga på varje sida.
  • Bild med titeln 1123333 16
    8. Anslut en svart jumper tråd från PIN I14 till den första tillgängliga blå skenan till vänster om sensorn. Detta kommer att malna sensorn.
  • Bild med titeln 1123333 17
    9. Anslut en röd jumper tråd från PIN I17 till den första tillgängliga Röda järnvägsstiftet till höger om sensorn. Detta kommer att driva sensorn.
  • Bild med titeln 1123333 18
    10. Anslut White Jumper Wires från PIN I15 till stift 9 på Arduino, och från I16 till Pin 8. Detta kommer att mata information från sensorn till mikrokontrollern.
  • Del 3 av 6:
    Leder kraften
    1. Bild med titeln 1123333 19
    1. Vänd roboten på sin sida så att du kan se batterierna i förpackningen. Orientera det så att batteripaketet kommer ut till vänster längst ner.
  • Bild med titeln 1123333 20
    2. Anslut en röd tråd till den andra våren från vänster på botten. Se till att batteriet är orienterat korrekt.
  • Bild med titeln 1123333 21
    3. Anslut en svart tråd till den sista fjädern på botten höger. Dessa två kablar hjälper till att ge den korrekta spänningen till Arduino.
  • Bild med titeln 1123333 22
    4. Anslut de röda och svarta ledningarna till de högra röda och blåa stiften på baksidan av breadboard. Den svarta kabeln ska anslutas till den blå skenans stift vid stift 30. Den röda kabeln ska anslutas till den röda skenans stift vid stift 30.
  • Bild med titeln 1123333 23
    5. Anslut en svart tråd från GND-stiftet på arduino till den bakre blåen. Anslut den till stift 28 på den blå skenan.
  • Bild med titeln 1123333 24
    6. Anslut en svart tråd från den bakre blåskenan till den främre blåskenan vid stift 29 för var och en. Do inte Anslut de röda skenorna, eftersom du sannolikt kommer att skada Arduino.
  • Bild med titeln 1123333 25
    7. Anslut en röd tråd från främre Röd skena vid stift 30 till 5V-stiftet på arduino. Detta kommer att ge makt till Arduino.
  • Bild med titeln 1123333 26
    8. Sätt in tryckknappsomkopplaren i gapet mellan rader på stiften 24-26. Den här omkopplaren kan du stänga av roboten utan att behöva koppla ur strömmen.
  • Bild med titeln 1123333 27
    9. Anslut en röd tråd från H24 till den röda skenan i nästa lediga stift till höger om sensorn. Detta kommer att strömma på knappen.
  • Bild med titeln 1123333 28
    10. Använd motståndet för att ansluta H26 till den blå skenan. Anslut den till stiftet direkt bredvid den svarta ledningen som du anslutit några steg sedan.
  • Bild med titeln 1123333 29
    11. Anslut en vit tråd från G26 till PIN 2 på Arduino. Detta gör det möjligt för Arduino att registrera tryckknappen.
  • Del 4 av 6:
    Installera Arduino-programvaran
    1. Bild med titeln 1123333 30
    1. Hämta och extrahera Arduino IDE. Detta är Arduino-utvecklingsmiljön och låter dig hitta instruktioner som du kan ladda upp till din Arduino Microcontroller. Du kan ladda ner det gratis från arduino.CC / EN / MAIN / SOFTWARE. Unzip den nedladdade filen genom att dubbelklicka på den och flytta mappen inuti till en lättillgänglig plats. Du kommer inte att installera programmet. I stället kommer du bara att köra den från den extraherade mappen genom att dubbelklicka arduino.exe.
  • Bild med titeln 1123333 31
    2. Anslut batteriet till Arduino. Anslut batteriet tillbaka till kontakten på Arduino för att ge den effekt.
  • Bild med titeln 1123333 32
    3. Anslut Arduino till din dator via USB. Windows kommer sannolikt inte att känna igen enheten.
  • Bild med titeln 1123333 33
    4. Tryck . ⊞ vinna+R och typ devmgmt.msc. Detta startar enhetshanteraren.
  • Bild med titeln 1123333 34
    5. Högerklicka på "Okänd enhet" i "Andra enheter" avsnitt och välj "Uppdatera drivrutinsprogram." Om du inte ser det här alternativet, klicka på "Egenskaper" välj istället "Förare" fliken och klicka sedan på "Uppdatera drivrutinen."
  • Bild med titeln 1123333 35
    6. Välj "Bläddra i den här datorn för drivrutinsprogram." Detta gör att du kan välja föraren som följde med Arduino IDE.
  • Bild med titeln 1123333 36
    7. Klick "Bläddra" Navigera sedan till den mapp som du extraherade tidigare. Du hittar a "förare" mapp inuti.
  • Bild med titeln 1123333 37
    8. Välj "förare" mapp och klicka "OK." Bekräfta att du vill fortsätta om du varnas om okänd programvara.
  • Del 5 av 6:
    Programmering av roboten
    1. Bild med titeln 1123333 38
    1. Starta Arduino IDE genom att dubbelklicka på arduino.exe Fil i IDE-mappen. Du kommer att hälsas med ett tomt projekt.
  • Bild med titeln 1123333 39
    2. Klistra in följande kod för att få din robot att gå rakt. Koden nedan kommer att göra din Arduino kontinuerligt framåt.
    #include // Detta lägger till "Servo" Bibliotek till programmet // följande skapar två servoobjektservo vänstermotor-servo rightmotor-void setup () {vänstermotor.Fäst (12) - // Om du av misstag bytte upp PIN-nummer för dina servos, kan du byta numren HererightMotor.Bifoga (13) -} Void Loop () {vänstermotor.Skriv (180) - // Med kontinuerlig rotation, 180 berättar servoen att flytta i full fart "fram-."rättmotor. Skriv (0) - // Om båda dessa är 180, kommer roboten att gå i en cirkel eftersom servorna vänds. "0," berättar att det ska flytta full fart "bakåt."}
  • Bild med titeln 1123333 40
    3. Bygga och ladda upp programmet. Klicka på högerpilknappen i det övre vänstra hörnet för att bygga och ladda upp programmet till den anslutna arduino.
  • Du kanske vill lyfta roboten av ytan, eftersom den bara fortsätter att gå vidare när programmet är uppladdat.
  • Bild med titeln 1123333 41
    4. Lägg till Kill Switch-funktionaliteten. Lägg till följande kod till "Void Loop ()" Sektion av din kod för att aktivera dödsbrytaren ovanför "skriva()" funktioner.
    Om (digitalread (2) == hög) // dessa register när knappen trycks på PIN 2 i Arduino {medan (1) {vänstermotor.Skriv (90) - // "90" är neutral position för servos, som berättar att de ska sluta vrida sig.Skriv (90) -}}
  • Bild med titeln 1123333 42
    5. Ladda upp och testa din kod. Med den tillagt killknappen kan du ladda upp och testa roboten. Det bör fortsätta att köra framåt tills du trycker på strömbrytaren, vid vilken tidpunkt det kommer att sluta flytta. Den fullständiga koden ska se ut så här:
    #include // följande skapar två servoobjektservo vänstermotor-servo rightmotor-void setup () {vänstermotor.Fäst (12) -rightmotor.Bifoga (13) -} Void Loop () {IF (DIGITALREAD (2) == hög) {medan (1) {vänstermotor.Skriv (90) -RIGHTMOTOR.Skriv (90) -}} vänstermotor.Skriv (180) -RIGHTMOTOR.Skriv (0) -}
  • Del 6 av 6:
    Exempel
    1. Följ ett exempel. Följande kod kommer att använda sensorn som är ansluten till roboten för att få den till vänster när den möter ett hinder. Se kommentarerna i koden för detaljer om vad varje del gör. Koden nedan är hela programmet.
    #Ilclude servo leftmotor-servo rightmotor-const int Serialperiod = 250 - // Denna gränser utmatas till konsolen till en gång var 1/4 sekundersignerad långtidererialDelay = 0-const int loopperiod = 20 - // Detta ställer hur ofta sensorn tar en läser till 20ms, vilket är en frekvens av 50hzunsigned Long TimeLoopDelay = 0 - // Detta tilldelar trig- och ekofunktionerna till stiften på Arduino. Gör justeringar till siffrorna här om du anslutit DIFFERNLYCONST INT Ultrasonic2Trigpin = 8-const int Ultrasonic2echopin = 9-int Ultraljud2Distance-int Ultraljud2Duration - // Detta definierar de två möjliga staterna för roboten: Kör framåt eller vrid till vänster # Defin_Left1int State = Drive_Forward- // 0 = Drive framåt (standard), 1 = sväng vänster uppställning () {seriell.Börja (9600) - // Denna sensorstift ConfigurationSpinMode (Ultrasonic2Trigpin, Output) -pinmode (Ultrasonic2echopin, Input) - // Detta tilldelar motorerna till Arduino Pinsleftmotor.Fäst (12) -rightmotor.Fäst (13) -} Void Loop () {IF (DigitalRead (2) == High) // Detta detekterar dödsbrytaren {medan (1) {vänstermotor.Skriv (90) -RIGHTMOTOR.Skriv (90) -}} Debugoutput () - // Detta skriver ut felsökningsmeddelanden till seriekonsoleif (Millis () - TimeLoopDelay >= LoopPeriod) {Readultrasonicsensors () - // Detta instruerar sensorn att läsa och lagra den uppmätta distansstatemaskinen () - TimeLoopDelay = Millis () -}} void Statemachine () {If (State == Drive_Forward) // Om inga hinder upptäcks {IF (Ultrasonic2Distance > 6 || Ultrasonic2Distance < 0) // om det inte finns något framför roboten. ultraljuddistans kommer att vara negativ för några ultraljud om det inte finns något hinder {// kör framåtriktadmotor.Skriv (180) -Leftmotor.Skriv (0) -} annars // om det finns ett föremål framför oss {state = turn_left -}} annars om (tillstånd == Turn_left) // om ett hinder detekteras, sväng vänster {unsigned Long TimetoTurnLeft = 500- / / det tar runt .5 sekunder att vrida 90 grader. Du kan behöva justera detta om dina hjul är en annan storlek än den exempel < TimeToTurnleft) // Stanna i den här slingan tills TimeToTurnLeft har förflutit {// sväng vänster, kom ihåg att när båda är inställda på "180" det kommer att vända sig.rättmotor.Skriv (180) -Leftmotor.Skriv (180) -} State = Drive_Forward -}} Void Readultrasonicsensors () {// Detta är för ultraljud 2. Du kan behöva ändra dessa kommandon om du använder en annan sensor.DigitalWrite (Ultrasonic2Trigpin, High) -Delaymicrosekunder (10) - // håller trigstiftet hög för minst 10 mikrosekondsdigitalwrite (ultraljud2trigpin, låg) -ultrasonic2duration = pulsein (ultraljud2ekopin, hög) -ultrasonic2distans = (ultraljud2drift / 2) / 29-} // Följande är för felsökning av fel i konsolen.void debugoutput () {IF ((Millis () - TimeseRialDelay) > Serialperiod) {Serial.skriva ut("Ultrasonic2Distance: ")-Serie.Skriv ut (Ultrasonic2Distance) -Serial.skriva ut("centimeter")-Serie.Println () - TimeseRialDelay = Millis () -}}

    Video

    Genom att använda den här tjänsten kan viss information delas med YouTube.

    Tips

    Dela på det sociala nätverket:
    Liknande