No.02 ratt köra R/C bil med Arduino, webbkamera och net. USB etc. (2 / 7 steg)
Steg 2: Montering 1
Så här skiljer sig från manuellt.
-Inriktad Motorstyrd
(om du inte vill att en låg hastighet bil, inriktade motor är inte nödvändigt. Montera med 540 motor enligt handboken.)
Ändra A2 och B2 delar och bifoga inriktade motorn med följande delar;
Olika diameter i linje krage 6 x 4 mm
Dia 4mm hålaxel 10mm lång
Dia 3mm skaft 19mm lång
16T kuggdrev redskap
Justeraren 20mm lång
Sänkskruv
Hoppa över del 11 och 12 av församlingen Manual.
-Få center värdet av servo och ställa in hastighet controller
I stället för del 19 av församlingen Manual (kontrollera R/C utrustning), få center värdet av servo och ställa in hastighet controller med att ansluta dem till Arduino. Mottagare krävs inte för detta system.
Ladda upp följande Arduino kod till Arduino.
Arduino kod
/*
* Servo & Speed Controller
* Bearbetning---SVSC_P
* Arduino Duemilanove---SVSC_A
*/
#include < Servo.h >
Servo servo;
Servo speedcontroller;
int värde1;
int värde2;
int val3;
int servoneutral = 63.
int speedcontrollerneutral = 63.
int steval = servoneutral;
int velval = speedcontrollerneutral;
int reversea = 'F';
booleska reverseb = false;
void setup() {
Serial.BEGIN(115200);
servo.attach(9);
speedcontroller.attach(10);
}
void loop() {
IF(Serial.available() > 2) {
värde1 = Serial.read();
värde2 = Serial.read();
val3 = Serial.read();
Serial.Print(65,byte);
}
om (värde1 > = 128 & & värde2 < 128 & & (val3 == 'F' || val3 == "R")) {
steval = värde1 - 128;
velval = värde2;
reversea = val3;
} else om (värde1 < 128 & & (värde2 == 'F' || värde2 == "R") & & val3 > = 128) {
steval = val3 - 128;
velval = värde1;
reversea = värde2;
} else om ((värde1 == 'F' || värde1 == "R") & & värde2 > = 128 & & val3 < 128) {
steval = värde2 - 128;
velval = val3;
reversea = värde1;
}
servo.write(steval);
om (reversea == 'R' & & reverseb == false) {
för (int jag = 1; jag < = 5; i ++) {
speedcontroller.write(speedcontrollerneutral);
Delay(15);
}
reverseb = sant;
speedcontroller.write(velval);
} annat if(reversea=='F') {
reverseb = false;
speedcontroller.write(velval);
} annat {
speedcontroller.write(velval);
}
}
Anslut servo och hastighet controller till Arduino.
(Servo -> D9, 5V, GND Speed Controller -> D10, 5V, GND)
Kör följande bearbetning kod.
Bearbetning av kod
/*
* Servo & Speed Controller
* Bearbetning---SVSC_P
* Arduino Duemilanove---SVSC_A
*/
import processing.serial.*;
Seriella port01;
int x;
int y;
int steval = 63.
int velval = 63.
int reversea = 'F';
void setup() {
size(127,127);
stroke(128);
port01 = ny Serial(this,"COM18",115200); COM nr. varierar beroende på varje dator.
port01.Clear();
}
void draw() {
Background(51);
rad (x, 0, x, höjd);
linje (0, höjd-y, bredd, höjd-y);
}
void serialEvent(Serial p) {
steval = 127 - x;
velval = y;
om (velval > = 63) {reversea = "F";} annat {reversea = "R";}
IF(p.available() > 0) {
port01.write(steval+128);
port01.write(velval);
port01.write(reversea);
Print(steval);Print(",");Print(velval);Print(",");println(Char(reversea));
}
}
void keyPressed() {
IF(Key=='s') {
x = 63.
y = 63.
steval = 127 - x;
velval = y;
port01.write(steval+128);
port01.write(velval);
port01.write(reversea);
}
annat if(keyCode == RIGHT) {
x += 1.
IF(x > 127) {x = 127;}
}
annat if(keyCode == LEFT) {
x-= 1;
IF(x < 0) {x = 0;}
}
annat if(keyCode == UP) {
y + = 1;
IF(y > 127) {y = 127;}
}
annat if(keyCode == DOWN) {
y-= 1;
IF(y < 0) {y = 0;}
}
}
När teckenfönstret visas, tryck pås ' tangent för att starta seriell kommunikation.
"Rätt" och "vänsterpil" nycklar avser servo (styrning) och "upp" och "down" som relaterar till Varvtalsregulator (framåt, bakåt och hastighet).
Gör den första siffran 64 i bearbetning lägre svart skärm genom att trycka ' nyckel.
Bifoga en servo arm som centrala. Efter fästa servo armen, få center värdet av servo. (Tryck på "rätt" eller "vänster" piltangenterna, göra stadens servo arm och sedan läsa den första siffran.)
Ställ in hastighet controller i enlighet med den hastighet controller setup manualen.
(Tryck pås ' nyckel, sedan det andra värdet blir 63 som neutral. Tryck på "upp" pilen nyckel kontinuerligt, sedan det andra värdet blir 127 som forward max. Tryck på "ner" piltangent kontinuerligt, sedan det andra värdet blir 0 som bakåt max.)
Koppla bort servo och hastighet controller från Arduino.
-Längre Servo skaft (del 20 av församlingen Manual)
Batteri lådor och tillsynsmyndigheter för USB device server och trådlöst bredband HEJARE att monteras ovanför servo. Boll kontakt (BA23) är kopplad till den motsatta sidan av servo arm och servo axeln blir längre. Jag gjorde 93mm en ursprungliga skaft längd är 89mm.
-Mottagare krävs inte för detta system. (Del 21 av församlingen Manual)
-Hoppa över del 23, 24 och 25 i montering manual.
-Däck storlek (del 26 av församlingen manuell)
I stället för 60 mm diameter däck använder jag 55 mm diameter däck.
-Antenn rör behövs inte. (Del 30 av församlingen Manual)
-Kroppen
Göra hål och fäst Lubica mount.