Hoe maak je een All-richting voertuig met de wielen van de Mecanum (7 / 8 stap)

Stap 7: programmeren


De snelheid van vier Mecanum wielen worden bepaald door de hoeksnelheid

en snelheden in de x-as en y-as van het voertuig. Een Joystick wordt gebruikt voor de controle van de snelheid van het platform met de linker stick voor translatietraagheden velocity, en juiste stick voor hoeksnelheid. Sluit een USB-Host Me module op poort 3 van Orion bestuur en sluit een draadloze module op Me USB Host module.

Download Makeblock bibliotheek en zet het onder Arduino bibliotheek. De Arduino-codes zijn als volgt:

 #include "Wire.h" #include "SoftwareSerial.h" #include "MeOrion.h" MeUSBHost joypad(PORT_3); MeEncoderMotor motor1(0x02, SLOT2); MeEncoderMotor motor2(0x02, SLOT1); MeEncoderMotor motor3(0x0A, SLOT2); MeEncoderMotor motor4(0x0A, SLOT1); float linearSpeed = 100; float angularSpeed = 100; float maxLinearSpeed = 200; float maxAngularSpeed = 200; float minLinearSpeed = 30; float minAngularSpeed = 30; void setup() { motor1.begin(); motor2.begin(); motor3.begin(); motor4.begin(); Serial.begin(57600); joypad.init(USB1_0); } void loop() { Serial.println("loop:"); //setEachMotorSpeed(100, 50, 50, 100); if(!joypad.device_online) { Serial.println("Device offline."); joypad.probeDevice(); delay(1000); } else { int len = joypad.host_recv(); parseJoystick(joypad.RECV_BUFFER); delay(5); } //delay(500); } void setEachMotorSpeed(float speed1, float speed2, float speed3, float speed4) { motor1.runSpeed(speed1); motor2.runSpeed(-speed2); motor3.runSpeed(-speed3); motor4.runSpeed(-speed4); } void parseJoystick(unsigned char *buf) //Analytic function, print 8 bytes from USB Host { // debug joystick // int i = 0; // for(i = 0; i < 7; i++) // { // Serial.print(buf[i]); // Serial.print('-'); // } // Serial.println(buf[7]); // delay(10); // increase and decrease speed switch (buf[5]) { case 1: linearSpeed += 5; if (linearSpeed > maxLinearSpeed) { linearSpeed = maxLinearSpeed; } break; case 2: angularSpeed += 5; if (angularSpeed > maxAngularSpeed) { angularSpeed = maxAngularSpeed; } break; case 4: linearSpeed -= 5; if (linearSpeed < minLinearSpeed) { linearSpeed = minLinearSpeed; } break; case 8: angularSpeed -= 5; if (angularSpeed < minAngularSpeed) { angularSpeed = minAngularSpeed; } break; default: break; } if ((128 != buf[0]) || (127 != buf[1]) || (128 != buf[2]) || (127 != buf[3])) { float x = ((float)(buf[2]) - 127) / 128; float y = (127 - (float)(buf[3])) / 128; float a = (127 - (float)(buf[0])) / 128; mecanumRun(x * linearSpeed, y * linearSpeed, a * angularSpeed); } else { switch (buf[4]) { case 0: mecanumRun(0, linearSpeed, 0); break; case 4: mecanumRun(0, -linearSpeed, 0); break; case 6: mecanumRun(-linearSpeed, 0, 0); break; case 2: mecanumRun(linearSpeed, 0, 0); break; case 7: mecanumRun(-linearSpeed / 2, linearSpeed / 2, 0); break; case 5: mecanumRun(-linearSpeed / 2, -linearSpeed / 2, 0); break; case 1: mecanumRun(linearSpeed / 2, linearSpeed / 2, 0); break; case 3: mecanumRun(linearSpeed / 2, -linearSpeed / 2, 0); break; default: mecanumRun(0, 0, 0); break; } } } void mecanumRun(float xSpeed, float ySpeed, float aSpeed) { float speed1 = ySpeed - xSpeed + aSpeed; float speed2 = ySpeed + xSpeed - aSpeed; float speed3 = ySpeed - xSpeed - aSpeed; float speed4 = ySpeed + xSpeed + aSpeed; float max = speed1; if (max < speed2) max = speed2; if (max < speed3) max = speed3; if (max < speed4) max = speed4; if (max > maxLinearSpeed) { speed1 = speed1 / max * maxLinearSpeed; speed2 = speed2 / max * maxLinearSpeed; speed3 = speed3 / max * maxLinearSpeed; speed4 = speed4 / max * maxLinearSpeed; } setEachMotorSpeed(speed1, speed2, speed3, speed4); } 

Gerelateerde Artikelen

Hoe maak je een gemakkelijk speelgoed ruimteschip met 123d design

Hoe maak je een gemakkelijk speelgoed ruimteschip met 123d design

In dit instructable, ik zal onderwijzen u alle hoe maak je een gemakkelijk speelgoed ruimteschip met behulp van 123d design tool. Dit is een 3d software gebruikt om 3D-modellen te maken.Stap 1: Het maken van het overzichtOm de omtrek, de polylijn geb
Hoe maak je een helm cam houder met een fles water

Hoe maak je een helm cam houder met een fles water

Ok dus ik zag dit ergens, maar me niet waar herinneren kan, dus ik dacht dat ik zou je laten zien hoe maak je een helm cam houder met een fles water (lege een natuurlijk)Stap 1: Maken de helm cam houder Ok so all you need is:-A kleine lege fles van w
Hoe maak je een boog uit PVC met geen PowerTools

Hoe maak je een boog uit PVC met geen PowerTools

Hoe maak je een boog uit PVC met geen PowerTools? Nou laat me u tonen.Stap 1: materialenU moet:-PVC pijp-Sommige paracord-A zagOptioneel:-een tandenborstel-een reflex stip zicht (opzoeken hoe te maken)Stap 2: Het maken van het lichaam van de boogDe P
Hoe maak je een enkele LED knipperen met behulp van een Arduino Uno Board

Hoe maak je een enkele LED knipperen met behulp van een Arduino Uno Board

Vandaag, we zullen worden ter illustratie van hoe maak je een enkele LED knipperen met behulp van een Arduino Uno-board. Door elke stap te volgen, zal je dit doel bereiken.U zal het volgende nodig:Een Arduino BoardBrood bordUSB-connectorkabelEEN LED3
Hoe maak je een Doll House Bed met beddengoed Origami (Paper craft) - TCGames [HD]!

Hoe maak je een Doll House Bed met beddengoed Origami (Paper craft) - TCGames [HD]!

Hoe maak je een Origami DollHouse Bed met beddengoed!Ontworpen door: traditioneleDit model kan lijm nodig als u van plan op het gooien, zoals de modulaire stukken niet samen voor lang blijven. Het is echter een uitstekende gooien sterren en werkt ech
Hoe maak je een origami Halloween graf met een kruis decoratie!

Hoe maak je een origami Halloween graf met een kruis decoratie!

In deze tutorial, ik zal u tonen hoe maak je een origami Halloween graf met een Cross. Geniet van: D!Origami: Halloween graf met een kruis!Ontworpen door: Fumiaki ShinguInstructies gevonden op http://en.origami-club.com/Tips: zorg voor uw plooien aan
Hoe maak je een blaaspijp en Darts met huishoudelijke artikelen

Hoe maak je een blaaspijp en Darts met huishoudelijke artikelen

hoe maak je een blaaspijp en Darts met huishoudelijke artikelenDit is een zeer eenvoudige en toch krachtige kleine blaaspijp die u kunt ontwerpen en maken gebruik van objecten gevonden thuis.  Het kan pop ballonnen en een appel doorboren van een kort
Hoe maak je een papier Lady Bug met behulp van papier Art filigraan

Hoe maak je een papier Lady Bug met behulp van papier Art filigraan

Filigraan Made Easy: In deze tutorial leert u hoe maak je een leuke dame bug met behulp van filigraan techniek in slechts enkele stappen. Laten we beginnen.Nou ik hoop dat je genoten hebt van dit ambacht en zo ja, vergeet dan niet om te delen, commen
Hoe maak je een Poseable Action Figure met 'Sprinkler draad'

Hoe maak je een Poseable Action Figure met 'Sprinkler draad'

Dit is een tutorial over hoe maak je een pose-baar actiefiguur met 'sprinkler draad'Sprinkler draad (dat is wat haar genoemd op de verpakking) kan worden gevonden in de meeste het huisverbetering opslag en is gebruikte besturingselement gazon irrigat
Hoe maak je een sterrenhemel nachtelijke hemel met alleen MS paint

Hoe maak je een sterrenhemel nachtelijke hemel met alleen MS paint

dit instructable is zal je laten zien hoe maak je een sterrenhemel nachtelijke hemel met niets meer dan de ms paint, die wordt geleverd bij uw PC.Stap 1: aan de slag , moet u eerst ms paint openstellen en ervoor te zorgen dat uw achtergrond wit is. d
Hoe maak je een Lego USB-drive met slechts 1 gereedschap!

Hoe maak je een Lego USB-drive met slechts 1 gereedschap!

I 'm gonna laat u zien hoe maak je een Lego USB drive met alleen sommige Lego, een USB-drive en iets te openen uw USB-drive.BTW: sorry over de foto's, ik heb niet een vaste hand :)Stap 1: Benodigdheden OK, dus hier is wat u nodig hebt. C1, c2 en c3 z
Hoe maak je een origami Square Box met deksel (zeer eenvoudig)!

Hoe maak je een origami Square Box met deksel (zeer eenvoudig)!

In deze tutorial, ik zal u tonen hoe maak je een origami Square Box met deksel. Geniet van: D!Origami: Simple vierkant vakOntworpen door: Tomoko FuseGemaakt door: Suhas Sunder
Hoe maak je een grote 3D-Printer met behulp van een kleinere 3D-Printer - "Project Locus"

Hoe maak je een grote 3D-Printer met behulp van een kleinere 3D-Printer - "Project Locus"

Uit die eigen 3D printers, aan degenen die gewoon gewoon nieuwsgierig over hun mogelijkheden zijn, een onderwerp dat vrij vaak komt is het idee van 'Een andere 3D-Printer afdrukken'. Nu dit niet 100% mogelijk zijn kan bij het overwegen van onderdelen
Hoe maak je een Green Lantern ring-met inbegrip van een gloeiende versie!

Hoe maak je een Green Lantern ring-met inbegrip van een gloeiende versie!

Hier is hoe te maken van je eigen hars gegoten Green Lantern ring. Dit een complete revisie van mijn oorspronkelijke instructable over hoe te maken van een ring, Green Lantern, die eerder alleen liet zien hoe een cast sterling silver ring wordt gemaa