本专栏内容经修订后,已在豆瓣阅读集结成书出版:

我是潘,曾经是个工程师。这是为 http://Ardui.Co 制作的 “Arduino 公开课” 系列的入门教程。经过前面一共18课的基础学习,我们已经掌握了 Arduino 的基本操作,现在是时候进入更深的一个层面。后面几节课会介绍 Arduino 的各类通信协议和内部运作机制。掌握这些知识后,你就可以称为砖家了。有任何疑问请在评论区提出,我会逐一回答。
Arduino 支持串口、I2C、SPI、ISP等几个通信协议。其中,每次写入程序、监测传感器反馈数据时都用到了串口。可以说,串口是人机交互中用到最频繁的一个接口。
但是之前除了按“Upload”写入程序外,串口的作用都是接受传感器的反馈,那么是否可以反过来,通过串口向 Arduino 发送数据,控制 Arduino 呢?其实,很简单。
这次实验我们只需一块 Arduino Uno,通过 USB 接上电脑,写入下面的程序,打开串口监视器(快捷键:Ctrl+Shift+L),我们输入什么,监视器就会反馈什么:
char
是不是很无聊?但其中的学问却很多!
if (Serial.available() > 0)
首先,该语句用于判断串口缓存中是否有值,如果有才执行赋值和打印,如果没有这个语句,串口监视器会不断循环打印值为空的语句,俗称刷屏了。