ARDUINO 蓝牙小车开关灯的问题
我使用UNO和一块HC06蓝牙接收器做了一台蓝牙小车,运行良好。最近又想在小车上加装一个LED灯,顿时迷惘了。。。
我想使用遥控器按钮给小车发射一个信号字符’Y’然后实现开灯,在点一次 就关闭,于是写了下面的程序:
void setup()
{
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
Serial.begin(9600);
Serial.read();
}
void loop(){
char c=Serial.read();
int st;
int a=0;
if (c =='Y'){
a=1;}
else{
a=0;}
if(a==1){
st=1-st;}
if(st==1){
digitalWrite(12,HIGH);
digitalWrite(13,LOW);}
else{
digitalWrite(12,LOW);
digitalWrite(13,LOW);}
}
可是传入芯片以后,灯就鬼畜的一直开着了,想请教大神帮我看看问题出在哪里,本人小白,先跪谢各位大神了!!!
(PS:主要就是想实现 蓝牙遥控,同一个按键点一次控制灯开,再点一次控制灯灭。) 你的程序太销魂了。。。。。。
我给你重新编写一下:void setup()
{
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
Serial.begin(9600);
}
void loop(){
if(Serial.available())
{char c=Serial.read();
switch(c)
{
case a: //蓝牙发送a,或者是你自己换一个数字,比如1;
digitalWrite(12,HIGH); //这边就是你的自己接的了。
digitalWrite(13,LOW);
break;
case b:
digitalWrite(12,LOW);
digitalWrite(13,LOW);
break;
}
}
}还有最重要的一点,LED灯是需要串联一个电阻的,然后一头接一个引脚(跟程序搭配),另外一头是接地额,还有有正反方向,,,, int st=0;
void setup()
{
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
Serial.begin(9600);
Serial.read();
}
void loop(){
char c=Serial.read();
int st;
if ( c=='Y'){
st=1-st;}
if(st==1){
digitalWrite(12,HIGH);
digitalWrite(13,LOW);}
else{
digitalWrite(12,LOW);
digitalWrite(13,LOW);}
}
我试着把程序改成这样了,现在小灯不会一直亮了,但是接受到Y的信号是也没有反应,已经确定信号收发没有问题了,希望大神帮解下。。。 怎么没人啦,啊啊啊 ~ 心里好苦啊~ 本帖最后由 ta1222 于 2016-4-29 11:02 编辑
是不是最顶上那个int st=0 有问题?虽然不知道过了个把月你搞定没。还是回复你下。 也可以两个led串联使用,这样发送一个代码可以同时控制两个灯 :)
页:
[1]