Program na Arduino UNO do sterowania robotem 2WD poprzez PC i / lub moduł Bluetooth HC05.
[Arduino UNO, sterowanie PC, komunikacja z komputerem
String komenda = "";
#include
SoftwareSerial nSerial = SoftwareSerial(7,6);
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
Serial.begin(9600);
Serial.println("Cześć tu robot PC");
nSerial.begin(9600);
nSerial.println("Cześć tu robot BT");
}
void loop() {
if (Serial.available()>0) {
komenda=Serial.readStringUntil('\n');
komenda.trim(); //To kasuje znaki \n\r -> OFF
komenda.toLowerCase(); //off
Serial.println(komenda+ " PC"); //off
if (komenda=="przod") przod();
if (komenda=="tyl") tyl();
if (komenda=="stop") stop();
}
if (nSerial.available()>0) {
komenda=nSerial.readStringUntil('\n');
komenda.trim(); //To kasuje znaki \n\r -> OFF
komenda.toLowerCase(); //off
nSerial.println(komenda+ " BT"); //off
if (komenda=="przod") przod();
if (komenda=="tyl") tyl();
if (komenda=="stop") stop();
}
}
void stop(){
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}
void przod(){
digitalWrite(2,HIGH);//Prawy
digitalWrite(3, LOW);//Prawy
digitalWrite(4,HIGH);//LEWY
digitalWrite(5, LOW);//LEWY
}
void tyl(){
digitalWrite(2, LOW);//Prawy
digitalWrite(3,HIGH);//Prawy
digitalWrite(4, LOW);//LEWY
digitalWrite(5,HIGH);//LEWY
}
Program do sterowania Arduino UNO poprzez PC oraz poprzez Bluetooth (SoftwareSerial) z wykorzystaniem np. telefonu z Androidem.
[Arduino UNO, sterowanie PC, komunikacja z komputerem, Bluetooth, SoftwareSerial]
//Adam Mańka adam.manka(znak)polsl.pl
// https://docs.arduino.cc/learn/built-in-libraries/software-serial/
#include
SoftwareSerial nSerial = SoftwareSerial(2,3); //To są numery pinów rx i tx modułu Bluetooth
String komenda ="";
void setup() {
pinMode(13,OUTPUT);
Serial.begin(9600);
nSerial.begin(9600);
Serial.println("Cześć Adam");
nSerial.println("Cześć BT");
}
void loop() {
//Ta część służy do komunikacji z komputerem PC poprzez piny 0 (rx) i 1 (tx)
if (Serial.available()>0) {
komenda=Serial.readStringUntil('\n');
komenda.trim();//To kasuje znaki \n \r
komenda.toLowerCase();
Serial.println(komenda+ " PC");
nSerial.println(komenda+ " BT");
//Jeżeli pojawi się komunikat ledon wtedy program wykona funkcję lub jak w ym przykładzie załączy diodę
if (komenda=="ledon") digitalWrite(13,HIGH);
if (komenda=="ledoff") digitalWrite(13,LOW);
if (komenda=="blink") miganie();
}
//Ten fragment kodu służy do komunikacji poprzez SoftwareSerial i np. podłączony do niego moduł Bluetooth np. HC-05
if (nSerial.available()>0) {
komenda=nSerial.readStringUntil('\n');
komenda.trim();//To kasuje znaki \n \r
komenda.toLowerCase();
Serial.println(komenda+ " PC");
nSerial.println(komenda+ " BT");
if (komenda=="ledon") digitalWrite(13,HIGH);
if (komenda=="ledoff") digitalWrite(13,LOW);
}
}
void miganie()
{
//Wykonanie funkcji miganie
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
delay(200);
}
Adam Mańka - adam.manka(znak)polsl.pl