Arduino是一款方便上手、灵活便捷的开源电子原型平台,它包含硬件(也就是各种型号的arduino板)和软件(也就是arduino IDE开发平台)。除此之外,Arduino还能控制各种各样的输入及输出传感器来感知环境、影响环境。arduino非常适用于艺术家、设计师、爱好者以及对互动程序感兴趣的学生来学习使用。在arduino控制主板上的微控制器可以通过arduino IDE编程语言来编写程序,进而编译成二进制文件,烧录进微控制器,以便控制外接的一些传感器。
那么arduino编程到底有多难呢?它又是基于什么样的程序语言呢?确切的来说,Arduino是基于C++语言和类似于processing的开发环境而生成的一款语言。它内部的语法和C++的语法结构很类似,而它的程序结构又类似于processing的程序结构。也就是说,掌握了processing的小伙伴可以更轻松的掌握arduino编程。arduino还可以与电脑上运行的一些其他软件进行通信,如processing、MaxMSP、unity等等。
所以要入门arduino编程,首先要弄清楚arduino的生态系统,Arduino开发板类型有很多种,大致可以分为入门级、满足网络连接需求的级别、教育类型、可穿戴类型以及物联网级别的板子。其中,我们最常用的是入门级板子arduino uno。
图片源自:http://arduino.cc
在我们简单了解了arduino以及常用arduino板子之后,我们就要去下载arduino开发环境了。Arduino开发环境是完全免费开源的面向大众进行下载,大家可以去arduino的官网进行下载,它支持Windows, Mac OS,以及Linux不同平台,大家可以根据自己的电脑系统不同选择不同的arduino版本进行下载。
在下载好arduino IDE开发环境之后,我们需要将arduino开发环境进行简单的配置,具体分为以下三个步骤:
(1)需要将arduino开发板与电脑USB端口通过USB方口数据线相连,保证arduino上的指示灯是亮起的状态。
(2)选择开发板类型:通过菜单上的“工具”选项,找到“开发板”一项,选择对应的arduino型号开发板。
(3)选择程序下载端口:通过菜单上的“工具”选项,选择“端口”一项,选择arduino对应的下载端口。
这样一来,我们就配置好了arduino的开发环境,接下来,要入门arduino,就必需了解arduino的程序结构,当你打开arduino这款软件,新建一个文件程序的时候,Arduino自动帮助你写了两个程序结构,它们分别是void setup(){}和void loop(){}, 而程序中也会加入灰色部分的注释。
所谓注释,就是在代码中加入一些标注,以便程序开发人员更容易理解代码,这些注释本身并不参与程序的运行。void setup()这个函数中放入的是一些初始设置的代码,如设置传感器是输入还是输出类型。这里面的代码在程序运行的过程中只运行一次。与之相对void loop()这个函数中放入的是主要代码,这些代码在程序运行的过程中会持续不断的被运行起来。
在了解了基本的程序结构之后,可以说,你对arduino的入门就更进了一步。那么arduino的程序究竟是怎么写出来的呢?我们可以看一个范例程序来说明。我们可以在arduino的菜单中找到“文件”,在“文件”菜单下找到“范例程序”。在其中打开basics -> Blink这个文件。在这个文件中,我们可以看到在void setup(){}中,程序只写了pinMode(LED_BUILTIN, OUTPUT); 这样一行代码。pinMode是规定引脚模式的一个函数。
所谓函数,就是计算机预设的一些可以控制程序运行的指令。而引脚指的就是arduino控制板上外接各种传感器的输入输出接口。那么括号中的两个指令又是什么意思呢?LED_BUILTIN指的是LED小灯泡,OUTPUT指的是模式是输出模式。这样,这行代码连在一起是不是更好理解了呢?这行代码指的就是规定LED小灯泡的引脚是输出模式,也就是说,要控制arduino面板对小灯泡输出(也就是亮起或暗下)。而我们接着看void loop(){}中的代码,就更能理解这段代码的含义了。
digitalWrite(LED_BUILTIN, HIGH); 指的是在数字端口写入,HIGH指的是高电压,那么在小灯泡这个引脚输出高电压,小灯泡自然就处于亮起的状态了。后面delay(1000); 只得是等待1000毫秒,也就是有1秒钟的停顿。再下面一句digitalWrite(LED_BUILTIN, LOW); 指的是在小灯泡那个引脚输出低电压,那么小灯泡就暗下了。那么这个blink程序达到的效果就是小灯泡亮起->等待1000毫秒->小灯泡暗下->等待1000毫秒->小灯泡亮起 ……如此循环往复的小灯泡亮起和暗下。
总结一下,说了这么多,到底入门arduino要多久的时间?这个可能取决于我们对“入门”两个字的定义,如果我们买好了开发板,下载好了软件,用来实现一个操作小灯泡亮暗的程序,那么“入门”Arduino可能只需要十分钟到半个小时。可是如果我们想要实现自己设想的功能,如有人来了arduino能感知到,并且控制舵机能动起来,那么我们可能需要人体红外线传感器、舵机的代码有所熟悉了解,并且对整个程序结构、接线的方法也需要掌握。掌握这些大概1-3周的时间。如果我们想要更自由的做出我们想要的项目,并且在表达自己的想法时畅通无阻,可能我们需要学习更多的教程,并且动手一一实践,可能需要1-3个月的时间,我们就可以掌握arduino了。
以上,望有帮助。
———————————————————
|