SINROE 发表于 2016-4-5 00:03:20

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:主要就是想实现 蓝牙遥控,同一个按键点一次控制灯开,再点一次控制灯灭。)

董董soul 发表于 2016-4-29 16:43:37

你的程序太销魂了。。。。。。
我给你重新编写一下: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灯是需要串联一个电阻的,然后一头接一个引脚(跟程序搭配),另外一头是接地额,还有有正反方向,,,,

SINROE 发表于 2016-4-5 00:12:54

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的信号是也没有反应,已经确定信号收发没有问题了,希望大神帮解下。。。

SINROE 发表于 2016-4-5 13:19:15

怎么没人啦,啊啊啊 ~ 心里好苦啊~

ta1222 发表于 2016-4-29 10:55:32

本帖最后由 ta1222 于 2016-4-29 11:02 编辑

是不是最顶上那个int st=0 有问题?虽然不知道过了个把月你搞定没。还是回复你下。

569620972 发表于 2016-11-14 21:17:29

也可以两个led串联使用,这样发送一个代码可以同时控制两个灯

刺客佳 发表于 2017-1-6 22:56:45

:)                           
页: [1]
查看完整版本: ARDUINO 蓝牙小车开关灯的问题