Bouwen van een robotachtig wapen voor de wetenschap Olympiade (9 / 14 stap)

Stap 9: P.3, Code: implementeren van seriële communicatie


Nu heb je een robotachtig wapen - het is tijd om te schrijven van de code.

Voor de toepassing van deze tutorial, mij zal veronderstellen dat je ervoor kiest om het gebruik van een Arduino met de mogelijkheid voor seriële communicatie via USB (dus, niet een Arduino Pro Mini of blote Atmega-chip) en dat u C, C++ gebruiken zult, of een andere C-gebaseerde taal zoals Objective-C (wat we deden) aan de kant van de computer voor het beheersen van de arm. Ook zal ik neem aan dat u een UNIX-gebaseerd besturingssysteem zoals OSX (wat we deden) of linux gebruikt. De code voor het verzenden van seriële overbrengingen is anders op Vensters - u kunt nog steeds volgen samen met de rest van de tutorial, maar u moet wijzigingen aanbrengen in een paar lijnen van code (ik verwijs naar popen en pclose, die niet werken op windows, voor zover ik weet - ik zou verkeerd kunnen zijn).

Het doel van uw gehele softwarepakket zal zijn om te bepalen van een set van coördinaten en grijper Staten (voornamelijk, in- of uitschakelen) voor de arm om te doorlopen om te kiezen en de plaats van de objecten op het bord, en vervolgens voor het verzenden van deze coördinaten als een stroom van servo hoeken aan de Arduino, die deze informatie in servo PWM pulsen zal vertalen. Omdat de locaties van alle objecten zijn bekend vóór de wedstrijd, zullen de locaties hardgecodeerde, met de optie van het aanpassen van hen iets tijdens de drie minuten lopen om de rekening voor lichte variaties in het bord.

Dus laten we aan de slag!

De eerste taak is het schrijven van sommige basic-code die zal nemen input van de gebruiker van de console en het verzenden van de Arduino. De microcontroller zal dan reageren door het instellen van de hoek van een servo op de input van de gebruiker. Fout bij het controleren van de input van de gebruiker is niet noodzakelijk op dit punt omdat we aannemen kunnen dat uiteindelijk de hardcoded servo hoek locaties zal geen fouten, en dat elke gebruiker input zal gebeuren door middel van een GUI die fouten niet zal lijden als de gebruiker mashes op willekeurige toetsen in de console... omdat er niet zal worden van een console.

In C, wordt popen gebruikt om de toegang van systeemopdrachten, veel als men zou doen met behulp van de opdrachtregel. Verzenden van gegevens naar de Arduino zou als volgt uitzien (in Objective-C) aan van de computer:

.. .in de .h bestand:

(in de verklaring)

NSString * serialPort;

.. .in het .m bestand:

(in de methode init)

serialPort = [[NSString VERD] initWithString:

... wat code...

(in de transmit methode)

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

BESTAND * afzender = popen (toSend, "r");
pclose(Sender);

Deze coderegels zou zenden de tekenreeks toBeSent aan de Arduino op seriële poort /dev/tty.usbmodemfd121.

Om te zoeken naar de seriële poort die je Arduino zit op, alles wat je hoeft te doen is plug het in, en kijk op de naam die wordt weergegeven onder Tools > Serial Port in het hulpprogramma voor Arduino-code. U zult willen ervoor zorgen dat u uw Arduino aansluit op dezelfde USB-poort voor dit om te blijven hetzelfde.

De taak van numerieke invoer vanuit de console ophalen en verzenden dat het via seriële wordt overgelaten aan de lezer... tenzij je wilt te bedriegen door het nemen van een blik op de voorbeeldcode die ik opgenomen. Als u bouwen voeren met Xcode en typ in getallen tussen 0 en 176 (de grenzen van de bijzondere servo we met testen waren), moet het dezelfde output als de afbeelding boven rendement:

sh: /dev/tty.usbmodemfd121: Permission denied

Dat ziet er niet goed! Het, echter, vertelt ons dat de opdracht echo wordt met succes genoemd, maar dat er geen "/ dev/tty.usbmodemfd121". Om dit te verhelpen, moet we verbinden van een Arduino.

Gerelateerde Artikelen

Hoe het bouwen van een elektrische fiets voor minder dan $100

Hoe het bouwen van een elektrische fiets voor minder dan $100

Ja, het is eigenlijk mogelijk om te bouwen van een elektrische fiets voor minder dan $100. Het geheim van het doen dit is... de meeste van uw materialen kostenloos! Nu ik gewoon niet ben gonna zet u verliezen en zeggen ga zoeken dit spul ook. Er zijn
Het bouwen van een Bluetooth Intercom voor fietstochten, motorfiets rijdt, spionage, algemene chaos, enz...

Het bouwen van een Bluetooth Intercom voor fietstochten, motorfiets rijdt, spionage, algemene chaos, enz...

In dit instructable ik zal je laten zien hoe het bouwen van een draadloze intercom voor korte afstand tweewegcommunicatie. U kunt dit gebruiken om te chatten met een andere persoon op een fietstocht of motorfiets rijdt met helm gemonteerde bluetooth
Bouwen van een accessoire plank voor een ShopSmith Mark V

Bouwen van een accessoire plank voor een ShopSmith Mark V

Bouwen van een accessoire plank voor een ShopSmith Mark VVorig jaar kocht ik een vroege jaren 1980 ShopSmith Mark V (500 model) van een familielid van een vriend in onze stad. Het was in grote voorwaarde en, na een paar maanden van knutselen en te ge
Bouwen van een arcade kast voor 200 euro ($250)

Bouwen van een arcade kast voor 200 euro ($250)

bouwen van een arcade kast voor ongeveer €200 ($250)Het begon allemaal met sommige SNES-gamepads en een SNES-emulator, maar kreeg het allemaal iets uit de hand.Nadat we enkele SNES games met sommige goedkope afslaan SNES gamepads die we geconverteerd
Bouwen van een vlezige werktafel voor onder $50

Bouwen van een vlezige werktafel voor onder $50

dit is een eenvoudig project om te bouwen van een solide werktafel voor uw houten werkende en andere projecten.
Hoe het bouwen van een router-tabel voor houtbewerking voor onder $10 in 10 minuten

Hoe het bouwen van een router-tabel voor houtbewerking voor onder $10 in 10 minuten

Leer hoe te bouwen van een router-tabel voor houtbewerking voor onder $10 in deze video houtbewerking voor beginners. Deze eenvoudige router tabel is een goed startpunt voor mensen die het leren van houtbewerking of zelfs de professionele op zoek naa
Hoe het bouwen van een goedkope werkbank voor houtbewerking met behulp van een mal van Kreg HD, met VIDEO tutorial

Hoe het bouwen van een goedkope werkbank voor houtbewerking met behulp van een mal van Kreg HD, met VIDEO tutorial

Gratis plannen zijn ook hierna beschikbaar in Imperial en Metric.Stap 1: Zie volledige Video Tutorial Video hier.Warren uit één hout Tools toont hoe het bouwen van een goedkope en makkelijke eiland houtbewerking werkbank met hond gaatjes, gewrichten
Bouwen van een "Tuned" pijp voor een 2-takt

Bouwen van een "Tuned" pijp voor een 2-takt

twee takt motoren boeien mij.  Ze zijn zo eenvoudig en leuk dat ik heb altijd genoten knutselen met hen.  Er zijn vele manieren om het stimuleren van de macht, één daarvan is door het installeren van een "afgestemd" pijp.  De manier waarop een t
Bouwen van een hond kinderbed voor ongeveer $10

Bouwen van een hond kinderbed voor ongeveer $10

bouwen van een effectieve, duurzame kinderbed voor uw hond voor ongeveer $10Stap 1: Grond- en hulpstoffen · PVC pijp 1-inch (binnen diameter bepaalt het formaat) schema 40 (dikke muur). Kan worden gekocht thuis Depot voor ongeveer $2,48 voor een 10-v
Bouwen van een VU-meter voor je multimedia-PC

Bouwen van een VU-meter voor je multimedia-PC

dit instructable beschrijft hoe te monteren een VU meter in een geval van een oude cd-rom-station en zet het dan in uw pc.Op eBay kocht ik een heleboel VU-meters op basis van VFD displays bouwen in Rusland. De displays waar nogal goedkope en zag er m
Bouwen van een moordenaar brand voor uw Pizza Oven (of wat dan ook)

Bouwen van een moordenaar brand voor uw Pizza Oven (of wat dan ook)

een paar jaar geleden, mijn man bouwde een pizza oven, een gigantische brand-ademende, bug-eyed goudvis genaamd Bubba, maar voor het grootste deel, ik heb gelaten belast met de bouw van het vuur.  Misschien is het omdat ik overleefde een lange, koude
Bouwen van een kleine zuurkast voor stinkende projecten

Bouwen van een kleine zuurkast voor stinkende projecten

mijn vrouw Jennifer maakt cast-hars sieraden1. Ze gebruikt een polyester kokeranker, welke werkt als een stuk polyester hars (Meng de hars met verharder/katalysator, pour), maar helaas het ruikt ook ongeveer net zo slecht. Vanwege de giftige dampen i
Hoe het bouwen van een kartonnen kajak voor minder dan 40$ (bijgewerkt met de sjabloon)

Hoe het bouwen van een kartonnen kajak voor minder dan 40$ (bijgewerkt met de sjabloon)

heb ik besloten om het bouwen van een kajak uit karton met behulp van een multiplex lamineren techniek zodat het karton sterk genoeg. In principe karton heeft een korrel als hout, zodat u enkel de richting van het graan met elke laag veranderen, zoal
Bouwen van een glasvezel boog voor $5 zeer eenvoudige goedkoop en schaalbaar

Bouwen van een glasvezel boog voor $5 zeer eenvoudige goedkoop en schaalbaar

zal tonen We u hoe te bouwen van een uiterst eenvoudig en duurzaam glasvezel boog die kan worden geschaald naar elke kracht. Hoewel het is zeker niet voor de schietwedstrijd, het is zeer de moeite waard de $5. Deze waarschuwing is gevaarlijk en mag n