DIY RC Android Sumobot (Sumo Robot) (11 / 17 steg)
Steg 11: Arduino koderna (C++) [Uppdaterad! 9/4/13]
Uppdateringar:
8/31/13 - Pololu dubbla VNH5019 (koder) [Status: nu kompatibel!]
9/04/13 - DIY Arduino Motor Driver (koder) [Status: nu kompatibel!]
snart... - Arduino R3 Motor sköld (koder) [Status: Beta-stadiet (instabil)]
snart... - DX dubbla VNH5019 klon (koder) [Status: köade experiment]
snart... - DX R3 Motor klon sköld (koder) [Status: köade experiment]
Uppmärksamhet: Välj din motor driver koder nedan!
-Pololu dubbla VNH5019--- [Hämta: Arduino Bluetooth (för Pololu Dual VNH5019) .rar]
-DIY Arduino Motor Shield--- [ Hämta: Arduino Bluetooth (för DIY Motor sköld) .rar]
- De ursprungliga koderna ---[Hämta: Bluetooth RC koder]
_________________________________________________________________________________________
Rekonstruerade av: Angelo Casimiro (ASCAS)
#include "DualVNH5019MotorShield.h"
DualVNH5019MotorShield md;
char dataIn = s '; char determinant; röding det; int vel = 0; Bluetooth grejer
int power = 4; Ta bort detta för att möjliggöra Tollge Switch #2
int overdrive = 13. Tryck på Vippbrytare #1, pin13 LED tänds
void setup() {
Serial.BEGIN(9600);MD.init();
/ * pinMode (uteffekt,); * / //toggle växla funktion
pinMode (överväxel, OUTPUT);
}
void loop() {det = check(); / / You'l behöver för att rekonstruera detta om din inte använder Pololu dubbla VNH5019
medan (det == "F") / / F, gå framåt
{md.setSpeeds (vel, vel); det = check();}
medan (det == "B") / / B, flytta tillbaka
{md.setSpeeds (- vel, - vel); det = check();}
medan (det == "L") / / L, flytta hjul kvar
{md.setSpeeds (vel/4, vel); det = check();}
medan (det == "R") / / R, flytta hjulen rätt
{md.setSpeeds (vel, vel/4); det = check();}
medan (det == "I") / / I, sväng höger fram
{md.setSpeeds (vel, vel/2); det = check();}
medan (det == "J") / / J, vända tillbaka
{md.setSpeeds (- vel, - vel/2); det = check();}
medan (det == "G") / / G, sväng vänster fram
{md.setSpeeds (vel/2, vel); det = check();}
medan (det == "H") / / H, sväng vänster tillbaka
{md.setSpeeds (- vel/2, - vel); det = check();}
medan (det == 'S ") / / S, stopp
{md.setSpeeds (0,0); det = check();}
---Vippbrytare kod---/ /
/ * medan (det == "U")
{digitalWrite (ström, hög), det = check();}
medan (det == "u")
{digitalWrite (power, låg); det = check();} */
//---------------------Mains Power------------------//
medan (det == "W")
{digitalWrite (overdrive, hög), det = check();}
medan (det == "w")
{digitalWrite (overdrive, låg); det = check();}
}
int check()
{om (Serial.available() > 0) {dataIn = Serial.read();
om (dataIn == "F") {determinant = "F";}
annars om (dataIn == 'B') {determinant = "B";} annars om (dataIn == "L") {determinant = "L";}
annars om (dataIn == "R") {determinant = "R";} annars om (dataIn == "I") {determinant = "I";}
annars om (dataIn == "J") {determinant = "J";} annars om (dataIn == "G") {determinant = "G";}
annars om (dataIn == "H") {determinant = "H";} annars om (dataIn == s ') {determinant = s ';}
annars om (dataIn == '0') {vel = 400.} annars om (dataIn == '1') {vel = 380;}
annars om (dataIn == '2') {vel = 340;} annars om (dataIn == '3') {vel = 320;}
annars om (dataIn == '4') {vel = 280;} annars om (dataIn == "5") {vel = 240;}
annars om (dataIn == '6') {vel = 200.} annars om (dataIn == '7') {vel = 160;}
annars om (dataIn == '8') {vel = 120;} annars om (dataIn == '9') {vel = 80.}
annars om (dataIn == "q") {vel = 40;} annars om (dataIn == 'U') {determinant = "U";}
annars om (dataIn == 'u') {determinant = "u";} annars om (dataIn == "W") {determinant = "W";}
annars om (dataIn == "w") {determinant = 'w' ;}} returnera determinant;}