Enkla Arduino Robotics plattform! (3 / 5 steg)

Steg 3: Arduino och PC programmering



För att programmera Arduino, måste du givetvis programvaran Arduino och en USB-kabel. Du kan också programmera Arduino använder en seriell port och en TTL nivå omvandlare om din dator har en seriell port. Observera att USB-seriella gränssnittet inte kommunicerar med den Arduino ATMega processor om det finns en nivå omvandlare ansluten till Arduinos seriell stift (stift 0 och 1) så kopplar bort det innan du använder USB.

Arduinoen behöver vi ett seriellt gränssnitt som gör att datorn för att kontrollera motorerna. Vi behöver också en PWM servo drive system att skicka rätt signaler till Vex motorerna och se till att de går i rätt riktning när de får rätt värden. Jag lade också till några enkla LED blinkar, främst för statusindikation men också eftersom det ser coolt.

På datorn kommer vi att öppna serieporten och skicka ramar som Arduino programmet kommer att förstå. Datorn måste också komma med motor värden. Ett enkelt sätt att göra detta är att använda en USB-spelkontroll eller en styrspak, jag använder en Xbox 360-handkontrollen. Ett annat alternativ är att använda en dator i nätverk (en netbook eller en liten mini ITX styrelse) på roboten själv för att köra trådlöst. Med en netbook, kan du även använda den inbyggda webbkameran att strömma tillbaka en video foder och kör din robot distans. Jag använde Linux sockets-system att network programmering för min setup. Ett program ("joystick server") körs på en separat dator som har en styrenhet ansluten till det, och ett annat program ("klient") som körs på netbook ansluten till Arduino. Detta länkar de två datorerna och joystick informationen skickas till den netbook, som sedan skickar ut följetong paket till Arduino som driver robot.

Om du vill ansluta till Arduino med en Linux-dator (i C++) måste du först öppna den seriella porten på rätt baud och sedan skicka värdena med ett protokoll som har också använts på Arduinos kod. Min följetong format är enkel och effektiv. Jag använder 4 byte per "frame" för att skicka två motor rusar (var och en är en byte). De första och sista byte är hårdkodade värden som används för att hålla Arduino från skickar fel byte av PWM-koden och orsakar motorerna att bli galna. Detta är det primära syftet med RGB LED, det blinkar rött när den seriella ramen var ofullständig. 4 byte är följande:

255 (hårdkodade "start" byte),,, 200 (hårdkodade "end" byte)

För att säkerställa pålitlig mottagning av data, kontrollera att du satt nog fördröjning mellan program loopar. Om du kör PC koden för fort, det kommer att översvämma hamnen och Arduino får börja släppa eller ens mis läser byte. Även om det inte släppa information kan det också overflow Arduinos serieport buffert.

För Vex motors använde jag Arduino Servo biblioteket. Eftersom Vex motorer bara kontinuerlig rotation motorer, använder de den exakt samma signalering som servon använder. I stället för 90 grader är mittpunkten, emellertid det stopp punkt där motorn inte gör snurra. Sänka "vinkeln" orsakar motorn att börja snurra åt ett håll, samtidigt höja vinkeln gör det snurra åt andra hållet. Ju längre bort från mittpunkten du är, kommer att desto snabbare motor snurra. Medan det inte kommer att bryta något om du skickar värden större än 180 grader till motorerna, skulle jag råda begränsa värden från 0 till 180 grader (som i detta fall är hastigheten steg). Eftersom jag ville ha mer kontroll och mindre ur kontroll robot kör, jag la en programvara "hastighetsbegränsning" till mitt program som inte tillåter att hastigheten ökar över 30 "grader" i endera riktningen (är 90 +/-30). Jag planerar att lägga till en seriell port-kommando som ändrar hastighetsgränsen, så att datorn kan flytta gränsen på fluga om du vill gå snabbt (jag har testat i små rum så jag inte vill att påskynda och krascha in i väggen, särskilt med en netbook på det).

För mer information, ladda ner den bifogade uppförandekoden i slutet av detta Instructable.

Se Steg
Relaterade Ämnen

Carduino - A enkla Arduino robotics plattform med ett eget bibliotek

detta är, som titeln säger, en Arduino-baserad robotics plattform, med ett eget bibliotek. "Standard"-modellen kommer med två tillbaka motorer, två omni-hjul fram, och en distansera sensor monterad på framsidan. Det har också bakbord utrymme på...

(Ännu en) DIY Arduino Robotics Platform-A Robot chassi från reservdelar

Jag gav min systerson en Arduino startpaket för några månader sedan. Jag frågade min syster hur han gjorde det och hon sa att han hade haft några problem räkna ut. Jag kommer att få se honom veckan efter jul, så jag sa till honom att få satsen och vi...

Enkla Arduino Arm (Pan/Tilt)

Spela katapult på kontoret inspirerade mig att bygga denna Arduino Arm för att tryck på linjalen och släpp för att skjuta. Även om den underlåter att uppfylla min första intension, tror jag denna enkla Arduino Arm kommer att leda till andra svalare p...

CupBot - 3D tryckt Robotics plattform

Här är en stor helg robotics projekt som du kan genomföra kallas CupBots baserat på Raspberry Pi och BeagleBone svart som är kreditkort storlek datorer och även 3D-utskrifter...De flesta 3D tryckta delar är gemensamma för både versionen av CupBot och...

Intellekten Edison och Ridemakerz RC chassi Robotics plattform

När jag var inbjuden att delta i Intel IOT tävlingen trodde jag det var en fantastisk möjlighet. Först av allt, skulle det ge mig tillgång till några riktigt awesome hårdvara och sensorer. Jag är en maker på en budget, så det var bra. Jag är också en...

DIY 4WD bil organ för arduino robotics projekt och RC bilar

Hej instructables nördar hälsningar från Egypten :) :)i detta instructable jag kommer att visa dig hur att designa och göra en 4 hjul bil för robotics, arduino, RC bilar... etc. på ett enkelt sätt bara följa mig ;): D >>>Steg 1: Designa kroppen J...

Enkla Arduino PIR rörelse detektor modul Demo

Jag vet att det finns gott om Instructables och tutorials om detta redan. Mitt mål är att förenkla allt den nakna ben minsta krävs så en nybörjare (som jag) kan få det att fungera innan de blir frustrerade och ge upp.För att förhoppningsvis göra dett...

Enkla Arduino kontrollerade Aquaponic System

detta instructable täcker vissa aspekter av bygga en aquaponic system. Jag använder en arduino micocontroller för att reglera frekvensen av systemet cykling.Om du ett för att bygga ett aquaponic system, instructables, Bloggar, böcker bör genomföras i...

Enkla Arduino seriell kommunikation.

jag har velat göra en trådlös robot ett tag genom att använda x bin eller andra typer av trådlös kommunikation. Detta är inte en komplett i'ble till där jag visa dig hur man gör en robot detta är mer av en mall. Jag ska visa dig koden gjorde jag och...

Enkla Arduino trådlösa Mesh

Bygga en låg kostnad enkla trådlösa mesh med arduinos och lång räckvidd APC220 radiomoduler. Trådlösa mesh-nätverk kan hantera enskilda noder inte fungerar och är toleranta till miljöer som skogar och kullar där data inte kanske gå direkt från en pun...

Enkla Arduino Monome

ÖversiktDetta Instructable är den enkla versionen av den MaKey MaKey Monome, elektronisk musik Mätinstrument utformat för att vara lätt för barn och nybörjare att reproducera (och upprepa på!). Känn dig fri att kolla in min hemsidaför mer information...

FunShield, en Arduino pedagogiska plattform

Jag har varit med SparkFun uppfinnarens Kit för att undervisa elektronik och programmering till tonåring beslutsfattare på våra lokala offentliga bibliotek i Corvallis Oregon. Vi har haft massor av framgång, men att kunna få ett bröd-bordade krets fu...

Enkla Arduino LED flagga Flasher

Detta är min första Arduino projekt)Jag kommer att Visa enkla steg hur man gör led flagga Flescher!Steg 1: materialDu behöver:ArduinoenSkärbräda3 x 240 ohm motstånd1 x tydlig röd LED1 x klart blå LED1 x klart gula ledNågra startkablarSteg 2: Placera...

Dumma enkla Arduino LF RFID Tag Spoofer

RFID-taggar är överallt. De används i byggnad passersystem, pass, inventering spårning... Detta instructable visar hur du kan använda en Arduino och några enkla komponenter (wire spole transistor, kondensator, resistor) att göra en enhet som kan imit...

Mycket enkla Arduino elektriska lås

detta är en instructable för en mycket enkel Arduino kontrollerade elektriska lås.Den centrala idén här är att vara mycket enkelt eftersom det var mer av ett proof of concept prototype typ av sak.Arduinoen används som växel till kontroll låsa sig och...

Enkla arduino virtuella knappsatsen

Hej jag bara skapat denna enkla knappsatsen för att låsa upp dörrar eller göra några andra sakerkrav:dator (någon os)Arduinoentillval för att bygga reläutgångRelay 5vdiod 1n4007resistor 270 ohmoptocouplerextern strömförsörjningSteg 1: bulding reläutg...

Enkla Arduino Sunrise lampa

hatar att vakna upp i mörkret? Jag också. Jag hittade en billiga 24 LED lampa och tyckte det skulle vara ganska lätt att göra det slå på sakta med min Arduino, som bör bidra till att bannlysa vissa av dessa "vakna upp i mörkret" vintern blues.Du...

Enkla Arduino stoppur

En Arduino stoppur tillverkad i ett befintligt LiquidCrystal bibliotek exempel - Hello World. Det visar du tiden gått sedan Återställ. Detta instructable är inspirerad av den instructuble skapad av Conor M - Arduino stoppur. Jag skrapat ned koden och...

Enkla Arduino LCD-spel!

Hej världen! Rent kol här och i dag jag kommer att visa dig hur man gör ett mycket enkelt spel som kan spelas på en LCD-knappen sköld för Arduino. Tyvärr det är inte faktiskt ett spel eftersom allt du kommer att kunna göra är göra en karaktär promena...