分享

用App Inventor蓝牙控制Arduino的LED灯开关

 5ccampus 2019-01-07

2014-11-20更新资料:之前使用5.0扩展板时必须将蓝牙模块卸下才能下载程序的问题,学生使用的7.0新版的扩展板增加了“运行”与“下载代码”的切换键。下载代码时,拨到“PROG”档。运行时,拨到“RUN”档。技术文档是这样写的——用过V5的用户可能会知道,V5版的扩展板,我们在使用XEee这些通讯模块的时候,由于串口使用冲突,所以每次下载程序都需要把通讯模块拔下,下载完代码后重新插上模块。 V7扩展只需要拨动这个按键就可以了,无需重复插拔通讯模块。 

 

 

在学习中参考了以下网页:

1 台湾cavedu的“双A计划:

网址:

http://blog./appinventor-%E5%9C%96%E5%BD%A2%E5%8C%96android/appinventorandarduinowithbluetooth/

2 蓝牙控制arduino的安卓软件(基于app inventor2 )(之一:andriod软件设计篇)

网址:http://blog.csdn.net/zitech/article/details/23042609

3 蓝牙控制arduino的安卓软件(基于app inventor2 )(之二:arduino程序设计篇)

网址:

http://blog.csdn.net/zitech/article/details/23047325

 

使用DFrobot出品的Arduino Uno基础板、IO 5.0扩展板、Bluetooth Bee 2.0蓝牙模块、Ardublock套装中的LED灯模块(这两个模块不用接线较方便,适合学生刚开始学习时使用)。不过蓝牙模块的针脚真的好容易歪呀。

用App Inventor蓝牙控制Arduino的LED灯开关

 

虽然有参考网页的帮助,在编程过程仍然碰到好多问题,记录一下编程实践过程。

1 在AI2中编写手机控制app,需要一个列表显示框,用来列出蓝牙设备并选择;两个按钮,一个用来控制LED灯的开关,按钮文字根据灯的状态改变;一个断开蓝牙连接按钮。以及一个蓝牙客户端。界面设计与编写的完整程序如下:

 用App Inventor蓝牙控制Arduino的LED灯开关

用App Inventor蓝牙控制Arduino的LED灯开关

用App Inventor蓝牙控制Arduino的LED灯开关

 

用App Inventor蓝牙控制Arduino的LED灯开关

 

2           将Arduino控制程序下载到板上,这里第一个问题是,如果将带有蓝牙模块的扩展板与基础板连接时,会有COM口被占用的提示,无法下载。所以必须拆掉扩展板(蓝牙模块的针脚很容易歪,干脆整个扩展板拆掉还方便点,是不是只要拆掉蓝牙模块就可以下载还没有尝试过。)

 

3           Arduino控制程序用的是网上提供的程序,没有细心观察,结果因为人家的程序中控制字符是“A”而我自己编写的“a”,导致在Serial Monitor中看到发送的一直是关灯时的“Stop using……”,不过也好,这样很快就发现问题所在了。所以Serial Monitor在检测程序时还是很好用的。完整的控制程序如下:

int val; //这个语句有啥作用?我觉得是没有作用的。

int ledpin=13;

 

void setup()

{

Serial.begin(9600);

pinMode(ledpin,OUTPUT);

}

  

void loop()

{

while(Serial.available())

{

char c=Serial.read();

if(c==’’a’’)

{

     Serial.println("Hello ");

     digitalWrite(ledpin,HIGH);

     }

       else if (c==’’b’’)

     {

         Serial.println("Stop using......");

       digitalWrite(ledpin,LOW);

       }

}

}

 

4           手机用二维码安装了app后,点击蓝牙列表时屏幕变成黑屏,没有任何提示。后来想起好像要先将蓝牙与手机配对才行。在手机设定中找到蓝牙,将蓝牙与手机配对。Bluetooth Bee的配对密码是1234。

再次打开app,这次点击蓝牙列表出现了对应的蓝牙列表,选择后返回到主屏幕,然后点击【LED灯开/关】按钮,如果现在是灯关状态,则打开灯,同时按钮文字变成现在的灯的状态【LED灯开】。如果现在是开灯状态,点击按钮关灯,文字变成现在灯的状态【LED灯关】。好像有点别扭呀,下次改成【打开LED灯】、【关闭LED灯】更好一些。

用App Inventor蓝牙控制Arduino的LED灯开关用App Inventor蓝牙控制Arduino的LED灯开关

 

用App Inventor蓝牙控制Arduino的LED灯开关

 

用App Inventor蓝牙控制Arduino的LED灯开关

 

5如果修改了Arduino程序,或者拆开了板子,需要重新下载控制程序,就有点麻烦了。如果扩展板在基础板上,那么会提示占用,如果拆掉扩展板,就根本没有对应的COM口。我这样解决,先接上扩展板,这样能检测到使用的COM口,然后下载控制程序,这时出错,因为端口被占用。将扩展板拆掉,然后再次下载,就可以正常下载控制控制程序了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多