gpt4 book ai didi

Android 和 Arduino 都通过蓝牙接收到奇怪的值

转载 作者:行者123 更新时间:2023-11-29 02:00:52 24 4
gpt4 key购买 nike

我在 Android 端使用 BluetoothChat 代码通过聊天框向 Arduino UNO 发送开/关信号(我正在发送 110、119 或下面定义的其他情况),但是当我显示接收到的值时,它在 Arduino 串行监视器中显示奇怪的值,即 255、254、250 或 245,并且在 Android 端也以奇怪的值回复。

但令人惊讶的是,当我从 android 发送这些命令时,只有 110、119 等中的一个条件为真,并且没有其他指令/LED 被正确执行/打开/关闭。

谁能帮我解决这个问题?下面是我的 arduino 代码。

int data; 
String message;

void setup ()
{
Serial.begin (57600);

pinMode (6, OUTPUT);
pinMode (7, OUTPUT);
pinMode (8, OUTPUT);
pinMode (9, OUTPUT);
pinMode (10, OUTPUT);

digitalWrite(6, LOW); // off LED 1 at pin6
digitalWrite(7, LOW); // off LED 2 at pin7
digitalWrite(8, LOW); // off LED 3 at pin8
digitalWrite(9, LOW); // off LED 4 at pin9
digitalWrite(10, LOW); // off LED 5 at pin10
}

void loop () {
int i=0;
if (Serial.available()>0)
{
int data= Serial.read();

Serial.println (" Received data: ");
Serial.println (data);

if (data==110) //q
{
digitalWrite(6, HIGH); // turn on LED 1 at pin6
message = "LED 1 On";
Serial.println (message);

}
if (data==102) // a
{
digitalWrite(6, LOW); // off LED 1 at pin6
message = "LED 1 Off";
Serial.println (message);
}

if (data==96) //c
{
digitalWrite(7, HIGH); //on LED 2
message = "LED 2 On";
Serial.println (message);
}

if (data==115) //d
{
digitalWrite(7, LOW); // off LED 2
message = "LED 2 Off";
Serial.println (message);
}

if (data==111) //e
{
digitalWrite(8, HIGH); //on LED 3
message = "LED 3 On";
Serial.println (message);
}

if (data==97)// f
{
digitalWrite(8, LOW); //sets the LED 3
message = "LED 3 Off";
Serial.println (message);
}

if (data==107) //g
{
digitalWrite(9, HIGH); //turn on LED 4
message = "LED 4 On";
Serial.println (message);
}

if (data==120)//h
{
digitalWrite(9, LOW); //sets the LED 4
message = "LED 4 Off";
Serial.println (message);
}


if (data==99) //i
{
digitalWrite(10, HIGH); //sets the LED 5
message = "L5 high";
Serial.println (message);
}

if (data==104) //j
{
digitalWrite(10, LOW); //sets the LED 5
message = "LED 5 Off";
Serial.println (message);
}

if (data==112) //y
{
digitalWrite(6, HIGH); // turn on ALL LEDs
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
message = "ALL LEDs ON";
Serial.println (message);
}


if (data==122)//z
{
digitalWrite(6, LOW); //Turn off all LEDs
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
Serial.println ("ALL LEDs OFF");
}

else
{
digitalWrite(13, HIGH); //sets the LED 5
delay(3000); //3sec
digitalWrite(13, LOW);
delay(3000);
Serial.println (" else case executed ");

} ////end of else

}
data=0;
}

最佳答案

尝试char data = Serial.read();

并显示 Android 的 Java 代码。

查看 Bluetooth Arduino&Android 的 100% 工作代码

关于Android 和 Arduino 都通过蓝牙接收到奇怪的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12718301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com