dxabdepl 发表于 2021-10-22 15:08:15

玩转Arduino手机编程——闪烁LED

闪烁LED是Arduino自带的经典实例(Blink),可以实现LED一亮一灭的效果。
一、实验目的

[*]学习Arduino数字IO口的输出
[*]熟悉蜗牛手机APP的编程方式
二、所需硬件

[*]Woniu控制器
[*]LED灯
[*]220欧姆电阻
三、电路
    将LED较长的一端(阳极,电流流入的地方)串联220欧姆电阻后连接到蜗牛控制器的13号引脚,LED较短的一端(阴极,电流流出的地方)连接到蜗牛控制器的“接地”端口。连线如下图所示。
http://c.51hei.com/d/forum/202110/22/145504euhcc18tq58t0n5u.png

注意:和LED搭配的电阻用于LED的限流,不一定是220欧姆,但建议介于150到5000欧姆之间,电阻太小有烧毁LED的风险,电阻太大会使得LED亮度不够。
四、初识编程软件

蜗牛手机编程界面见下图所示。最上面是菜单区,用于实现与控制板的连接、程序的编绎下载等。
左侧是编程积木选择区,包括“控制”、“逻辑”等等在内10类积木组,点击每一类积木组又会弹出其内部包含的具体积木块,每一个积木块都代表着一条Arduino语句。
右侧是积木块组合区,也即编程区。双指在右侧拖动屏幕,可以控制该区域的放大和缩小。
编程过程就是从左侧选择积木块,拖放到右侧,并进行逻辑组合的过程。
http://c.51hei.com/d/forum/202110/22/150322ywwckzm0kw0r4kk4.jpg

和其它单片机程序一样,Arduino程序整体分为两个部分:初始化区和循环执行区。
初始化区的代码在硬件复位后只执行一次,随后进入循环执行区;
循环执行区内的代码会无限次循环执行下去,整体按照从上到下依次执行,执行完最后一句代码后又会返回到循环执行区的第一句代码。
同样,蜗牛图形化编程的程序块也分为两个部分:初始化区和循环执行区。

[*]只需执行一次的积木,可以把积木拖入到初始化区,见下图所示。
http://c.51hei.com/d/forum/202110/22/145629qjpp1gyyxcjxxnf1.jpg

[*]需要反复执行的积木,拖放到上述初始化区之外的区域即可。
[*]需要删除积木块时:拖放要删除的积木至左侧的积木选择区即可。

五、编程
1.将蜗牛控制器的13号引脚配置为输出
蜗牛控制器的第0号至第13号引脚均为数字IO端口。数字端口即只能处理0和1数据的端口,这些端口可以输出也可以输入,所以使用前要进行配置。
由于引脚配置只用执行一次,所以要放在初始化区。
引脚配置的积木存放于“引脚”积木组,见下图所示。
http://c.51hei.com/d/forum/202110/22/150348t5z22zqzf2ylpwtv.jpg

选择该积木,拖放到初始化区,并选择引脚的下拉选项为13,状态为“输出”,最终效果见下图所示。
http://c.51hei.com/d/forum/202110/22/145741zfbg5gbgzs5up5cl.jpg

2.点亮LED
因为LED阳极连接在蜗牛控制器的13号引脚上,阴极接地,因此只要让13号引脚输出高电平(相当于施加上5V的电压),使得LED两侧产生电压差,就可以点亮了LED。
我们再次在左侧的“引脚”积木组中选择“数字输出”积木(见上上图所示),并拖放到右侧的循环执行区(右侧“初始化区域”外都可)。积木上的下拉菜单选择引脚为13,输出为“高电平”。
为了美观,我们手指按住积木对其进行拖放,放在初始化积木下面,并与之对齐。http://c.51hei.com/d/forum/202110/22/145814gry21ea3arsarfrh.jpg
编程到这里,实际上我们就实现了点亮LED的效果。
3.延迟等待1秒
因为单片机执行速度很快,执行上述点亮LED的语句大概只需要几十微秒,这么短的时间内,人眼是觉察不到LED的变化的。为了效果显著,这里延时了1秒,你大可以把它修改为其它的时间。延时等待积木位于左侧的“控制”积木组。选择并拖放该积木至上述“数字输出”积木的正下方,使得该积木上方的凹口靠近“数字输出”积木下方的凸口,松开手指后,可以看到这两个积木吸在一起了,后续积木都可以通过此方法与上面的积木进行吸合。注意:延时等待积木的时间单位是毫秒,1秒=1000毫秒。http://c.51hei.com/d/forum/202110/22/145841qzd8p8wk7nlsboko.jpg
4.熄灭LED原理参见上述的“点亮LED”,熄灭LED即将13号引脚输出为“低电平”即可。
在左侧的“引脚”积木组中选择“数字输出”积木,并拖放到右侧的循环执行区(右侧“初始化积木”外都可);也可复制上述的“点亮LED”积木进行参数修改,方法是手指长按该积木,再次松开后会在积木下方弹出菜单,选择“复制积木”。http://c.51hei.com/d/forum/202110/22/145908r1mmg7q4xs74474p.jpg
最后将新积木上的下拉菜单选择引脚为13,输出为“低电平”。

5.延迟等待1秒方法同上述步骤3。

至此就完成了所有的编程工作,整体程序见下图所示。http://c.51hei.com/d/forum/202110/22/145934vh0f2cof2azqef0h.jpg
六、程序下载
1.蜗牛控制器供电

供电后,其上的蓝色指示灯会处于闪烁状态,表明蜗牛控制器正常工作了。
2.手机环境配置
使用蜗牛手机APP时,需要打开手机的蓝牙和GPS定位功能,同时保证蓝牙未被其它设备连接。
3.连接蜗牛控制器
点击左上角的“连接”按钮,稍等片刻,按钮由灰底“连接”切换为黄底“断开”,表明连接成功。此时中间的“下载”按钮也变为可用状态,点击“下载”按钮开始程序编绎和下载,可以看到“下载”按钮切换为百分号数字进度条,指示着下载进度。http://c.51hei.com/d/forum/202110/22/150414le68we3uo16d9qe3.jpg
下载完成后即可看到LED一亮一灭的闪烁效果了。
页: [1]
查看完整版本: 玩转Arduino手机编程——闪烁LED