Skip to main content

大家平时在作品集里会看到很多用Arduino实现的装置,可能是交互装置,可能是艺术装置。很多同学会对Arduino这个部分感兴趣,也喜欢做相关项目,觉得做起来很有意思。我今天来讲一讲Arduino的相关知识,方便感兴趣的同学入门。

Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。我们为什么说它拥有开源的特性呢,“开源(open source)”这个词,指的是事物规划为可以公开访问的,因此人们可以修改并分享。arduino是一个面向所有人的平台,只要你掌握了Arduino运行的逻辑和语言,就能够用它实现你自己的概念,想法等。

Arduino硬件部分可以独立工作,也可以与外部硬件设备协同工作。比如利用Arduino配合各种传感器(超声波传感器,光敏电阻,温湿度传感器,声音传感器,酸碱度传感器等等)来感知环境,我们还可以使用Arduino控制舵机来驱动机械臂、机器人和无人机,Arduino的灯光效果也很不错,我们可以利用这些硬件来进行项目创作。YouTube上有很多Arduino的实验视频,很多大佬做过不同的测试,是非常好的学习资源。总的来说,Arduino像我们的小助手,协助我们完成内心的想法,实现项目的成果。

Arduino的开发版有很多,Arduino Yun,Arduino UNO,Arduino Nano,Arduino Mega,Arduino Pro/Pro mini, Arduino Gemma等等。今天给大家介绍3种最常见的板子:Arduino UNO,Arduino Nano,Arduino Pro/Pro mini。Arduino UNO是Arduino中最基础的开发板,一般我们在淘宝上买的新手包里面带的板子都是UNO板,图中的蓝线是一根USB接线,它可以连接电脑传输程序,板子上红色按键为复位按键,复位按键的作用就是让已经烧进板子里的程序在板子里重启。关于供电方式,Arduino可以用电脑,充电宝,9V电池三种充电方式供电。如果我们不想带着电脑测试,一般选择充电宝会好一些,9V电池电量有限,供电时间比较短。

Arduino UNO 板子上有很多孔,其中电源接块是最重要的,5V,3.3V都是正极接块,GND是负极接块。A0-A5都是模拟口,0-13都是数字接口。0号和1号口属于串口通信用的,一般我们不去占用;从2号口到13号口是我们可随意使用的数字接口数字接口可以读取数字信号,也可以输出数字信号。Arduino UNO 板子上还有工作状态灯:如果L和On两个灯亮,则说明Arduino在工作。Arduino Nano板子体积比UNO板子小很多,差不多只有我们小拇指这么大,其他的接线接口跟UNO几乎是一样的,电源接块,模拟口,复位按键都是一样的,唯一的区别就是如果你在UNO上接线为数字口5,那在NANO上接线就为D5。Arduino Nano使用的是mini USB线,还有一点,nano 板子有两种,一种是已焊接的,另一种是不焊接的,这两种我们会根据具体情况而使用,具体情况具体分析。还有就是Arduino pro mini,这个板子的体积比Nano 板子更小一些,我们一般在做可穿戴小设备的时候,会用到这两种体积小的板子。

Arduino包含两种库:标准库和第三方库,当然也可以自己写类库。标准库安装Arduino IDE后就已经导入,只需要直接调用就行,第三方类库则需要导入,如果没有导入编译器就会报错。我们自己做项目基本都依靠第三方库,Github 是全球最大git服务提供商,也是最大的开源社区之一,很多常用的Arduino库,都可以通过Github找到。libraries文件夹中存放的是Arduino的各种类库,当将类库放入其中后,便可以在编写程序时调用它们。

Arduino程序可以分为三个主要部分:结构,值(变量和常量)和函数。软件结构包括两个主要函数:Setup()函数和Loop()函数。Setup就是先做这件事,哪件事—括号里那件事,loop就是循环,循环的事也是紧跟loop后面括号里这件事。Arduino所有的程序都基于这两个主要函数结构。

Arduino IDE软件是Arduino开发板的程序开发环境。你只要在IDE中编写好程序代码,并且将程序上传到Arduino后,Arduino就会根据你的吩咐执行交给他的任务了。Arduino开发语言是基于C/C++的。

最后我来说一下,如何学习Arduino。Arduino是低门槛的,很好上手,喜欢的同学可以先从了解输入输出设备开始进入arduino的世界,第二步就是了解输入输出设备的IO(input,output)功能。我们没有必要一上来就把套件里所有的传感器全部了解一遍,必须真正实践到具体的项目里我们才能真正掌握住一个sensor的编程逻辑和连线方式。

所有图片都来源于网络

文章作者:程雅秋
英国皇家艺术学院产品设计硕士
擅长产品服务系统设计、用户体验设计和硬件Arduino交互

任何关于院校和作品集的问题
欢迎随时沟通
知无不言,言无不尽

0 0 vote
Article Rating
订阅
提醒
guest
0 评论
Inline Feedbacks
View all comments