Verwerking van controles R/C auto met XBee modules (12 / 14 stap)

Stap 12: Arduino Sketch


Arduino Sketch uitleggen

De verklaring is opgenomen in de weergave schets als de opmerking in vet lettertype.

SoftwareSerial bibliotheek
#include < SoftwareSerial.h >

XBee module te gebruiken SoftwareSerial bibliotheek ingesteld en de pinnen van de Arduino te worden gebruikt als (10) TX en RX (9)
SoftwareSerial XBeeSerial = SoftwareSerial (10, 9);

/ / Set de Arduino pinnen die met L293D - Motor Drivers verbonden voor links en rechts draaien
#define TURN_ENABLE_PIN 3 / / PWM gebruiken voor deze pin
#define LEFT_PIN 4
#define RIGHT_PIN 2

Instellen van de Arduino pinnen die met L293D - Motor Drivers voor voorwaarts en achterwaarts verbonden
#define DRIVE_ENABLE_PIN 11 / / PWM gebruiken voor deze pin
#define BACKWARD_PIN 8
#define FORWARD_PIN 12

Invoer-opdrachten
#define BEGIN_COMMAND 0x7F / / decimaal = 127, binaire = 0111 1111
#define toekomen 0x1 / / decimaal = 1, binair = 0000 0001
#define achterwaarts 0x2 / / decimaal = 2, binaire = 0000 0010
#define links 0x4 / / decimaal = 4, binaire = 0000 0100
#define rechts 0x8 / / decimaal = 2, binaire = 0000 1000

Variabele opdracht matrix met twee bytes, instellen
opdracht [0] = beurt links of rechts, en vooruit of achteruit rijden
opdracht [1] = snelheid.

int opdracht [2];

VOID Setup {}

XBee SoftwareSerial baud-rate ingesteld op 9600 bps
XBeeSerial.begin(9600);

Arduino motoren controle pinnen wordt toegewezen als de uitvoer
pinMode (TURN_ENABLE_PIN, uitvoer);
pinMode (LEFT_PIN, uitvoer);
pinMode (RIGHT_PIN, uitvoer);

pinMode (DRIVE_ENABLE_PIN, uitvoer);
pinMode (BACKWARD_PIN, uitvoer);
pinMode (FORWARD_PIN, uitvoer);
}

void loop {}

XBee SoftwareSerial luisteren naar commando's van verwerking GUI,
/ / set door de voorwaarde om te zien of er een data in de seriële buffer
if(XBeeSerial.available() > 0) {}

/ / en als de readCommand()-functies weer meer waarde dan 0,
dan executeCommand()

if(readCommand() > 0) {}
executeCommand();
}
}
}

Read Command()-methode,
return integer-waarde van 1,
Als er beginnen drie bytes met 0x7F in de seriële buffer
of return integerwaarde 0, anders.

// 
int readCommand() {}

int b = XBeeSerial.read();

if(b == BEGIN_COMMAND) {/ / BEGIN_COMMAND = 0x7F
opdracht [0] = readByte();        opdracht [0] is 0x1, 0x2, 0x4 of 0x8
opdracht [1] = readByte();        opdracht [1] is de snelheid varieert van 0 - 6

return 1;
} else {}

keren 0;
}
}

int readByte() {}

terwijl (waar) {}
if(XBeeSerial.available() > 0) {}
Return XBeeSerial.read();
}
}
}

Vertalen de opdrachten ontvangen verwerking GUI
en draai de motorische controle pinnen ON/OFF

ongeldig executeCommand() {}

int c = commando [0];
int speed = commando [1];

Control vooruit & achteruit
DRIVE_ENABLE_PIN = 11
BACKWARD_PIN = 8
FORWARD_PIN = 12

digitalWrite (DRIVE_ENABLE_PIN, laag);

Vergelijken (logisch en) eerste byte van de opdracht-matrix (command[0]) met FORWARD (0x01)
Als het resultaat TRUE is, wordt de Motor besturingselementen pinnen ingesteld op aandrijfmotor vooruit

Als (c & vooruit) {}
digitalWrite (BACKWARD_PIN, laag);
digitalWrite (FORWARD_PIN, hoge);
}

Vergelijken (logisch en) eerste byte van de opdracht-matrix (command[0]) met achterwaarts (0x02)
Als het resultaat TRUE is, stel de pinnen van de besturingselementen Motor rijden motor achteruit

//

Als (c & achteruit) {}
digitalWrite (FORWARD_PIN, laag);
digitalWrite (BACKWARD_PIN, hoge);
}

Vergelijken (logisch en) eerste byte van de opdracht matrix (command[0]) met
het resultaat van logisch of tussen FORWARD (0x01) en BACKWARD(0x02)
Als het resultaat TRUE is, wordt de snelheid ingesteld op de tweede byte van de opdracht matrix (command[1])

//
Als (c & (voorwaarts | ACHTERWAARTS)) {}

analogWrite (DRIVE_ENABLE_PIN, snelheid);

Controle links & rechts draaien
TURN_ENABLE_PIN = 3
LEFT_PIN = 4

RIGHT_PIN = 2 digitalWrite (TURN_ENABLE_PIN, laag);

Als (c & links) {}
digitalWrite (RIGHT_PIN, laag);
digitalWrite (LEFT_PIN, hoge);
}

Als (c & juiste) {}
digitalWrite (LEFT_PIN, laag);
digitalWrite (RIGHT_PIN, hoge);
}

Als (c & (links | RECHTS)) {}
digitalWrite (TURN_ENABLE_PIN, hoge);
}
}

Gerelateerde Artikelen

Controle Arduino RC auto met behulp van android telefoon & 1Sheeld

Controle Arduino RC auto met behulp van android telefoon & 1Sheeld

Als u besturen RC auto met uw Androïde slimme telefoon wilt zonder met behulp van Bluetooth-module en programmering androïde toepassing, kunt u 1Sheeld gebruiken in plaats van hen.1Sheeld bestaat in principe uit twee delen. Het eerste deel is een sch
Een tekenreeks van kerstverlichting te knipperen Morsecode met Arduino & module Circuits programma

Een tekenreeks van kerstverlichting te knipperen Morsecode met Arduino & module Circuits programma

dit is een project van mijn zoon Dylan (9) en ik samen met behulp van een Arduino Circuit board, een set Snap Circuit en een reeks van kerstverlichting.Wat je nodig hebt:Een Arduino: Een Arduino is een computer op een enkele printplaat die u kan het
Versterken van de externe afstand auto met je hersenen!

Versterken van de externe afstand auto met je hersenen!

Je bent op een drukke parkeerplaats en vergat waar u uw auto parkeerde. U probeert het indrukken van de knop op uw afstandsbediening, maar de auto is blijkbaar te ver weg. U kunt besteden de komende dertig minuten racing op en neer de parkeerplaats,
Herstellen van de externe keyfob auto met Sugru

Herstellen van de externe keyfob auto met Sugru

mijn volvo keyfob hadden gekraakt laatste keer dat ik de batterij vervangen.  Ik stak het terug samen met gaffer tape totdat ik tijd gehad om te herstellen of te vervangen.  Sugru aan de redding!Het is moeilijk om te zien maar de hele bovenste gedeel
Hoe om te controleren elke R/C auto met een zender van het vliegtuig!

Hoe om te controleren elke R/C auto met een zender van het vliegtuig!

Heb je je ooit afgevraagd als u uw R/C vliegtuig zender R/C auto zo goed onder controle te kunnen gebruiken?Hoe geweldig zou het zijn om 6 of meer kanalen Bedien uw R/C auto, en ook het aanpassen van elk kanaal volgens uw keuze?Ik heb zijn verlangen
Controle van een RC auto met behulp van de computer

Controle van een RC auto met behulp van de computer

In dit project, ik een goedkope getransformeerd RC auto behoort tot mijn zoon in een autonome auto met behulp van enkele eenvoudige stappen en Arduino. De auto kan worden gecontroleerd met de PC via seriële of USB-poort, of via de Arduino autonoom ka
Lego Technic auto met Arduino en XBee Wireless Control

Lego Technic auto met Arduino en XBee Wireless Control

ik was doorlezen Instructables een fijne winter zaterdag, toen mijn 8 yo zoon kwam in en tuurde over mijn schouder en zag dit: door sath02. Mijn zoon is een grote fan van alle dingen Lego, en houdt van robots en auto's, en dit had gelijk zijn straatj
Mobiele controlled robotic auto met behulp van de arduino en DTMF

Mobiele controlled robotic auto met behulp van de arduino en DTMF

Hallo jongens!Dit is mijn eerste project op instructables, hoop dat u zult genieten van dit.Dit project gaat over hoe u een robotachtige auto met behulp van de mobiele telefoon kunt controleren en hoe u kunt controleren die auto van overal in de were
Hacken van een RC auto met Arduino en Android

Hacken van een RC auto met Arduino en Android

(Als je dit Instructable, vergeet dan niet te stemmen (boven: rechts hoek vlag). het is concurreren op ROBOTICA en sensoren wedstrijden. Heel hartelijk bedankt! ;-)Telkens wanneer ik wandelen in een speelgoedwinkel en afstandsbediening auto's in het
Arduino gecontroleerde auto met vermijding van de colission

Arduino gecontroleerde auto met vermijding van de colission

Gezien de juiste tijd en liefde, zal deze auto vermijden dingen achter zit. Kom en volg mee als we gaan door de stappen te bouwen dit geweldige project...Stap 1: Verzamel materialen Pak een oude auto van uw lokale zuinigheid winkel, en het verzamelen
Van Bowser Koopa Clown auto model met geluidseffecten, lichten, & propeller. Gemaakt van oude koektrommel.

Van Bowser Koopa Clown auto model met geluidseffecten, lichten, & propeller. Gemaakt van oude koektrommel.

Gereedschap hiervoor:VeiligheidsbrilWire cuttersmeshete lijmpistoolsoldeerboutboorBenodigde materialen:vormige zoiets de clown auto (ik gebruik een oude koektrommel met kurk bodem)Bowser speelgoed (ik kocht deze & zaagde hem in helft)draadpersoonlijk
Robot-Platform met inbegrip van h-bruggen van $10 R/C auto

Robot-Platform met inbegrip van h-bruggen van $10 R/C auto

elke keer als ik ga naar een winkel ik houd een oogje op goedkope spul dat is gehackt.   Ik heb het zien in CVS apotheek en een paar andere plaatsen de "Tumbler Thunder" of de gelijknamige R/C auto.  CVS heeft gehad in het verleden goede hackabl
Gemakkelijke houwer RC naar RC & BT auto met behulp van Linkit One

Gemakkelijke houwer RC naar RC & BT auto met behulp van Linkit One

Ik hou van Blue tooth auto maar de kosten hoog hier. Dus wilt wijzigen van een RC auto naar Blauwe tand auto. Omdat ik de aanschaf van een nieuwe RC auto net (6 $) voor mijn baby. Maar het probleem is als ik naar Blauwe tand omgezet dan ik wil geven
RC auto met behulp van DPDT schakelaars

RC auto met behulp van DPDT schakelaars

INTRODUCTIEEen afstandsbediening-voertuig wordt gedefinieerd als een voertuig dat op afstand wordt bestuurd door een betekent dat de beweging met een externe oorsprong niet tot het apparaat beperkt. Dit is vaak een bedieningsorgaan radio, kabel tusse