Bygga en robotarm för Science Olympiad (9 / 14 steg)

Steg 9: P.3, kod: genomföra seriell kommunikation



Nu har du en robotarm - det är dags att skriva kod.

För denna tutorial, jag antar att du väljer att använda en Arduino med möjlighet att seriell kommunikation via USB (så, inte en Arduino Pro Mini eller kala Atmega chip) och att använda C, C++, eller en annan C-baserade språk som Objective-C (vad vi gjorde) på datorns sida för att styra armen. Jag antar också att du använder ett UNIX-baserat operativsystem såsom OSX (vad vi gjorde) eller linux. Koden för att skicka seriella överföringar är olika på windows - du kan fortfarande följa med resten av handledning, men du måste göra ändringar i några rader kod (jag syftar till popen och pclose, som inte fungerar på windows såvitt jag vet - jag kan ha fel).

Målet med din hela programpaketet är att fastställa en uppsättning koordinater och gripdon (främst, på eller av) för armen bläddra plocka och placera objekten i styrelsen, och sedan skicka dessa koordinater som en ström av servo vinklar till Arduino, som kommer att översätta denna information in i servo PWM pulser. Eftersom platserna för alla objekt är kända före tävlingen, kommer platserna att hårdkodade, med möjlighet att justera dem något under de tre minuters springa för små variationer i spelplanen.

Så låt oss komma igång!

Den första uppgiften är att skriva några grundläggande kod som tar användarindata från konsolen och skicka den till Arduino. Mikrokontroller sedan svarar genom att ställa in vinkeln på en servo till användaren ingång. Felkontroll användardata är inte nödvändig på denna punkt eftersom vi kan anta att i slutändan hårdkodade servo vinkel platser inte kommer att ha fel, och att alla användare input kommer att ske genom ett GUI som inte lider av fel om användaren mosar på slumpmässiga nycklar i konsolen... eftersom det brukar vara en konsol.

I C används popen för att komma åt kommandon, mycket som man skulle göra med hjälp av kommandoraden. Skicka data till Arduino skulle se ut så här på datorns sida (i Objective-C):

.. .i filen .h:

(i deklarationen)

NSString * serialPort;

.. .i .m filen:

(i init-metoden)

serialPort = [[NSString alloc] initWithString:

... några kod...

(i sändnings-metoden)

NSString * str = [NSString stringWithFormat: % @ > % toBeSent, serialPort];
char * toSend = [str UTF8String];

Fil * avsändare = popen (toSend, "r");
pclose(Sender);

Dessa rader kod skulle överföra sträng toBeSent till Arduino på seriell port /dev/tty.usbmodemfd121.

För att hitta den seriella porten som din Arduino sitter på, allt du behöver göra är plugg den i, och titta på det namn som visas under Verktyg > Serial Port i verktyget Arduino. Ska du se till att du kopplar din Arduino i samma USB-port för att detta skall förbli detsamma.

Uppgiften att hämta numeriska indata från konsolen och skicka det via seriell lämnas till läsaren... om du inte vill att fuska genom att ta en titt på exempelkoden jag ingår. Om du bygga och köra det med Xcode, och skriv in siffrorna mellan 0 och 176 (gränserna för den särskild servo vi testade med), bör det ge samma produktion som på bilden längst upp:

sh: /dev/tty.usbmodemfd121: Permission denied

Som inte ser bra ut! Det, dock säger oss att kommandot echo framgångsrikt kallas, men att det finns ingen "/ dev/tty.usbmodemfd121". För att åtgärda detta, måste vi ansluta en Arduino.

Se Steg
Relaterade Ämnen

Robotarm Trifecta (Science Olympiad)

)Välkommen 2016 Science Olympiad lag! Robotarm händelsen är tillbaka och är du redo att göra några kick-butt robotar? Lämna gärna en kommentar nedan att messaging oss så att gemenskapen kan växa som helhet. Vi älskade denna händelse och är glada att...

Air bana för Science Olympiad

Min 13-åriga dotter utformade detta projekt för Science Olympiad konkurrens. Även avsedd att uppfylla vissa krav, är det ett trevligt projekt för stammen, 4H, Boy/Girl Scouts aktivitet.Detta var min dotters planen. så jag var tvungen att motstå frest...

Sumo-Bot (TSA och Science Olympiad regler)

detta är min Sumo-Bot för min teknik studenter Association (TSA) club http://www.nystsa.org/ . Denna robot passar också in alla Science Olympiad regler också. I grunden för händelsen du måste bygga en sumo-bot som passar alla krav regler och tävla ro...

Hur man gör en Sumo Bot (Science Olympiad 2011 regler)

denna Sumo Bot var talet High School, från Rochester, Minnesota, Science Olympiad lagets träder staten konkurrensen på mars 5, 2011. Även om vi inte gjorde så bra (25 av 32 lag), jag bestämde mig ändå för att visa upp mitt hårda arbete, och ge tips f...

2011 Science Olympiad torn händelse Division C

detta år jag tävlade i händelsen Science Olympiad torn och placerade 6 anläggning alla vikten krävs. Reglerna var ganska svårt att förstå, och det är den främsta anledningen vi endast placeras 6. I reglerna står det att lasten stöds inte överstiga 15...

Hur man bygger en robotarm

Uppdatera: https://www.youtube.com/watch?v=BILiuqRmLRIvill bygga registeransvarige gå till härvideon är:http://www.youtube.com/watch?v=N9z7OQLlhrEhttp://www.youtube.com/watch?v=jozshuI246o&feature=youtu.behttp://www.youtube.com/watch?v=onQIzR5C8qkhtt...

Bygga en robotarm

Har du någonsin undrat vilken framtid ser ut? Hela världen kommer att fyllas med teknik och robotar kommer att vara överallt. Vi kan även bild massor av människor njuter av karriärer inom teknik och robotteknik! Robotar är extremt precisa när de arbe...

Bygga en akustikgitarr

jag gjorde denna gitarr för min science Olympiad event. Science Olympiad är en konkurrenskraftig turnering där studenter deltar i olika vetenskapliga evenemang mot andra skolor. En av mina händelser kallas ljud av musik där du har att bygga två olika...

Hur man bygger en Hank Drum

denna handledning omfattar hur man konstruerar en hank trumma, ett instrument som uppfunnits av Dennis Havlena som imiterar den extremt dyrt och svårt att få Hang Drum. Detta instrument kan byggas för $27 om man har alla nödvändiga verktyg. Ett fynd...

ROBOTARM Arduino kontrollerade

En robotarm ansvarar för mycket komplicerade processer som krävs för en rigorös och komplex programmering; jag är en elektronisk teknolog och jag har alltid fångat min uppmärksamhet dessa projekt så jag bestämde mig för "Jag vill bygga en robotarm.&q...

Kontrollera ArmLinkLibrary-master robotarm med Arm länk programvara

Vill vara cool som Simone Giertz men ArmLinkSerial n't vet var du ska börja?InterbotiX Arm länk programvaran ger ett enkelt gränssnitt för GlobalArm.h -kompatibel robotarmar. Med denna programvara kan du styra robotarm via en mängd rörelse lägen inkl...

Rörelse, styrda robotarm

* detta instructable är inte klar, jag kommer att lägga kod snartArm:Detta instructable visar processen för att bygga en robotarm med servon, Arduino mikroprocessor, ett gyroskop och flera bend sensorer.Användaren bär en handske som innehåller gyrosk...

Robotarm med servomotorer

en del av min PhD forskning på NYU-Poly innebär förutsäga energiförbrukning i robotsystem, så jag behövde ett robotsystem att arbeta med som forskningsplattform att validera resultaten. Så jag övertygad om min grupp kompisar i min klass mekatronik i...

Hemgjord robotarm med hjälp av standarddelar använder Arduino och en bearbetning GUI

Jag nyligen pensionerad och saker jag lovat mig själv var att när jag slutar jag skulle slutföra alla de projekt som jag hade sprungit runt i mitt huvud sedan jag var tonåring. Det är omkring 50 år eller så av projekt. På den tiden fanns det inga mik...

Kontrollera din robotarm, Cool sätt

Hej alla!lik några av er kanske vet är att jag måste bygga en robotarm i past(see link)Hur man bygger en robotarmDet var bara ett problem, registeransvarige.länk till videosom du kan se i detta instructable, är att armen kontrolleras av några potenti...

Bluetooth+Infrared Controlled Robotic Arm

Hi. Jag är Darren en 17-årig hobby, och detta är den första Instructable jag meddelanden här, så jag ber om ursäkt om det kinda suger! Jag hoppas det är bra nog...Så hur kom idén om en robotarm till mig? Tja, är det första jag minns vår kemilärare (!...

Remote Control Robot Arm

detta är talet High School Science Olympiad Robot Arm som tävlade på Minnesota 2012 staten Science Olympiad turneringen med 32 andra lag. Jag byggde och körde denna fjärrkontroll robotarm för turneringen, utsläppande 8 (på grund av oförutsedda proble...

10 enkla steg för att göra din egen cello!

* Uppdaterad 12/13/15 jag ber om ursäkt för något trauma ellerkroppsskada som orsakats av min 9: e klass grammatikMin vän och jag försökte bygga en cello för min 9: e klass Science Olympiad ljud av musiktävling--detta är resultatet.Trä:-Kropp: plywoo...

Prisvärd TV fjärrstyrda Clawbot

Denna robot kan styras av TV remote, och kan programmeras att göra olika uppgifter. Det använder en Arduino och kan byggas för under $125. Denna robot gjordes för en konkurrens för Science Olympiad. Det användes för att plocka upp föremål i olika sto...