话说我的Arduino UNO R3自从买回来就一直在桌子上当小摆件放着,最近陆续有一些用到Arduino的想法,索性从头开始慢慢地边学边记。
初次碰Arduino,反正我的感觉是无从下手。虽然Arduino的级别算是入门中的入门,但是对刚刚接触它的我来说,真正了解还是需要一番功夫的。以下是几点我对Arduino的初步了解,很基础,不过也是很重要的,至少让我不再犯懵。
[ɑdʒuːrinoʊ](仅供参考,长短音基本不分),另附音频文件(来自Youtube RightSpeech - Pronunciations & Vocabulary)
[embed]https://static.orgleaf.com/audio%2FArduino%20-%20How%20to%20pronounce%20Arduino.mp3[/embed]
中文音译大概是:a zhu rui nao。
一款硬件设备的开源意味着这电路、IDE之类的全部公开,根据Arduino的开源协议Creative Commons Attribution Share-Alike,其他人可以根据公开的内容自行生成制作Arduino,也可以对原电路进行修改,但是要继续沿用Creative Commons Attribution Share-Alike协议。
这样一来,我们在购买Arduino时没必要非得选择官方原版,可以选择国内的制造商(当然要靠谱的),价格会便宜很多。比如国产Mega的价格甚至低于原版UNO R3,原版的价格是国产的3~4倍,快要接近树莓派的价格了。
学习中所需的基本材料有:
[ssbluelist]
这些东西都可以在淘宝上或者在本地买到,价格便宜,甚至论斤卖。
[caption id=“attachment_3041” align=“alignright” width=“229”] 二极管伏安特性曲线[/caption]
数字输出的高电平也会给二极管提供5v的电压,不过因为数字信号的产生需要经过单片机等元件,总电阻就大了一些,也可能勉强不串电阻点亮LED,不过对于LED和单片机来说都有烧毁的危险。
如果一时没有电阻和LED也没关系,Arduino自带了一个LED(标记为L或L13),在13号阵脚下方,相当一颗插在13pin的LED。那么如何控制它呢?
下载安装Adruino的IDE,新建一个文件,默认会有这样两部分:
// 因为作用域的关系,一些变量/常量要在这儿设置,比如针脚 void setup() { // 这儿用于设置各项参数,比如一个针脚是负责输出还是输入 } void loop() { // 这儿是主体控制代码,loop意味着这儿的代码会被无限循环,接收输入信号的操作一般在这儿进行 }
下面我们来点亮L13。
首先定义针脚,我们只需要用到13号针脚,就可以定义一个常量ledPin:
const int ledPin = 13;
然后到了参数设置环节,因为点亮LED需要输出一个高电平供电,所以要将针脚的状态设置为OUTPUT:
void setup() { // put your setup code here, to run once: pinMode(ledPin,OUTPUT); }
所用到的函数为pinMode(针脚号,状态)
最后是点亮LED:
void loop() { digitalWrite(ledPin,HIGH); }
所使用的函数为digitalWrite(针脚号,电位),顾名思义,使用的是数字针脚,HIGH指输出高电平,LOW则指输入低电平。
完整的代码如下:
const int ledPin = 13; void setup() { // put your setup code here, to run once: pinMode(ledPin,OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(ledPin,HIGH); }
编译上传,如果没错应该就是下面这样:
我们还可以给它赋予更多效果,比如定时闪烁,需要用到delay(延时时长)(单位为毫秒):
const int ledPin = 13; void setup() { // put your setup code here, to run once: pinMode(ledPin,OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(ledPin,HIGH); delay(1000); digitalWrite(ledPin,LOW); delay(1000); }
效果为持续点亮1秒,熄灭1秒,如此循环:
现在当务之急是买一堆电子元件……手头上除了一大把杜邦线没别的了。