Android和Arduino的两个接收通过蓝牙奇怪的值 [英] Android and Arduino both receiving strange values via Bluetooth
问题描述
我使用的是Android端BluetoothChat code发送一个ON / OFF信号(定义见下文我送110,119或其他情况下)到Arduino UNO使用聊天框,但是当我显示接收到的值,它显示奇怪的值在Arduino的串行显示器,那就是,255,254,250或245,并用奇怪值回复对Android方太。
但令人惊讶之中110只有一个条件,119,等得到真实的,当我把这些命令,从Android和没有其他指令/ LED被正确执行/开启/关闭。
任何一个可以帮我找出这个问题?下面是我的Arduino code。
int数据;
字符串消息;
无效设置()
{
Serial.begin(57600);
pinMode(6,输出);
pinMode(7,输出);
pinMode(8,输出);
pinMode(9,输出);
pinMode(10,输出);
digitalWrite(6,低); //关闭LED 1在PIN6
digitalWrite(7,低); //关闭LED 2的PIN7
digitalWrite(8,低); //关闭LED在3引脚8
digitalWrite(9,低); //关闭LED 4在9脚
digitalWrite(10,低); //关闭LED 5时10脚
}
空隙环(){
INT I = 0;
如果(Serial.available()大于0)
{
int数据= Serial.read();
Serial.println(接收到的数据:);
Serial.println(数据);
如果(数据== 110)// q
{
digitalWrite(6,HIGH); //打开LED 1在PIN6
消息=LED 1开;
Serial.println(消息);
}
如果(数据== 102)//一个
{
digitalWrite(6,低); //关闭LED 1在PIN6
消息=LED 1关;
Serial.println(消息);
}
如果(数据== 96)// C
{
digitalWrite(7,HIGH); //指示灯2
消息=LED 2开;
Serial.println(消息);
}
如果(数据== 115)//ð
{
digitalWrite(7,低); //关闭LED 2
消息=LED 2关;
Serial.println(消息);
}
如果(数据== 111)//Ë
{
digitalWrite(8,HIGH); //指示灯3
消息=LED上的;
Serial.println(消息);
}
如果(数据== 97)//˚F
{
digitalWrite(8,低); //设置LED 3
消息=LED 3关;
Serial.println(消息);
}
如果(数据== 107)//克
{
digitalWrite(9,HIGH); //打开LED 4
消息=LED上的;
Serial.println(消息);
}
如果(数据== 120)// H
{
digitalWrite(9,低); //设置LED 4
消息=LED四关;
Serial.println(消息);
}
如果(数据== 99)//我
{
digitalWrite(10,高); //设置LED 5
消息=L5高;
Serial.println(消息);
}
如果(数据== 104)∥焦
{
digitalWrite(10,低); //设置LED 5
消息=LED 5关;
Serial.println(消息);
}
如果(数据== 112)//ÿ
{
digitalWrite(6,HIGH); //打开所有LED
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,高);
消息=所有LED;
Serial.println(消息);
}
如果(数据== 122)//ž
{
digitalWrite(6,低); //关闭所有LED
digitalWrite(7,低);
digitalWrite(8,低);
digitalWrite(9,低);
digitalWrite(10,低);
Serial.println(所有的LED关);
}
其他
{
digitalWrite(13,高); //设置LED 5
延迟(3000); // 3秒
digitalWrite(13,低);
延迟(3000);
Serial.println(其他情况下执行);
的其他} ////结束
}
数据= 0;
}
尝试字符数据= Serial.read();
和显示的Java code为Android。
见蓝牙的Arduino和放大器100%的工作code; Android的
I am using BluetoothChat code on the Android side to send an ON/OFF signal (I am sending 110, 119 or other cases as defined below) to the Arduino UNO using the chat box, but when I display the received value, it shows strange values in the Arduino Serial monitor, that is, 255, 254, 250 or 245 and replies with strange values on the Android side too.
but suprisingly only single condition among 110, 119, etc gets true when i send these commands from android and no other instruction/LED gets properly executed/turned ON/off.
Can any one help me figure out the problem? Below is my arduino code.
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;
}
Try char data = Serial.read();
And show Java code for Android.
See 100% work code for Bluetooth Arduino&Android
这篇关于Android和Arduino的两个接收通过蓝牙奇怪的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!