雏雁-Arduino部分(一)PIN口设置
雏雁-Arduino部分(一)PIN口设置
开发平台
- VScode
- PlatformIO
- Arduino Uno开发板
- Proteus仿真软件
Arduino基本代码结构
1 | //引入需要调用的库 |
将开/关空调事项绑定到引脚
1 |
|
本项目中,我们将开/关空调事项绑定到引脚11和12上,分别对应开/关空调的按钮。这里我们使用了Arduino的内置上拉电阻,将引脚设置为输入模式,当按钮按下时,引脚电平由高变低,当按钮松开时,引脚电平由低变高。这样我们就可以通过读取引脚电平来判断按钮是否被按下。
上拉电阻可以使引脚默认保持高电平模式,所以我们设定事件为低电平触发,通过按钮连接至GND
发送串口消息
首先在setup()
函数里面设置串口通信的波特率(下面的9600),然后在loop函数里面通过Serial.println()函数发送串口消息。
这个波特率就是你以后想监视串口的时候填的波特率,如果监视的时候填的波特率和发送的不一样,那么就看不到发的消息。
1 | void setup() { |
调用函数Serial.println()
可以向串口发送消息,这里我们将开/关空调的消息以编码5678
1234
发送到串口上。
1 | void loop() { |
串口单次发送
为防止串口发送过多消息,我们使用lastdata
变量记录上一次发送的消息,当允许发送串口消息时,才发送本次消息。
lastdata
为全局变量,设定为0
,表示允许发送。发送后赋值1
,表示不允许发送。当引脚电平恢复高时,lastdata
赋值恢复0
,表示允许发送。
同时我们使用延时避免1s内重复发送信息(因为需要非阻塞延时所以后面几篇一起说)
这个有没有用我不好说,但是我又不敢删。
1 | int lastdata = 0; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Qianmoxsn的博客!