- Nødvendige materialer:
- 3D-utskrift av de nødvendige delene:
- Maskinvare og skjemaer:
- Montering av roboten:
- Programmering av Arduino for Biped Robot:
- Behandlingsbasert Android-applikasjon:
- Arbeid med Bluetooth-kontrollert todelt robot:
Velkommen til et annet prosjekt der vi skal bygge en liten robot som kan gå og danse. Prosjektet har som mål å lære deg hvordan du lager små hobbyroboter ved hjelp av Arduino og hvordan du programmerer servomotorene dine for slike applikasjoner. På slutten av prosjektet vil du kunne lage denne gående og dansende roboten som tar kommandoen fra en Android-mobiltelefon for å utføre noen forhåndsdefinerte handlinger. Du kan også bruke programmet (gitt på slutten av opplæringen) for å enkelt manipulere handlingene til din egen robot ved å kontrollere posisjonen til servomotorene ved hjelp av Serial monitor. Å ha en 3d-skriver vil gjøre dette prosjektet mer interessant og se kult ut. Men hvis du ikke har en, kan du bruke noen av de elektroniske tjenestene eller bare bruke litt papp til å bygge det samme.
Nødvendige materialer:
Følgende er materialene som kreves for å bygge denne roboten:
- Arduino nano
- Servo SG90 - 4Nr
- Mannlige bergpinner
- HC-05 / HC-06 Bluetooth-modul
- 3D-skriver
Som du kan se, krever denne 3D-trykte roboten svært minimale elektronikkdeler for å bygge for å holde prosjektkostnadene så lave som mulig. Dette prosjektet er kun for konseptuelle og morsomme formål og har foreløpig ingen sanntidsapplikasjon.
3D-utskrift av de nødvendige delene:
3D-utskrift er et fantastisk verktøy som kan bidra mye når man bygger prototypeprosjekter eller eksperimenterer med nye mekaniske design. Hvis du ennå ikke har oppdaget fordelene med en 3D-skriver eller hvordan den fungerer, kan du lese Nybegynnerguiden til 3D-utskrift.
I dette prosjektet er kroppen til roboten vist ovenfor 3D-trykt. Du kan laste ned STL-filene herfra. Last disse filene på 3D-utskriftsprogramvaren din, for eksempel Cura, og skriv dem direkte ut. Jeg har brukt en veldig grunnleggende skriver av meg for å skrive ut alle delene. Skriveren er FABX v1 fra 3ding, som har en overkommelig pris med et utskriftsvolum på 10 kubikk cm. Den billige prisen kommer med en kompromiss med lav utskriftsoppløsning og ingen SD-kort eller funksjon for gjenopptak av utskrift. Jeg bruker programvare som heter Cura for å skrive ut STL-filene. Innstillingene jeg brukte for å skrive ut materialene er gitt nedenfor. Du kan bruke det samme eller endre dem basert på skriveren.
Når du har skrevet ut alle delene, rengjør du støttene (hvis noen), og sørg for at hullene på benet og magedelen er store nok til å passe til en skrue. Hvis ikke, bruk en nål for å gjøre hullet litt større. Dine 3D-trykte deler vil se ut som noe nedenfor.
Maskinvare og skjemaer:
Maskinvaren for denne mobiltelefonstyrte biped Arduino-roboten er veldig enkel. Det komplette skjemaet vises i bildet nedenfor
Jeg har brukt et Perf-brett for å lage tilkoblingene ovenfor. Forsikre deg om at kretsen din også passer inn i hodet på roboten. Når Perf-brettet ditt er klart, skal det se ut som nedenfor.
Montering av roboten:
Når maskinvaren og de 3D-trykte delene er klare, kan vi montere roboten. Før du fester motorene, må du sørge for at du plasserer motorene i vinklene nedenfor, slik at programmet fungerer feilfritt.
Motornummer |
Motor sted |
Motorstilling |
1 |
Venstre hoftemotor |
110 |
2 |
Høyre hoftemotor |
100 |
4 |
Høyre ankelmotor |
90 |
5 |
Høyre hoftemotor |
80 |
Disse vinklene kan stilles inn ved å bruke programmet gitt på slutten av opplæringen. Bare last opp programmet til Arduino etter at du har gjort de ovennevnte tilkoblingene, og skriv inn følgende i den serielle skjermen (Merk: Baudrate er 57600).
1, 100, 110
2,90,100
4,80,90
5,70,80
Seriellmonitoren din skal se slik ut etter å ha plassert alle motorene dine på plass.
Når motorene er stilt inn i de tilsvarende vinklene, monter dem som vist i figuren ovenfor.
Hvis du er forvirret om hvordan du monterer motorene, følg videoen på slutten av denne veiledningen. Når roboten er montert, er det på tide å programmere danseroboten vår
Programmering av Arduino for Biped Robot:
Programmering av BBB-roboten ( Bluetooth Biped Bob ) er den mest interessante og morsomme delen i denne opplæringen. Hvis du er veldig flink til å programmere servomotorer med Arduino, vil jeg anbefale deg å lage programmet ditt. Bt, hvis du vil lære hvordan du bruker servomotorer til robotapplikasjoner som dette, vil dette programmet være veldig nyttig for. Du kan lære mer om arduino-programmering i kategorien arduino-prosjekter.
Det komplette programmet er gitt på slutten av denne opplæringen, eller du kan laste ned hele koden herfra. Jeg vil forklare segmentene av det samme nedenfor. Programmet er i stand til å kontrollere Robots handlinger via seriell skjerm eller Bluetooth. Du kan også gjøre dine egne grep ved å kontrollere hver enkelt motor ved hjelp av den serielle skjermen.
servo1.feste (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
Ovennevnte kodelinjer bruker den for å nevne hvilken servomotor som er koblet til hvilken pin av Arduino. Her i vårt tilfelle er Servo 1,2,4 og 5 koblet til henholdsvis pinner 3,5,9 og 10.
Bot_BT.begin (9600); // start Bluetooth-kommunikasjonen ved 9600 baudrate Serial.begin (57600);
Som sagt tidligere, kan vår gangrobot fungere på Bluetooth-kommandoer og også fra kommandoer fra den serielle skjermen. Derfor fungerer Bluetooth seriell kommunikasjon med en Baudrate på 9600, og den serielle kommunikasjonen fungerer med Baud Rate på 57600. Navnet på vårt Bluetooth-objekt her er "Bot_BT".
bryter (motor) {case 1: // For motor one {Serial.println ("Executing motor one"); hvis (num1
Bryterhuset vist ovenfor brukes til å styre servomotorene individuelt. Dette vil hjelpe deg med å lage dine egne kreative trekk med roboten din. Med dette kodesegmentet kan du ganske enkelt fortelle motornummeret, fra vinkel til vinkel for å få en bestemt motor til å flytte til ønsket sted.
For eksempel hvis vi vil flytte motor nummer 1, som er venstre hofte motor fra sin standard plassering på 110 grader til 60 grader. Vi kan ganske enkelt skrive “1.110,60” i den serielle skjermen til Arduino og trykke enter. Dette vil være nyttig for å gjøre dine egne komplekse trekk med roboten din. Når du har eksperimentert med alt fra engel og til vinkel, kan du gjøre dine egne bevegelser og gjenta dem ved å gjøre det som en funksjon.
hvis (Serial.available ()> 0) // Les hva som kommer inn gjennom Serial {gmotor = Serial.parseInt (); Serial.print ("valgt nummer->"); Serial.print (gmotor); Serial.print (","); gnum1 = Serial.parseInt (); Serial.print (gnum1); Serial.print ("grad"); gnum2 = Serial.parseInt (); Serial.print (gnum2); Serial.println ("grad"); flagg = 1; }
Hvis seriedata er tilgjengelige, betraktes tallet før den første "," som gmotor, og deretter betraktes tallet før den andre "," som gnum1, og tallet etter den andre "," betraktes som gnum2.
hvis (Bot_BT.available ()) // Les hva som kommer inn via Bluetooth {BluetoothData = Bot_BT.read (); Serial.print ("Inngående fra BT:"); Serial.println (BluetoothData); }
Hvis Bluetooth mottar noe informasjon, lagres den mottatte informasjonen i variabelen “BluetoothData”. Denne variabelen sammenlignes deretter med de forhåndsdefinerte verdiene for å utføre en bestemt handling.
hvis (flagg == 1) ring (gmotor, gnum1, gnum2); // ring den respektive motoren for handling // Utfør funksjonene i henhold til kommandoen mottatt via den serielle skjermen eller Bluetooth // hvis (gmotor == 10) left_leg_up (); hvis (gmotor == 11) right_leg_up (); hvis (gmotor == 12) move_left_front (); hvis (gmotor == 13) move_right_front (); hvis (BluetoothData == 49 - gmotor == 49) say_hi (); hvis (BluetoothData == 50 - gmotor == 50) walk1 (); hvis (BluetoothData == 51 - gmotor == 51) walk2 (); hvis (BluetoothData == 52 - gmotor == 52) dance1 (); hvis (BluetoothData == 53 - gmotor == 53) dance2 (); hvis (BluetoothData == 54 - gmotor == 54) {test (); test (); test ();}
Det er her funksjonene kalles basert på verdiene mottatt fra seriell skjerm eller Bluetooth. Som vist ovenfor vil variabel gmotor ha verdien av seriell skjerm og BluetoothData vil ha verdien fra Bluetooth-enhet. Tallene 10,11,12 til 53,54 er forhåndsdefinerte tall.
For eksempel hvis du skriver inn nummer 49 i den serielle skjermen. Say_hi () -funksjonen vil bli utført der roboten vil vinke deg en hei.
Alle funksjonene er definert på siden "Bot_Functions". Du kan åpne den og se hva som faktisk skjer i hver funksjon. Alle disse funksjonene ble opprettet ved å eksperimentere fra engel og til engel på hver motor ved hjelp av bryterhuset som er forklart ovenfor. Hvis du er i tvil, kan du bruke kommentarseksjonen til å legge dem ut, så hjelper jeg deg gjerne.
Behandlingsbasert Android-applikasjon:
Android-applikasjonen for å kontrollere roboten ble bygget ved hjelp av prosessering Android-modus. Hvis du vil gjøre noen endringer i applikasjonen, kan du laste ned hele behandlingsprogrammet herfra.
Hvis du bare vil bruke applikasjonen, kan du laste den ned herfra som en APK-fil og installere den direkte på mobiltelefonen din.
Merk: Bluetooth-modulen din skal hete HC-06, ellers vil ikke applikasjonen kunne koble til Bluetooth-modulen.
Når applikasjonen er installert, kan du koble Bluetooth-modulen med telefonen din og deretter starte applikasjonen. Det skal se ut som dette nedenfor.
Hvis du vil gjøre appen din mer attraktiv eller koble til en annen enhet enn Hc-06. Du kan bruke behandlingskoden og gjøre noen endringer i den og deretter laste opp koden direkte til telefonen.
Arbeid med Bluetooth-kontrollert todelt robot:
Når maskinvaren, Android-applikasjonen og Arduino Sketch er klare, er det på tide å ha det gøy med roboten vår. Du kan kontrollere roboten fra Bluetooth-applikasjonen ved å bruke knappene i applikasjonen eller direkte fra seriell skjerm ved å bruke følgende kommandoer som vist på bildet nedenfor.
Hver kommando vil få roboten til å utføre spesielle oppgaver, og du kan også legge til flere handlinger basert på kreativiteten din.
Roboten kan også drives av en 12V adapter eller kan også drives av et 9V batteri. Dette batteriet kan enkelt plasseres under Perf-kortet og kan også dekkes med hodet på roboten.
Komplett arbeid av denne smarttelefonkontrollerte roboten finner du i videoen nedenfor.