Arduino gecontroleerde Bluetooth-bot (4 / 4 stap)

Stap 4: Code


Deze code kan worden gedownload van de website van het boek:
https://sites.Google.com/site/arduinorobotics/Arduino-Robotics/free_project

Bluetooth-bot v1
Arduino Robotics onofficiële hoofdstuk 14
Gebruik de seriële adapter Bluetooth metgezel om opdrachten te ontvangen van PC
Arduino decodeert opdrachten in motorische bewegingen
Wordt gemaakt van snelle draadloze seriële verbinding voor robot controle met behulp van toetsenbord
Maakt gebruik van de toetsen "i" = vooruit, "j" = links, "k" = reverse- en "l" = rechts
snelheidsregeling is ook uitgevoerd met behulp van ","= snelheid naar beneden,"." = snelheid omhoog, en "/" = max snelheid.

L298 motorische controle variabelen
int M1_A = 12;    Als Ardumoto gebruikt, wijzigt op pin 13
int M1_PWM = 11;
int M1_B = 10; Als Ardumoto gebruikt, verwijdert u deze variabele

int M2_A = 4;   Als Ardumoto gebruikt, wijzigt naar pin 12
int M2_PWM = 3;
int M2_B = 2;    Als Ardumoto gebruikt, verwijdert u deze variabele

LED pin op de Arduino D13 aangesloten
int LED = 13;

variabele seriële gegevens op te slaan
int incomingByte = 0;

variabele snelheid-waarde op te slaan
int speed_val = 255;

//////////////////////////////

VOID Setup {}

TCCR2B = TCCR2B & 0b11111000 | 0x01; wijzigen van PWM frequentie voor pinnen 3 en 11 tot en met 32kHz, dus er geen motor zeuren zullen

Begin seriële monitor 115.200 bps
Serial.begin(115200);

verklaren van de uitgangen
pinMode (LED, uitvoer);

pinMode (M1_A, uitvoer);
pinMode (M1_PWM, uitvoer);
pinMode (M1_B, uitvoer);

pinMode (M2_A, uitvoer);
pinMode (M2_PWM, uitvoer);
pinMode (M2_B, uitvoer);

motoren standaard uitschakelen
M1_stop();
M2_stop();

delay(500);

}

////////////////////////////////////

void loop {}

selectievakje voor seriële data
Als (Serial.available() > 0) {}
Lees de binnenkomende byte:
incomingByte = Serial.read();
indien beschikbaar, LED knipperen en afdrukken van seriële gegevens ontvangen.
digitalWrite (LED, hoge);
zeg wat je hebt:
Serial.Print ("Ik heb ontvangen:");
Serial.println(incomingByte);
vertraging van 10 milliseconden zodat seriële bijwerkingsfrequentie
delay(10);

Controleer inkomende byte voor richting
als byte gelijk is aan "46" of "," - snelheid verhogen
Als (incomingByte == 46) {}
speed_val = speed_val + 5;
test_speed();
Serial.println(speed_val);
}
als byte gelijk aan "44 is" of "."-lagere snelheid
else if (incomingByte == 44) {}
speed_val = speed_val - 5;
test_speed();
Serial.println(speed_val);
}
als byte gelijk aan "47 is" of "/" - max snelheid
else if (incomingByte == 47) {}
speed_val = 255;
test_speed();
}

als byte gelijk is aan "105" of "i", gaan
else if (incomingByte == 105) {}
M1_forward(speed_val);
M2_forward(speed_val);
delay(25);
}
als byte gelijk is aan "106" of "j", linksaf
else if (incomingByte == 106) {}
M1_reverse(speed_val);
M2_forward(speed_val);
delay(25);
}
als byte gelijk is aan "108" of "l", ga rechts
else if (incomingByte == 108) {}
M1_forward(speed_val);
M2_reverse(speed_val);
delay(25);
}
als byte gelijk is aan "107" of "k", gaat u omgekeerde
else if (incomingByte == 107) {}
M1_reverse(speed_val);
M2_reverse(speed_val);
delay(25);
}
anders stoppen beide motoren
else {}
M1_stop();
M2_stop();
}

}

else {}
M1_stop();
M2_stop();
digitalWrite (LED, laag);
}
}

ongeldig test_speed() {}
beperken van snelheid waarde tussen 0-255
Als (speed_val > 250) {}
speed_val = 255;
Serial.println ("MAX");
}
Als (speed_val < 0) {}
speed_val = 0;
Serial.println ("MIN");
}

}

motorische functies / / /

VOID M1_reverse(int x) {}
digitalWrite (M1_B, laag);
digitalWrite (M1_A, hoge);
analogWrite (M1_PWM, x);
}

VOID M1_forward(int x) {}
digitalWrite (M1_A, laag);
digitalWrite (M1_B, hoge);
analogWrite (M1_PWM, x);
}

VOID M1_stop() {}
digitalWrite (M1_B, laag);
digitalWrite (M1_A, laag);
digitalWrite (M1_PWM, laag);
}

VOID M2_forward(int y) {}
digitalWrite (M2_B, laag);
digitalWrite (M2_A, hoge);
analogWrite (M2_PWM, y);
}

VOID M2_reverse(int y) {}
digitalWrite (M2_A, laag);
digitalWrite (M2_B, hoge);
analogWrite (M2_PWM, y);
}

VOID M2_stop() {}
digitalWrite (M2_B, laag);
digitalWrite (M2_A, laag);
digitalWrite (M2_PWM, laag);
}

Gerelateerde Artikelen

DIY Arduino gecontroleerd ei-Bot

DIY Arduino gecontroleerd ei-Bot

In deze instructables zal ik u tonen hoe te maken van je eigen Ei-Bot gecontroleerd met Arduino. Ik wilde maken vóór maar ik dacht het is te moeilijk voor mij, maar ik was verkeerd. Het is gemakkelijk om te bouwen dus voor zeker iedereen het kan doen
Mecanum wiel robot - gecontroleerd bluetooth

Mecanum wiel robot - gecontroleerd bluetooth

Aangezien ik mij kan herinneren wilde ik altijd een mecanum wiel robot te bouwen. De mecanum wiel robotic platforms beschikbaar op de markt waren een beetje te duur voor mij, dus heb ik besloten om mijn robot van kras te bouwen.Als geen andere robot
Arduino-gecontroleerde Smart Home

Arduino-gecontroleerde Smart Home

Dit Instructable werd geschreven door PubNub Evangelist Ian Jennings . Ian's verhaal doorloopt zijn proces van het opbouwen van een Arduino-gecontroleerde smart home model van kras.--Terug in September, onze stichter Stephen en ik spraken over manier
Galvo - Laser Arduino gecontroleerd

Galvo - Laser Arduino gecontroleerd

Arduino gecontroleerd galvo laser. De servo aangedreven spiegels sturen de verlaten een fosforescerende parcours op het blad van de glow-in-the-dark vinyl UV-laser.Oorspronkelijk Gepost op notes.robives.comStap 1:Beginnen met een blad van lichtgevend
Arduino gecontroleerd CNC / 3D Printer hybride

Arduino gecontroleerd CNC / 3D Printer hybride

Moeder natuur maakt... Wij bouwen.BuildersBot zekeringen 3D printen & CNC frezen in één Builder's droom "3dprintingindustry.com"De BuilderBot is een Open ontwerp machine, die gebruik maakt van OpenSoftware en Open Hardware. Het is een produc
Arduino gecontroleerd kookwekker

Arduino gecontroleerd kookwekker

U allen moet heb meegemaakt dat je iets wordt gekookt op uw gasfornuis terwijl aan de andere kant u get drukke TV kijken of krijgen een diepe gesprek hebt dat je je realiseert op het opsporen van een geur die het was volledig verwend alleen vanwege u
Arduino en Bluetooth HC-05 verbinding gemakkelijk

Arduino en Bluetooth HC-05 verbinding gemakkelijk

Hallo elk lichaam, dit is mijn eerste artikel over Instructable.com, ik ben zo blij voor dat, en ik zal beginnen met het aansluiten van de arduino met bluetooth, ik leed een heleboel problemen wanneer mij uitproberen voor verbinden het als de website
Arduino-gecontroleerde Wolf staart

Arduino-gecontroleerde Wolf staart

groeten, of moet ik zeggen, "Aaaaaooooooooooooh!" Maken van uw bekende collega wolf liefhebber graag. Je hebt een innerlijke wolf geest dat zo graag bekend maken dat u mij om te leren hoe om uw zeer eigen animatronic wolf staart, zodat u kunt ec
Arduino-gecontroleerde gordijn

Arduino-gecontroleerde gordijn

In dit nieuwe project, we gecombineerd van elektronica en mechanica, en maakte een Arduino-gecontroleerde gordijn roller.Veel plezier met maken!Stap 1: Planning van het CircuitVoor dit circuit u hebt nodig:1. de roterende Potentiometer2. de Arduino U
Draadloos Arduino gecontroleerde Tank (nRF24L01)

Draadloos Arduino gecontroleerde Tank (nRF24L01)

Hallo!Vandaag zal ik u tonen how to build een Arduino gecontroleerde tank en een afstandsbediening. De 3d afgedrukt delen van de tank (met uitzondering van de controller, bijhouden gids en tank cover) werden ontworpen door timmiclark en kan worden ge
Huisdier Curfew: Een Arduino gecontroleerde huisdier deur

Huisdier Curfew: Een Arduino gecontroleerde huisdier deur

Het probleem: U wilt beperken van de tijd wanneer uw huisdier mee mag naar buiten te gaan. Dit kan zijn omdat de buurt niet veilig voor uw kat of kleine hond in de nacht is (plunderende coyotes voor de geest komt). Maar u wilt uw huisdier te kunnen t
Arduino gecontroleerd licht dimmer

Arduino gecontroleerd licht dimmer

Waarschuwing: Sommige mensen proberen om dit met een optocoupler met zerocrossing coz rechts "dat is beter"? Sommigen horen zelfs in elektronicawinkels, het is beter om te gebruiken dergelijke een optocoupler. VERKEERDE. Dit werkt alleen met een
Arduino gecontroleerd Servo Robot (SERVISCH)

Arduino gecontroleerd Servo Robot (SERVISCH)

wat een betere manier om te experimenteren met opensource micro-controllers ( Arduino ) dan door het bouwen van uw eigen bron robot open ( CC (SA-door))?Wat te doen met uw Servische?(hier) - hoe uw Servische verbinden met het internet en het rijden o
Hoe maak je een Arduino compatibele Bluetooth 4.0-Module

Hoe maak je een Arduino compatibele Bluetooth 4.0-Module

UPDATE: Laat maken Robots, mijn huis digitale hackerspace, werd gekocht door RobotShop. Ik wil niet ingaan, maar de nieuwe eigenaren verboden mezelf en de meeste van de ervaren leden. Dat gezegd, allermeest naar de verbinding er gebroken zal worden.