第1课 初识 Arduino 与 点亮板载 LED

Arduino 已成不少创客的首选,因为它不仅开发简单、价格便宜、模块丰富,能够作为人机交互、物联网的节点,甚至成为各种人工智能的中心。不过,千万不要把Arduino想的很复杂,其实,它原本只是给艺术家准备的玩具!

Arduino 开发哲学是“用最短的时间,最大化你的创意”。你不需要懂高深的编程语言和电子电路,只要把想法快速表达出来。其实,很多消费电子产品的原型都是用Arduino 开发的,然后交给专业的工程师、迁移至更高级的平台。

总之,Arduino是一款非常典型的“低门槛,宽边界,高天花板”的入门玩具。

这个教程一共55课,涵盖了Arduino 基础编程、扩展、进阶实验三大部分。前面两部分,足够你玩转Aruidno 的方方面面,最后,我们将 Arduino 放到充满挑战的现实中,完成一些很酷的玩意。

要撬动地球,先要一个支点:一块 Arduino 开发板。理解支点是一切的开始:

Arduino 是一个开源的、基于 I/O 端口的控制平台和开发环境,利用过程语言,Arduino 可以读取大量的开关和传感器信号,并且控制各式各样的电灯、电机或其他物理设备,同时连接你的PC 或者 手机。

第一步,购买一块 Arduino 开发板,初学者建议选择 Arduino  Uno 或者 Genuino Uno,前者为官方原版,价格贵;后者是姊妹品牌,价格便宜,但功能设计完全一模一样。

Uno 上很多电子元器件,不用细究,只需要理解它有四个模块,控制芯片(Uno 为 ATMega328)、USB 接口、I/O 端子和供电系统。控制芯片是核心,以后我会介绍,怎样只用一块控制芯片,制作出最小的 Arduino 。

选择 Uno的好处是 I/O 兼容性好且内置 USB 接口。但开发完成后,组装时,可以选用 mini 或者 micro 减少体积,复杂的项目可以用 Mage2560 提供更大存储空间和更多的I/O端口。

当然,兼容的Arduino 开发板一直在推新,针对物联网,现在已经有集成了Wifi、蓝牙、NFC 等功能的板,使得开发十分便捷。

第二步下载 Arduino IDE (IDE 就是 Arduino 的开发界面),安装时会自动装上各种必须的驱动程序。

Arduino 官方下载地址:https://www.arduino.cc/en/Main/Software 包括 Windows、Mac、Liunx 版本。如果系统是 Windows 请选择 Installer,Windows 10 以上安装程序会自动把驱动装上很方便:

如果系统是 Windows 7 或 XP,安装时搜索驱动,然后指定 IDE 目录下的 drivers\FTDI USB Drivers 自动搜索即可。如果是 Ubuntu ,系统将自动识别驱动,使用 Root 权限启动 IDE 即可。

安装好之后选择启动,出现下面的界面:

一般来说,此时把 Arduino 通过 USB 链接到电脑上,就可以上传代码了,但有时还要在 “工具” 菜单中选择正确的版型(默认微Uno)和端口。

尝试第一个程序吧!点击 IDE “文件” 菜单,在“示例”选择 “01. basics”,最后选中 “Blink”,此时应用会新开一个窗口:

点击左上角的“上传”按钮,“Blink” 的代码传送到 Arduino 开发板上。过程中 RX 和 TX 灯会不停闪烁,等上传结束,第13 I/O端口的 LED 开始闪烁,这说明开发板已经可以与PC链接并正常工作了。

Blink 是最简单的 Arduino 程序,说明一下:

 

void setup() 的代码在导通电源时会执行一次,用于初始化设置。这里将 I/O 端口 LED_BUILTIN 设置为 OUTPUT,这意味着电平会根据程序变化,Arduino Uno 所有端口只能输出高低电平两种信号,但后面我们会介绍用 PWM 来控制输出功率。

另外, LED_BUILTIN 端口实际就是 DIGITAL 13,内置一颗 LED,改为 13 效果也是一样的。

接着 void loop() 里面的代码会不断循环执行,直到电源关闭。起始, LED_BUILTIN 端口输出高电平,LED亮,延时1000毫秒;接着,输出低电平,LED灭,延时1000毫秒,这个过程反复进行。另外,每块 Arduino 开发板都有一个 Reset 键,按下后程序从 void setup() 重新执行。

值得一提是,USB 接口可能会出现供电不足,Arduino Uno 有专用供电口,一般用路由器的电源即可,但要确保电压在 11V 以内(Arduino 多采用 AMS1117 线性稳压芯片,11V是其最大耐压值)。



3 thoughts on “第1课 初识 Arduino 与 点亮板载 LED

  1. zenithwong

    谢谢ardui.co的潘。
    我看了几本入门的书,有些地方还没搞懂。在这里,让我明白了一些。
    谢谢你,潘

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *