Eenvoudige Arduino Robotics Platform! (3 / 5 stap)

Stap 3: Arduino en PC programmering


Om te programmeren van de Arduino, moet u uiteraard de Arduino software en een USB-kabel.  U kunt ook het programmeren van de Arduino met behulp van een seriële poort en een TTL-niveau converter als uw PC beschikt over een seriële poort.  Merk op dat de USB seriële interface communiceert niet met de Arduino de ATMega processor als er een niveau converter aangesloten op de Arduino seriële pinnen (pinnen 0 en 1 is) zo koppelt u deze los voordat u gebruikt USB.

Op de Arduino zullen we een seriële interface waarmee de PC om te controleren van de motoren.  Ook zullen we een PWM servo drive systeem de juiste signalen af aan de Vex motoren en ervoor te zorgen dat ze gaan in de juiste richting als de juiste waarden gegeven.  Ik voegde ook sommige eenvoudige LED knippert, voornamelijk voor status indicatie maar ook omdat het ziet er cool.

Op de PC zullen we openen de seriële poort en verzenden van frames van gegevens die het programma van de Arduino zal begrijpen.  De PC moet ook komen met motor waarden.  Een gemakkelijke manier om dit te doen is het gebruik van een USB-gamepad of joystick, ik ben met behulp van een Xbox 360-controller.  Een andere optie is het gebruik van een computer in het netwerk (een netbook of een kleine mini ITX board) op de robot zelf te rijden draadloos.  Met een netbook kunt u zelfs de ingebouwde webcam stream terug een videovoer en uw robot op afstand rijden.  Ik gebruikte het linuxsysteem sockets om netwerk programmeren voor mijn setup.  Een programma (de "joystick-server") wordt uitgevoerd op een afzonderlijke PC met een controller aangesloten op het, en een ander programma (de "client") wordt uitgevoerd op de netbook aangesloten op de Arduino.  Dit verbindt de twee computers en joystick informatie verzendt naar de netbook, die vervolgens verstuurt seriële pakketten naar de Arduino die de robot drijft.

Om te verbinden met de Arduino met behulp van een Linux-PC (in C++) moet u de seriële poort op de juiste baudrate voor het eerst opent en vervolgens de waarden met behulp van een protocol dat u ook op de Arduino de code gebruikt hebt verzenden.  De indeling van mijn seriële is eenvoudig en doeltreffend.  Ik gebruik 4 bytes per "frame" te sturen de twee motor snelheden (elk is een enkele byte).  De eerste en laatste bytes zijn hard-gecodeerde waarden die worden gebruikt om te voorkomen dat de Arduino de verkeerde byte te sturen naar de PWM-code en het veroorzaken van de motoren te gek.  Dit is het primaire doel van de RGB LED, knippert het rood wanneer het seriële frame onvolledig was.  De 4 bytes zijn als volgt:

255 (hard gecodeerde "start" byte),,, 200 (hard gecodeerde "end" byte)

Betrouwbare ontvangst van de gegevens, zorg ervoor dat je genoeg vertraging tussen programma lussen.  Als u uw PC code te snel uitvoert, het zullen overspoelen de poort en de Arduino kan beginnen te laten vallen of zelfs verkeerd lezen bytes.  Zelfs als het niet informatie dalen kan het ook van de Arduino seriële poort buffer overflow.

Voor de Vex motoren gebruikte ik de Arduino Servo-bibliotheek.  Aangezien Vex motoren gewoon continu draaimotoren zijn, gebruiken ze de exacte dezelfde signalering die gebruikmaken van de servo's.  Het is echter in plaats van 90 graden wordt het middelpunt, het stop punt waar de motor doet niet draaien.  Verlaging van de "hoek" zorgt ervoor dat de motor te starten spinnen in één richting, terwijl het verhogen van de hoek maakt het in de andere richting draaien.  Hoe verder weg van het middelpunt dat je bent, zal hoe sneller de motor draaien.  Terwijl het gaat niet om het even wat breken als u waarden groter dan 180 graden naar de motoren, zou ik adviseren de waarden van 0 tot 180 graden (die in dit geval zijn de stappen van de snelheid) beperken.  Omdat ik meer controle wilde en minder uit het besturingselement robot rijden, ik heb een software 'speed limit' toegevoegd aan mijn programma waarmee de snelheid te verhogen boven de 30 "graden" in beide richtingen niet (bereik is 90 +/-30).  Ik ben van plan over het toevoegen van een seriële poort commando dat de snelheid te beperken verandert, zodat de computer de limiet op het vliegen verwijderen kunt als u wilt gaan snel (ik heb getest in kleine kamers dus ik wil niet dat het te versnellen en crash in de muur, vooral met een netbook daarop).

Voor meer informatie de bijgevoegde code aan het eind van dit Instructable te downloaden.

Gerelateerde Artikelen

(Nog andere) DIY Arduino Robotics Platform-A Robot Chassis van reserveonderdelen

(Nog andere) DIY Arduino Robotics Platform-A Robot Chassis van reserveonderdelen

Ik gaf mijn neef een Arduino-starterskit een paar maanden geleden. Ik heb mijn zus gevraagd hoe hij aan het doen was met haar en ze zei dat hij had een paar problemen het uitzoeken. Ik zal zien hem de week na de kerst, dus ik hem vertelde om de kit e
Carduino - A simple Arduino robotica platform met een eigen bibliotheek

Carduino - A simple Arduino robotica platform met een eigen bibliotheek

dit is, zoals de titel al zegt, een Arduino gebaseerde robotica-platform, met een eigen bibliotheek. De "standaard" model wordt geleverd met twee terug motoren, omni-tweewielers aan de voorkant, en een afstandssensor gemonteerd op de voorzijde.
Eenvoudige Arduino Arm (Pan/Tilt)

Eenvoudige Arduino Arm (Pan/Tilt)

Catapult spelen op kantoor inspireerde mij om te bouwen van deze Arduino Arm om de druk op de liniaal en de release om te schieten. Hoewel het niet mijn eerste intentie vervullen, denk ik dat deze eenvoudige Arduino Arm zal leiden tot andere koeler p
Een eenvoudige Arduino Bluetooth auto

Een eenvoudige Arduino Bluetooth auto

Hoi, dit is mijn eerste instructable.Dit is een eenvoudige arduino bluetooth auto voor beginners.Ik ben met behulp van twee continue rotatie servos in plaats van motoren.Dus, laten we beginnen. :)Stap 1: Wat moet je1) Arduino (im ' using een Mega-256
Zeer eenvoudige Arduino elektrische Lock

Zeer eenvoudige Arduino elektrische Lock

dit is een instructable voor een zeer eenvoudige Arduino elektrische lock gecontroleerde.Het belangrijkste idee is hier is heel eenvoudig als dit meer van een proof of concept prototype soort ding was.De Arduino wordt gebruikt als schakelaar voor con
Eenvoudige Arduino Laserharp

Eenvoudige Arduino Laserharp

hier beschrijf ik een manier om een eenvoudige Arduino laserharp, een muziekinstrument dat wordt muziek afgespeeld wanneer u een bundel van laserlicht van het raken van een fototransistor blokkeren. Dit project werd gedaan als onderdeel van de PHYC 3
Intel Edison en Ridemakerz RC Chassis Robotics Platform

Intel Edison en Ridemakerz RC Chassis Robotics Platform

Toen ik werd uitgenodigd om deel te nemen aan de wedstrijd van Intel IOT ik dacht dat het was een geweldige gelegenheid. Ten eerste, het zou geeft me toegang tot sommige echt geweldig hardware en sensoren. Ik ben een maker op een begroting, dus dat g
Electric Vehicle - een eenvoudige lichtgewicht EV platform

Electric Vehicle - een eenvoudige lichtgewicht EV platform

ik heb uitgekeken naar de komst van de elektrische auto-technologie. Niet alleen voor de soepele rustige kracht, breed koppelbereik, goedkope lopende kosten en minimaal onderhoud, maar te ontwerpen en bouwen van auto's om te profiteren van de eenvoud
Eenvoudige Arduino Bluetooth Cybot op de beweging en de Android Appplication (bijgewerkt)

Eenvoudige Arduino Bluetooth Cybot op de beweging en de Android Appplication (bijgewerkt)

Een tijdje terug schreef ik een paar instructables voor het maken van de interface van de gebruikers en de controle van de basis van de Cybot met opdrachten uit het toetsenbord of uit een barcode scanner.Links naar deze zijn hieronder:Gebruikersinter
Eenvoudige arduino robot voor minder dan 10€

Eenvoudige arduino robot voor minder dan 10€

Hallo, In deze tutorial zullen we bouwen een eenvoudige robot voor minder dan 10 €. Verwacht geen wonderen van het niet. Het kan dienen als een stuk speelgoed of als hulpmiddel bij het leren programmeren en robotica. Dankzij zijn 2 sensoren kan het g
Eenvoudige Arduino Monome

Eenvoudige Arduino Monome

OverzichtDit Instructable is de eenvoudige versie van de MaKey MaKey Monome, een instrument van de elektronische muziek gemakkelijk voor kinderen en beginners te reproduceren (sequentieel op!). Voel je vrij om check out mijn websitevoor meer informat
Eenvoudige Arduino verkeerslichten

Eenvoudige Arduino verkeerslichten

u een stad uit Legos ooit heb gedaan? Ik weet ik velen van hen hebben gebouwd, maar ze allemaal iets gemist... Verkeerslichten!Dus besloten heb ik om mijn eigen verkeerslicht setup uit mijn arduino board.Stap 1: U moet: u nodig:Een arduino boardRood,
Eenvoudige Arduino LCD-spel!

Eenvoudige Arduino LCD-spel!

Hallo mensen! Pure koolstof hier en vandaag ik zal je laten zien hoe maak je een uiterst eenvoudig spel dat kan worden afgespeeld op een LCD-knop Shield voor Arduino. Helaas zijn niet daadwerkelijk een spel omdat alles wat je zal kunnen doen is maken
Voorbeeld van de HC-SR04 en eenvoudige Arduino

Voorbeeld van de HC-SR04 en eenvoudige Arduino

na een HC-SR04 kopen bij Amazon, ik kon niet krijgen om te werken uit de doos. Niet willen toegeven dat ik had een DOA-sensor op mijn handen, zocht ik naar een eenvoudig voorbeeld setup. Na veel te lang op dit dan ik voelde dat ik moest, besloten heb