Vi samler selvkørende robotter på Arduino. DIY Arduino robot Dele til at skabe en Arduino robot
I denne artikel vil vi bygge vores robot fra bunden. Hvad vi får, se billedet nedenfor. Robotten kører både uafhængigt og under kontrol af en smartphone. Vi vil også se på at bygge vores egen mobile robot fra bunden.
3 Den printer
Hvis jeg vil bygge en robot, skal jeg beslutte, hvilken platform jeg vil installere motorer, boards, batterier på. Jeg kan selvfølgelig købe en færdig version, men det er mere interessant at lave platformen selv. En sådan platform vil helt sikkert opfylde dine krav. Platformen kan laves fra org. Glas, krydsfiner, og jeg laver det af plastik.
Du kan sige, at det er ubelejligt at lave en platform selv, og du har brug for en masse værktøjer, fra en centerstans til en kværn. Og jeg siger, at vi har brug for fantasi og en 3D-printer.
3D printer? Alle kender nok en almindelig kontorprinter, der kan printe den tekst, vi skal bruge, på A4. Så en 3D-printer er en printer, der kan printe den ønskede del. Der findes forskellige 3d-printere. Jeg har en printer med FDM-teknologi (lag for lag aflejring). Hvilke andre tilgængelige 3d-printteknologier kan findes på internettet.
Mange 3D-printere kører på Arduino. Hvis du ønsker det, kan du bygge din egen 3D-printer. Hovedideen med en 3D-printer er, at du kan printe absolut hvad som helst, men vi vil printe en krop til en robot.
Lad os først definere platformbeskrivelsen. Jeg vil have platformen til at være 2 hjulet og skal passe til en Arduino, power, motorer og nogle sensorer.
Nu skal du tegne platformens layout på papir og placere de nødvendige komponenter på det. For eksempel sådan her.
Når layoutet er klar, skal du lave en 3D-model af platformen. Der er mange programmer til dette. Jeg plejer at bruge. Jeg vil ikke undervise i, hvordan man arbejder med kompasset, men hvis du er interesseret, kan du kigge på internettet eller bede i kommentarerne om at lave en lektion om kompasset.
Det er den platform, jeg fandt på.
Derefter skal du konvertere 3D-modellen til en G-kode, der kan forstås af 3d-printeren. Til dette er der specielle programmer - udskærere. Jeg bruger Repetier-Host-programmet med Sli3er-sliceren. Her er, hvordan delen ser ud, klar til at blive printet.
Og her er den trykte model.
Først for nylig havde vi en idé, og den færdige del er allerede foran os. Ved hjælp af en 3D-printer kan du skabe unikke ting i enkelte kopier. 3D printer er fantastisk. Jeg rådgiver alle!
Motorer
Nu skal vi tænke på, hvordan vores mobile robot vil bevæge sig. Det første, der kommer til at tænke på, er hjul. Så lad os gøre det.
Hvis nogen husker det, har vi allerede forsøgt at forbinde motoren til Arduino. Hvem husker ikke, ved ikke eller har ikke læst – se. Der er betydelige ulemper ved at forbinde en motor ved hjælp af en MOSFET - det er umuligt hurtigt at ændre hastigheden og rotationsretningen. Det er tid til at lære Arduino at styre motorer for alvor!
For at gøre dette kan du bruge L293D-chippen. L293D giver dig mulighed for at styre to motorer på én gang, med en strøm på 600 mA pr. kanal og spidsstrøm op til 1000 mA, og hvis du kombinerer kanalerne, så op til 1200 mA og 2000 mA spidsstrøm. Jeg vil fortælle om foreningen nedenfor.
Til at begynde med bør du som altid se på dataarket for at finde ud af, hvor og hvad du skal forbinde. Hvis du ikke kender til mikrokredsløb, så er det værd at læse artiklen.
Lad os komme igang. Lad os samle et simpelt skema med en motor og styre den. Vær opmærksom på montagediagrammet.
Hvis du ikke kan engelsk eller simpelthen ikke forstår databladet, så er her en beskrivelse af forbindelsen. Jeg håber, at alle kender nummereringen af mikrokredsløb eller lærte af en artikel om mikrokredsløb.
- Ben 1 - Ansvarlig for motorens rotationshastighed. En lignende er på ben 9. Den tager værdier fra 0 til 255, som nemt kan organiseres ved hjælp af PWM. Jeg tilsluttede EN til den femte pin på Arduino, som understøtter PWM.
- Ben 2 og 7 - Ansvarlig for motorens bevægelsesretning. Lignende er på ben 10 og 15. Anbringelse af en logisk enhed på en af disse ben vil få motoren til at dreje i én retning (afhængigt af motorens tilslutning), når en logisk enhed påføres den anden, vil motoren dreje i den ene retning. modsatte retning.
- Ben 3 og 6 - Du skal tilslutte motoren til dem. Polariteten er ikke vigtig, kun rotationsretningen vil afhænge af forbindelsen. Lignende - på ben 11 og 14.
- Ben 4 og 5 er slebet. Jeg tror ikke, det behøver en forklaring. Lignende - 12 og 13.
- Ben 8 - Strøm til motorerne. Den skal have strøm i området fra 4,5 til 36 volt.
- Pin 16 - en logisk enhed leveres til den fra Arduino. 5 volt, hvis noget.
Bøde! Motoren er tilsluttet. Nu kan du kode.
#define FRW_BUT 7 //Forward-knap #define BCW_BUT 6 //Tilbageknap #define SPD 5 //Rotationshastighedskontrol... #define FRW 4 //...rotationsretning (fremad)... # define BCW 3 / /...rotationsretning (bagud) #define SPD_POT A5 int xspeed = 0; //Variabel til bestemmelse af motorens rotationshastighed int frw_move = 0; //Variabel for "frem" kommando int bcw_move = 0; //Variabel for "back"-kommandoen void setup() ( //Design pins pinMode(SPD, OUTPUT); pinMode(FRW, OUTPUT); pinMode(BCW, OUTPUT); pinMode(SPD_POT, INPUT); pinMode(FRW_BUT, INPUT_PULLUP ); pinMode(BCW_BUT, INPUT_PULLUP); ) void loop() ( //Læs aflæsningerne fra potentiometeret //og bring dem til det ønskede område - fra 0 til 255 //Efter - send det til hastighedskontrolstiften xspeed = analogRead(SPD_POT); constrain(xspeed, 0, 1023); xspeed = map(xspeed, 0, 1023, 0, 255); // Bestem fremad-knappen, hvis(!digitalRead(FRW_BUT)) ( frw_move = 1; ) else ( frw_move = 0; ) //Beslut trykket på "tilbage"-knappen if(!digitalRead(BCW_BUT)) ( bcw_move = 1; ) else ( bcw_move = 0; ) //Kald funktionen for at sende data til L293D motor(); ) void motor() ( //Send data til L293D analogWrite(SPD, xspeed); digitalWrite(FRW, frw_move); digitalWrite(BCW,bcw_move); )
Hvordan virker det? Det fungerer ganske enkelt. Når du trykker på venstre knap, drejer hjulet i den ene retning, og når du trykker på højre knap, drejer det i den anden retning. Ved at dreje på potentiometerknappen kan du justere motorens rotationshastighed. Driften af vores motortestrig er vist i videoen.
Z.Y. Ja, jeg ved godt, at kvaliteten af videoen ikke er fantastisk, men jeg vil prøve at finde et anstændigt kamera og arrangere et sted at skyde så hurtigt som muligt.
Nu om tilslutning af L293-kanaler. Hvis du vil tilslutte en kraftigere motor, kan du kombinere kanalerne.
Den første måde er at forbinde analoge udgange fra mikrokredsløbet parallelt, hvilket vil øge den maksimale strømstyrke med en faktor på to. Minus - kun én motor kan tilsluttes et mikrokredsløb.
Den anden måde er at lodde endnu en L293 oven på L293. Vi tager og lodder pin 1 til pin 1, pin 2 til pin 2 og så videre. Denne metode giver også en stigning i strømstyrken to gange, men i modsætning til den første giver den mulighed for at styre to motorer på én gang. Du har måske en idé - skal jeg lodde et par L293'ere mere? Desværre vil den efterfølgende lodning af mikrokredsløb ikke føre til en stigning i strømstyrken med yderligere 600 mA. Stigningen vil være lille.
"Øh, jeg bliver nødt til at rydde op i min 12-volts motor..." Bliv ikke ked af det. For mere kraftfulde motorer er den ældre bror L293 - L298 velegnet, men nu vil vi ikke overveje det. Det gør vi lidt senere.
Motor Skjold
Enig i at med sådan et bundt ledninger ser det hele ikke særlig godt ud. For at slippe af med det kan du lodde kredsløbet med L293 på et trykt kredsløb eller breadboard til lodning, men hvad hvis du ikke vil lodde eller ikke ved hvordan? Hertil findes der færdige løsninger i form af skjolde til eksempelvis Arduino. Jeg vil fortælle om en af dem - Motor Shield V1 fra DK Electronics.
Her er faktisk et foto af skjoldet.
Dette skjold har to L293D'er, som giver dig mulighed for at styre fire motorer på én gang. Der er også to kontakter til servomotorer. Strøm leveres enten til klemrækken eller, med jumperen installeret, fra Arduino-strømforsyningen. Jumperen giver dig også mulighed for at tage strøm til Arduino fra skjoldet. Der er et særligt bibliotek til at arbejde med dette skjold. Du kan downloade det.
Til bestyrelsens minusser. Næsten alle digitale ben bruges til at arbejde med skjoldet, bortset fra 0, 1, 2, 13. Som vi ved, bruges ben 0 og 1 af Arduino til firmware, så det er bedre ikke at bruge dem.
Der er også en god side. Hvis du ikke tilslutter servoer, frigøres f.eks. ben 9 og 10, og hvis du ikke bruger nogen af motorerne, så frigives ben 3, 5, 6, 11 afhængig af den ubrugte motor. Og videre. Vi har stadig seks analoge udgange til rådighed, som kan bruges som digitale, hvis det ønskes.
Lad os begynde at forbinde motorerne. For eksperimentets skyld vil vi lave en robot, der bevæger sig fremad, bagud og også roterer rundt om sin egen akse. Som platform tog jeg min egen udvikling, beskrevet ovenfor. Du kan tage hvad dit hjerte begærer, det vigtigste er, at det er velegnet med hensyn til egenskaber.
Vi får brug for
- Arduino UNO - Enhver anden Arduino UNO formfaktor kan bruges. Leonardo eller Iskra, for eksempel.
- Motorskjold - Andre versioner af dette skjold vil fungere.
- Motorer til 6V - Du kan tage alle, der passer til motorskjoldets egenskaber.
- 42 mm hjul – Hjul, der matcher motorer og platform
- Motorophæng - Motorer skal være fastgjort til platformen. Tag den der passer til dig.
- Strøm - Jeg tog en batteripakke og fik omkring 5 volt ud, hvilket ikke er nok til at drive motorerne og Arduino, så jeg tilsluttede en DC/DC konverter og hævede spændingen til 9V. Hvis der ikke er nogen konverter, så kan du bruge den sædvanlige krone ved at tilslutte den til Arduino strømforsyningen.
Det er tid til at samle vores robot.
Trin 1
Vi forbinder Arduino og Motor Shield.
Trin 2
Vi samler motorerne og fastgør dem til platformen.
Trin 3
Vi samler strøm gennem en boost-konverter.
Til dem der har Crona. Glem ikke jumperen!
Trin 4
Vi fastgør motorerne til Motor Shield med Arduino.
Trin 5
Vi tilføjer mad.
Trin 6 (valgfrit)
Sæt låget på - for æstetik.
Vi har en færdig robot. Nu er det tid til at programmere det. Lad os se på koden.
//Inkluder biblioteket til at arbejde med Motor Shield #include
Bøde! Tid til at tjekke. Her er en video fra min test. Hvad med dig?
"Sagde du noget om robottavler?" - kan de, der læser den indledende lektion i del 2 af kurset sige. Ja, der er sådanne gebyrer. Overvej Strela robotplatformen.
Robotdrøm. (Næsten). Jeg beskrev fordelene ved tavlen. Lige til pointen.
På den er den ældre bror L293 - L298 installeret. Og stifterne vises i tripler, hvilket er det helt rigtige til at forbinde mange sensorer.
Dette kort kan tilsluttes i stedet for Arduino UNO og Motor Shield. Derudover skrev fyrene fra Amperka et bibliotek til at arbejde med pilen, hvilket gør styring af motorerne til en ret triviel opgave.
For dem der ikke ved det, lad mig fortælle dig. Ethvert normalt bibliotek har eksempler på, hvordan man bruger det, og Arrow-biblioteket er ingen undtagelse. For at finde dem, gå til fanen Filer -> Eksempler -> Strela. Der vælger vi StrelaMotors eksempel, hvor der udføres en skitse, der ligner skitsen ved hjælp af Motor Shield. Der er i øvrigt også eksempler på Motor Shield. Hvis du er interesseret, så tag et kig.
Hvad du ellers kan gøre med Pilen - se nedenfor Og vi går videre til trådløs kommunikation via Bluetooth.
Bluetooth
En robot der selv kører rundt i lokalet er selvfølgelig god, men jeg vil gerne selv styre robotten. For at gøre dette skal du organisere en forbindelse mellem Arduino og kontrolenheden.
Som kontrolenhed valgte jeg en smartphone. Vi vil organisere kommunikation ved hjælp af Bluetooth-protokollen, så det er tid til at stifte bekendtskab.
Dette er HC-06-modulet. Jeg vil ikke gå for meget i detaljer, men hvis du er interesseret, så lad os komme videre. Vores mål er at styre robotten fra en smartphone. Lad os begynde, måske.
Først skal du forbinde HC-06 til Arduino. Vi vil oprette forbindelse ved hjælp af Software Serial. Dette bibliotek giver dig mulighed for at efterligne den serielle port på de ben, vi har brug for. For eksperimentets skyld, lad os prøve at gøre dette på benene A0(RX) og A1(TX). Hvorfor? Husk hvad jeg sagde om Motor Shield.
Vi forbinder sådan:
- Vcc - til 5V
- GND til GND
- RX til TX
- TX til RX
Jeg vil forbinde HC-06 til robotten, vi byggede ovenfor. For at gøre dette vil vi bruge de tre striber på motorskjoldet.
Robotten er klar. Det mangler at blive programmeret.
Før du læser koden, er der et par ting, du skal vide. Motorer er ikke perfekte, som alt andet i denne verden. Selv to motorer fra samme batch efter hinanden vil være lidt forskellige, hvilket vil påvirke forskellen i antallet af omdrejninger ved samme spænding. Hvis motorerne blot er forbundet til motorskjoldet og får samme hastighed, og dette er den samme spænding, så går robotten ikke ligeud, men lidt eller meget til siden. Dette kan ses i videoen ovenfor.
For at undgå dette anvender vi justeringsfaktorer. Mit venstre hjul snurrer meget hurtigere end det højre, så jeg sætter en faktor på 0,62 for at kompensere. Værdien af koefficienten vælges eksperimentelt.
// Inkluder biblioteker til at arbejde med Motor Shield og Software Serial #include
Robotten blev spurgt. Lad os nu tage en smartphone.
RC controller
Der er mange forskellige applikationer til at forbinde en Arduino og en smartphone via Bluetooth. I søgningen vil nøgleordene være: Arduino, Bluetooth, RC.
Jeg valgte en app kaldet Bluetooth RC Controller. Det er perfekt til vores formål. Når der trykkes på knappen, sender applikationen en char-værdi til HC-06, som igen sender den indkommende værdi til Arduino. Værdien, der sendes, når der trykkes på knappen, er selvindstillet.
For at etablere en forbindelse med robotten skal du klikke på gearet og vælge "Indstillinger" punktet I "Indstillinger" skal du sikre dig, at knapperne svarer til disse sendte tegn, eller ændre Arduino-koden.
Efter indstilling af tegnene kan du oprette forbindelse til HC-06. Klik på gearet og gå til "Forbind til bil" Et vindue åbnes med parrede enheder. I den vælger vi HC-06. Hvis det ikke er der, så leder vi efter det ved hjælp af "Scan efter enheder". Hvis enheden bliver fundet, men ikke ønsker at parre, så gå til Bluetooth på din smartphone og par som normalt. Standardadgangskoden er 1234. Derefter skal du gå til "Scan efter enheder" og oprette forbindelse.
Når forbindelsen er etableret, tændes det grønne lys øverst, og HC-06 holder op med at blinke. Du kan begynde at køre. Strimlen på toppen er ansvarlig for bevægelseshastigheden.
Lad os gå tilbage til Arrow. En anden fordel ved Arrow er muligheden for at installere Bluetooth XBee-format, og det gode er, at andre stifter forbliver frie. Og da der er et færdigt bibliotek til Pilen, der er med til at reducere koden til at styre motorerne, er det meget værd at bruge Pilen til at styre robotten via Bluetooth.
For at gøre dette skal du forbinde XBee til Strela'en, flashe den med skitsen fra eksemplerne kaldet "ArduinoBluetoothRCCarOnStrela" og forbinde til XBee via RC-controlleren.
råd
Min robot er klar og kører endda på kommando fra en smartphone. Men ikke alt kan gå glat. Jeg vil tale om nogle problemer og deres løsninger, samt give nogle råd til begyndere robotikere.
Hjulene drejer i den forkerte retning- dette problem elimineres let ved at omarrangere ledningerne i klemrækkerne eller programmæssigt.
Bluetooth-modulet virker ikke- du skal kontrollere tilstedeværelsen af en brændende rød LED på modulet. Hvis den ikke lyser, skal du kontrollere, at Bluetooth-modulet er tilsluttet korrekt. Hvis LED'en er tændt, men forbindelsen er etableret, skal du sørge for, at modulets RX er forbundet til TX på kortet og omvendt, og også prøve metoden til at parre modulet med Arduino via standarden Bluetooth interface.
Robotten kører ikke ligeud- Jeg beskrev dette problem lidt højere, da jeg talte om Bluetooth og Motor Shield.
Under kørslen stopper robotten pludselig og mister forbindelsen medHC-06- Der er et problem med strømforsyningen. Vi ved, at Arduino har brug for mindst 7V for stabil drift, og vi ved også, at motorer spiser rigtig godt. Hvis du fører multimeterproberne til spændingsforsyningsterminalerne og måler spændingen med motorerne slukkede og derefter tænder for dem, kan du se, at spændingen på multimeteret vil falde. Desuden kan spændingen falde på forskellige måder.
Hvis der er tilsluttet en strømforsyning, som ikke kan levere nok strøm til motorerne, så kan spændingen falde meget, fra f.eks 9 til 5 volt, og 5V vil ikke længere være nok til Arduinoen, og den vil genstarte. Løsningen er at tilslutte en kraftigere strømforsyning. Hvordan man beregner, vil jeg fortælle nedenfor.
Hvis du tilslutter en mere kraftfuld strømkilde, kan spændingsfaldet kun være i et par millisekunder, men de kan være nok til at genstarte controlleren. Løsningen er at installere en kondensator på mindst 1000 uF parallelt med strømledningerne, kapacitansen kan bestemmes eksperimentelt. Jeg satte kondensatoren på 3300 uF og på 16V. Glem ikke at se på kondensatorens maksimale spænding.
Når strømforsyningen er kraftig nok, er spændingsfaldet ikke mere end 0,2V.
Nogle tips til begyndere robotter
Ved at starte robottens layout er den første ting at gøre at tage sig af at beregne kraftenhedens effekt og vælge den passende strømkilde. Det vil være en skam, hvis 4 AAA batterier ikke driver dine 4 6V motorer, og der ikke er plads til mere strømforsyning.
For at beregne effekten leder vi efter egenskaberne for motorer, tavler, sensorer. Fra fysikkens forløb ved vi, at effekt kan beregnes ved formlen P = IU, hvor I er strømstyrken, U er spændingen. Ved hjælp af denne formel og egenskaber er det nemt at beregne strømforbruget for den færdige enhed, og ved at kende strømforbruget og driftsspændingen for forsyningen kan du finde ud af den optimale strømstyrke, der kræves til driften af enheden, ved at kende strømmen styrke, kan du bestemme den nødvendige batterikapacitet og enhedens driftstid fra det valgte batteri .
Som sagt bør du altid sætte dig et specifikt mål, når du når hvilket projektet kan anses for afsluttet. Der er nuancer i denne tanke. Hvis projektet er stort nok, så er det ikke så let at nå målet, især når man skriver kode. Da jeg først skrev en stor kode, tænkte jeg - "Nu skriver jeg alt og tjekker det ud! ' når du forsøgte at kompilere koden, kompilerede den ikke med det samme, da der var flere fejl. Jeg fjernede fejlene, men kun koden virkede ikke som jeg ville. Jeg var nødt til at omskrive alt næsten fra bunden, gradvist tilføje kode og kontrollere den resulterende kode for funktionalitet. Så jeg råder dig til at gøre det samme.
Hvis der er et mål om at lave en "adgangskode" på tre tegn, så skal du ikke programmere alle tre på én gang. Det er bedre at lave en adgangskode fra et tegn, kontrollere det, derefter fra to og efter verifikation - fra tre. Det hjælper mig.
Robotten er skabt ved forsøg og fejl. Det vil ikke være muligt at programmere én gang, så handlingen udføres perfekt. De samme tuning-koefficienter er på hjulene, så du skal ikke give op, hvis noget ikke lykkes, og hvis det slet ikke lykkes, så kan du henvende dig til venlige mennesker på foraene eller skrive til mig, vi vil helt sikkert hjælpe!
Konklusion
Robotics er fantastisk! Snart tror jeg, at robotter vil tage og endda allerede har fundet sted i folks liv. Vi lavede den enkleste robot-bil styret fra en smartphone, senere vil vi beskæftige os med mere seriøse projekter, men for nu - ses vi snart!
God dag! Før jer, kære, er en kunstrobot, der kan male forskellige sfæriske eller ægformede genstande i størrelser fra 4 til 9 cm.
For at lave det skal du bruge en 3D-printer, et sæt standardværktøjer + Arduino.
Bemærk: Giv ikke op på projekter, der bruger en 3D-printer. Hvis det ønskes, kan du altid finde et sted eller en metode, hvor du kan bestille udskrivning af de detaljer, der er nødvendige for projektet.
Trin 1: Lidt om robotten
Kunstrobot - to-akset hjemmelavet, som kan printe på de fleste sfæriske overflader. Robotten er konfigureret til en bestemt type objekt (pingpongbolde, julepynt, pærer og æg (and, gås, kylling ...).
Højpræcisions stepmotorer med højt drejningsmoment bruges til at rotere det sfæriske objekt og flytte manipulatoren, og et støjsvagt og pålideligt SG90 servodrev bruges til at løfte håndtagsmekanismen.
Trin 2: Nødvendige dele
At lave gør-det-selv håndværk vi skal bruge:
- 2x lejer 623;
- Hårnål med en diameter på 3 mm og en længde på 80-90 mm;
- 1x fjeder (længde 10 mm og diameter 4,5 mm);
- 2x NEMA 17 stepmotorer (drejningsmoment 4,4 kg/cm);
- Kabler til motorer (længde 14 + 70 cm);
- USB-kabel;
- 1x SG90 servo;
- Arduino Leonardo;
- skjold JJRobots;
- 2xA4988 stepmotordrivere;
- Strømforsyning 12V / 2A;
- 11x M3 6mm skruer;
- 4x M3 16mm skruer;
- 4x møtrikker M3;
- 2 x 20 mm sugekopper;
- 1x vingemøtrik M3;
- 1x markør;
Trin 3: Generel ordning
Som et "snydeark" kan du bruge denne ordning.
Trin 4: Lad os komme i gang!
Robotten flytter en manipulator med en markør påsat, som drives af en stepmotor. En anden stepmotor er ansvarlig for at dreje objektet, som tegningen er påført (æg, kugle ...). To sugekopper bruges til at holde emnet på plads, en fastgjort til stepmotoren og den anden på den modsatte side af emnet. En lille fjeder vil trykke på sugekoppen for at hjælpe den med at holde emnet. SG90 servoen bruges til at hæve/sænke markøren.
Trin 5: Manipulator
Monter møtrikken i det forberedte hul, og spænd 16 mm skruen. Lad os gøre det samme for elementholderen (til højre på billedet ovenfor). Ved oprettelsen af hængslet til manipulatoren blev der brugt 2 16 mm skruer. Dette hængsel skal rotere frit efter tilspænding af skruerne.
Trin 6: Sukker
Installer en af sugekopperne inde i hullet i emneholderen.
Trin 7: Montering af stepmotorer
Fastgør begge stepmotorer til hovedrammen med 8 skruer.
Trin 8: Rotationsakse
Lad os placere alle elementerne som vist på billedet ovenfor.
- Suger;
- Skrue;
- Øverste del;
- Forår;
- Leje 623 (skal indbygges i venstre kop);
- Venstre kop;
- Fri plads til hovedrammen;
- Højre kop;
- Leje 623;
- Adskillelsesring;
- Vingemøtrik (M3).
Trin 9: Sæt alt på plads
Indsæt den samlede manipulator på stepmotorens akse.
Installer venstre støtte på stepmotorens akse.
Markøren og ægget er angivet som et eksempel (du behøver ikke at placere dem nu).
BEMÆRK: Servoen skal justeres. Du bliver nødt til at genindstille dens vinkel under kalibreringsprocessen.
Trin 10: Elektronik
Fastgør elektronikken på bagsiden af hovedrammen med skruer (2 vil være nok).
Lad os forbinde kablerne.
Hvis du vender polariteten ved tilslutning af stepmotorer, vil de blot rotere i den modsatte retning, men med en servo er situationen ikke så harmløs! Så dobbelttjek polariteten før tilslutning!
Trin 11: Programmering af Arduino Leonardo
Lad os programmere Arduino Leonardo ved hjælp af Arduino IDE-softwaremiljøet (v 1.8.1).
- Download Arduino IDE (v 1.8.1) og installer programmet;
- Lad os køre softwaren. Vælg Arduino Leonardo-kortet og den tilsvarende COM-PORT i menuen "værktøjer->bræt";
- Lad os åbne og downloade Sphere-O-Bot-koden. Lad os pakke alle filerne ud i én mappe og kalde det "Ejjduino_ARDUINO".
Trin 12: Kunstrobotten er klar til at skabe kunstværker
Trin 13: Robotstyring
Software blæklandskab. Download og installer Inkscape-softwaren (jeg anbefaler stabil version 0.91).
Download og installer EggBot Control-udvidelsen (version 2.4.0 er blevet fuldt testet).
EggBot Control Extension for Inkscape er et værktøj, der skal bruges ved test og kalibrering af EggBot og overførsel af tegninger til ægget. Først skal du starte Inkscape. Efter lancering af Inkscape vises menuen "Udvidelser", og i den skal du allerede vælge undermenuen "Eggbot". Hvis du ikke kan se Eggbot-undermenuen, har du ikke installeret udvidelserne korrekt. Sikkerhedskopier og følg omhyggeligt instruktionerne for installation af udvidelser.
Det er alt, tak for din opmærksomhed!)
Den sidste del af artiklen handler om en lille robot, som vi samler på et chassis – et låg fra en plastikmadbeholder. Hjernen i vores robot er Arduino UNO-kortet, Driver Motor Shield-kortet styrer motorerne og servoen, forhindringssensoren - Ultralyds-ekkolod - øjne som Wally (fra tegneserien) - "HC-SR04 Ultrasonic Sensor". , . Hvordan laver man en robot på Arduino?
9. Tilslutning af batteri og motorer
Når du tilslutter batteriet, skal du være helt sikker på, at polariteten er korrekt, som man siger mål 7 gange, stik en gang. Prøv at følge denne regel - den røde ledning er altid til + strøm, den sorte ledning er jordet, den er minus, den er GND. Producenter forsøger at følge de samme regler. Derfor forbinder vi ledningerne, der kommer fra batterirummet, til + M- og GND-blokken på motorstyringskortet. Vi forbinder ledningerne fra drivmotorerne til blokkene M1, M2 på motorstyringskortet. Den venstre side i kørselsretningen er forbundet med blokken M1, den højre side til blokken M2. Du skal ikke bekymre dig om motorernes polaritet endnu, den kan ændres, hvis noget går galt under testen.
10. Kontroller modulernes polaritet og korrekte tilslutning
Et meget vigtigt og afgørende øjeblik ved montering af en mikrorobot er at kontrollere den korrekte installation, forbindelser, moduler i henhold til blokdiagrammet, se på markeringerne på tavlerne, tjekke med en tester, strømforsyningens polaritet, hvem der har en tester .
11. Arduino programmeringstrin
Programmet uploades til Arduino-mikrocontrolleren fra en computer ved hjælp af et USB-kabel og et særligt program - programmerings- og redigeringsmiljøet til skitser (programmer) - Arduino IDE. Du kan hente programmet fra arduino.cc hjemmesiden, Download sektionen, hvor du altid kan downloade den seneste, seneste version af programmet. Efter at programmeringsmiljøet er installeret, er det kun tilbage at vælge fra menuen i driverprogrammet, hvilket board du vil bruge - i vores tilfælde Arduino UNO, og COM-porten, som Arduino er tilsluttet via USB-emulering. Der findes en masse af alle mulige slags manualer om dette emne, så vi springer denne fase over (for en sikkerheds skyld - menuen Værktøjer > Seriel port).
Programmet for mikrorobotten er tilgængeligt fra vores hjemmeside, dog kun efter registrering, en joke Mini Robot på Arduino. For at programmet skal fungere, er der behov for yderligere biblioteker - AFMotor.h, Sevo.h, NewPing.h, de er alle i arkivet, du skal pakke arkivet ud i mappen med det installerede Arduino IDE-program. For mig er dette c: Program Files (x86) Arduino-biblioteket, bibliotekerne skal placeres i mappen c: Program Files (x86) Arduino libraries. Gå derefter til mappen c:Program Files (x86)ArduinolibrariesAPC_4_ROBOT og dobbeltklik på APC_4_ROBOT.ino dette er selve skitsen, så starter programmeringsmiljøet. Vi forbinder det bare Arduino Uno-kort (det vil sige uden tilsluttede moduler) via USB-kablet til computeren, tryk på knappen med pilen til højre, programmet vil begynde at uploade til controlleren. Hele processen tager et par sekunder, og hvis alt er tilsluttet korrekt, bør ingen røde inskriptioner lyse op, og indikatoren i nederste højre hjørne vil fuldføre sin bevægelse 100%. Programmet til Arduino er installeret i Atmega328-controlleren.
12. Start af robotten
Mini robot på Arduino - klar til at flytte. Robot Wally
Det er muligt at udføre den første, men alligevel prøvekørsel af vores robot. Vores robot kørte ikke korrekt, det ene hjul drejede korrekt, og det andet i den modsatte retning. Jeg var nødt til at ændre polariteten af motorledningerne på blokken M2. Men så klarede vores lille robot alle hjørner og forhindringer i rummet med ære.
Jeg dedikerer denne artikel til alle begyndere, der beslutter sig for at lære Arduino. Yderligere undersøgelse kan fortsættes fra den første lektion - blinkende LED. Materialet med robotten er meget interessant, og for at interessere dig, besluttede jeg at starte med præcis, hvordan man bygger en robot, der går rundt om forhindringer. Resten bliver meget lettere, og vil gå som et urværk. Denne robot virker virkelig. Held og lykke til alle!
P.S. Det var en ret fri oversættelse af en artikel, der engang fandtes på internettets store vidder, mere selvfølgelig gag, fordi alt blev lavet på en ny måde, tegningerne var færdige, der var ingen links til kilden , fordi dokumentet var Words.
De begynder at lære arduino ved at skabe simple robotter. I dag vil jeg tale om den enkleste robot på arduino uno, der ligesom en hund vil følge din hånd eller enhver anden genstand, der reflekterer infrarødt lys. Denne robot vil også underholde børnene. Min 3-årige nevø legede villigt med robotten :)
Jeg vil starte med at opremse de dele, der vil være nødvendige, når du bygger - Arduino UNO;
Infrarød afstandsmålere;
- 3-volts motorer med gearkasser og hjul;
- stik til 3A-batterier;
-batteri (hvis der ikke er nok batterier);
- Relæ til at styre motorer;
Nå, og andre materialer, der vil være nødvendige i skabelsesprocessen.
Først laver vi basen. Jeg besluttede at lave den af træ. Jeg savede en træplanke til på en sådan måde, at motorerne sidder perfekt i slidserne
Så klemmer jeg motorerne med en planke af træ, skruer denne stang
Længere på sagen placerede jeg en arduino, et relæ, et brainboard, afstandsmålere og under chassisbasen en roterende
Nu forbinder vi alt i henhold til skemaet
Til sidst indlæser vi følgende skitse i arduino:
Konst int R = 13; //ben, hvortil IR afstandsmålere er forbundet const int L = 12; int motor L = 9; //ben, som relæet er tilsluttet int motorR = 11; int knapState = 0; void setup() ( pinMode(R,INPUT); pinMode(L,INPUT); pinMode(motorR,OUTPUT); pinMode(motorL,OUTPUT); ) void loop() ( ( buttonState = digitalRead(L); if (buttonState == HIGH)( digitalWrite(motorR,HIGH); ) else ( digitalWrite(motorR,LOW); ) ) (( buttonState = digitalRead(R); if (buttonState == HIGH)( digitalWrite(motorL,HIGH); ) else ( digitalWrite(motorL,LOW); ) ) ) )
Funktionsprincippet er meget enkelt. Den venstre afstandsmåler er ansvarlig for det højre hjul, og den højre for det venstre
For at gøre det mere overskueligt kan du se en video, der viser skabelsesprocessen og robottens handling
Denne robot er meget enkel, og alle kan lave den. Det hjælper dig med at forstå, hvordan moduler såsom relæer og IR-afstandsmålere fungerer, og hvordan du bedst bruger dem.
Jeg håber du nød dette håndværk, husk at håndværk er fedt!