arkadaşlar ben iki arduino iki bluetooth kullanarak bir araç tasarımı yapıyorum ancak kumandadan gönderdiğim verileri okurken problem yaşıyorum aracımda bir adet servo ve bir adet dc motor bulunmakta bluetooth üzerinden göndediğim servo açı bilgisini ve dc hız ve yön bilgisini ayırmam lazım şöyle bir kod yazmıştım ancak sonuç alamadım yardımcı olursanız sevinirim.(projede joystick shield ve bir adette l298n motor sürücü bulunmakta) Ancak benim burdaki sorunum dediğim gibi kumandadan gönderdiğim farklı değişken verilerini serial.read yaparken ayıramıyorum. verici yani kumanda kodum #include <softwareserial.h>
define joy_x A0
define joy_y A1
unsigned int val;
unsigned int dcval;
unsigned int hizgeri;
unsigned int hizileri;
void setup()
{
Serial.begin(38400);
}
void loop()
{
val = analogRead(joy_x);
val = map(val, 0, 1023, 0, 179);
Serial.write(val);
delay(1000);
dcval = analogRead(joy_y);
Serial.write(dcval);
delay(1000);
if(dcval<515)
{
hizgeri = map(dcval, 0, 515, 255, 0);
Serial.write(hizgeri);
delay(1000);
}
else if(dcval>515)
{
hizileri = map(hizileri, 515, 1023, 0, 255);
Serial.write(hizileri);
delay(1000);
}
}
Bu da alıcı kodum
#include <softwareserial.h>
#include <servo.h>
Servo myservo;
unsigned int val ;
unsigned int dcval;
unsigned int hizgeri;
unsigned int hizileri;
const int inputbir = 8;
const int inputiki = 9;
const int enableA = 11;
void setup()
{
Serial.begin(38400);
myservo.attach(10);
pinMode(inputbir, OUTPUT);
pinMode(inputiki, OUTPUT);
pinMode(enableA, OUTPUT);
}
void loop() // run over and over
{
if (Serial.available()>0){
val = Serial.read();
myservo.write(val);
dcval = Serial.read();
if (dcval<510)
{
hizgeri = Serial.read();
analogWrite(enableA, hizgeri);
digitalWrite(inputbir, LOW);
digitalWrite(inputiki, HIGH);
}
else if (dcval>520)
{
hizileri = Serial.read();
analogWrite(enableA, hizileri);
digitalWrite(inputbir, HIGH);
digitalWrite(inputiki, LOW);
}
else if (dcval >= 510 && dcval <= 520)
{
digitalWrite(inputbir, LOW);
digitalWrite(inputiki, LOW);
}
}
}
</servo.h></softwareserial.h></softwareserial.h>