图解Arduino硬件开发入门点亮LED

全篇共 2215 字。按500字/分钟阅读,预计用时 4.4 分钟。此篇想法总访问 40 次,今日访问 1 次。

我现在手里有一套Ruff开发板套件和一套Arduino开发板套件。把Ruff开发套件中的所有传感器用了一个遍之后没玩够,于是开始把玩Arduino。没有对比就没有伤害真的是,虽然我真正接触Arduino时间不长,但就我自己的感觉来说,Arduino不论从程序角度还是从硬件角度上来讲都比Ruff更底层也就更加灵活,从长远来看Arduino更具学习和研究价值。所以果断弃坑Ruff,拥抱Arduino。

不过Ruff基于JavaScript语言编写控制硬件的程序确实勾起我对宏大的物联网世界的兴趣。Ruff更适合快速做出原型,但无法进入生产环境,这满足不了我对物联网世界更底层的好奇。所以再见,Ruff,你好,Arduino。

Arduino IDE

arduino ide集成开发环境界面

Arduino集成开发环境支持语法检查、上传程序到开发板、串口监视器等主要功能,最常使用的就是这三个功能。

一个Arduino程序需要包含一个setup函数和一个loop函数,loop函数会在程序运行期间反复执行,setup函数只会在程序开始运行时执行一次。学习就是一个不断循环重复的过程。

创意构思

不管做什么事情,在开始之前,都有在脑海里先有一个大致的轮廓,虽然在实际操作过程中会萌生新的想法,但一开始就有一个想法是好的。

因为是入门Arduino,所以目的很单纯,就是点亮一个LED灯这么简单,当成功点亮了一个LED等,可以试着点亮一排LED灯,还可以让这些LED灯拼成一个符号,不停的闪烁也蛮不错的,或者一个接着一个的点亮和熄灭。

先在脑子里画一个电路。

对于我这么个刚入门的小白来说,还能记得初中物理的电路知识,也是很值得鼓励的。如果我没有说错的话,上图中的情况叫做并联电路。之所以加一块220欧的电阻,是因为LED承受不住太强的电流。

可以把Arduino开发板看作是一块电池,我将8号引脚的模式设置为输出,可以看作是电池的正极,LED灯并联起来,汇集到Arduino的负极接地引脚。

我先脑子里有个大致的想法,然后一边摆弄电路再一边晚上想法,因为当时连接电路的时候也是不断地尝试,怎么连接线路能更美观,最终连成了这个样子,并且LED灯最终也点亮了。

我认为学习的过程应该是,理解消化前人总结的东西,真正理解之后再去记忆吸收,然后不断的模仿和重复,再创新,最后将创新总结起来并分享出去,等待那些识得你所创造的价值的人的理解。创新很难,能走到不断模仿和重复这一步已经很不简单。

我的学习过程

组装电路

根据脑子里想象的样子,摸索着如何连接电路,过程中会不断改进和完善先前的想法。

一组LED灯插在面包板上杜邦线连接Arduino开发板通过编程线连接电脑

连接好电路,接下来就是编程。使用pinMode(8, OUTPUT)函数将8号引脚作为电平的输出端口即为正极,在loop函数中不断变换8号引脚的电平。

编写程序

因为电路只有通和断两个状态,要么开,要么关,所以digitalWrite()第二个参数只有中可能,要么HIGH要么LOW。当执行digitalWrite(8, HIGH)的时候,通电,电路中有电压产生,所以就有运动的电流,电流从LED阳极流向阴极,LED就会发光;当执行digitalWrite(8, LOW)的时候,断电,电路中没有电压,也就没有运动的电流,LED灯就不亮。

int led = 8;

void setup() {
  // 这里写初始化配置,只执行一次:
  pinMode(led, OUTPUT);
}

void loop() {
  // 这里写主要代码,会重复执行:
   digitalWrite(led, HIGH);
   delay(500);
   digitalWrite(led, LOW);
   delay(500);
}

digitalWrite(8, HIGH)执行后,电路通电,LED亮,此时执行delay(500)函数主程序会暂停500毫秒在执行,LED就会亮500毫秒,然后digitalWrite(8, LOW)执行,LED灭,主程序再暂停500毫秒,至此一个循环完毕,立即进入下一个循环。

我就看到面包板上的一排LED灯每1秒完成亮和灭的表演。

我还发现,如果将LED灯门串联起来,每一个LED发的光都很微弱,将LED灯并联起来每一个LED发的光一样而且很亮。

发布日期 » 2019年7月19日 周五
原创声明 » 请勿复制转载,谢谢配合。
Airglass.js核心库
JavaScript核心概念
硬件编程、Arduino
文档翻译计划
微信开发
前端脚手架
运维
可视化
生活自有“道”理
视觉设计、用户体验
陈帅华的微信二维码