目录
一、制作第一个电路 单 led 闪烁·····························································································2
二、hello world 经典例程··········································································································9
三、Arduino 基础······················································································································10
四、Arduino 的数字输出·········································································································11
五、 Arduino 的串口输入·······································································································14
六、Arduino 的串口输出·········································································································16
七、Arduino 的模拟输入·········································································································18
八、Arduino 的模拟输出·········································································································20
九、6LED 灯闪烁实验··············································································································23
十、蜂鸣器实验························································································································29
十一、1 位数码管实验·············································································································32
十二、按键实验························································································································34
十三、光控 LED 实验··············································································································37
十四、1602 实验······················································································································39
十五、lm35 温度传感器实验··································································································42
十六、舵机控制实验················································································································45
十七、红外遥控接收实验········································································································48
十八、红外遥控控制舵机实验·······························································································50
十九、LED 点阵实验················································································································52
二十、74HC595 实验···············································································································54
ASCII 表·····································································································································57
ATMEGA328 引脚图··············································································································58
1
一、制作第一个电路 单 led 闪烁
做任何一个电路之前,一定要先了解电路中原件的参数,其工作电压,工作电流等。
第一个实验咱们用到的 LED 从网上查找资料得知,其工作电压一般为 1.5-2.0V,工
作电流一般为 10-20ma,反向击穿电压为 5V。控制板逻辑电路供电为 5V。根据以上
参数假设 LED 工作电压选用 1.7,工作电流选用 15ma,限流电阻=(总电压-LED 电
压)/电流,所以限流电阻=(5-1.7)/0.015=220Ω。
首先需要从 arduino 官方网站下载其编译软件,地址是
http://arduino.cc/en/Main/Software
笔者使用的平台为 win7 32 位,如果大家使用的是其他平台,按照对应的下载就可以。
下载回来的软件包解压缩后的目录结构如下图,arduino.exe 是程序的启动文件,
driver 目录是控制板 usb 芯片驱动,usb 接上控制板后如果要寻找驱动,把目录指定
到这里就可以。
本次实验用到的器材为一个面包板,一个 LED,一个 1k 的电阻,两根导线,如下图:
2
本次实验的连接方法如下图,LED 两个针脚有一长一短,短的是连接 GND,长的是
连接正极。在 LED 的长引脚前,需要添加一个 220Ω的限流电阻。连接数字 5 号接口。
实物连接如下图:
通过面包板把个个电子器件连接好以后,接上 USB 线,设置好控制板型号、端口号。
程序语言先不详解,大家先照猫画虎对着抄,后面通过各个实验,将对不同命令进行
详解。编写程序前,先需要选择控制板的型号。如下图:
3
控制板型号选择好后,选择串口位置,笔者电脑的串口为 COM15:
4
串口具体是多少号可以到设备管理中进行查看,如下图:
先把程序复制进去:
int ledPin=5; //设定控制 LED 的数字 IO 脚
void setup(){
pinMode(ledPin,OUTPUT);//设定数字 IO 口的模式,OUTPUT 为输出
}
void loop(){
digitalWrite(ledPin,HIGH); //设定 PIN5 脚为 HIGH = 5V 左右
delay(2000); //设定延时时间,2000 = 2 秒
digitalWrite(ledPin,LOW); //设定 PIN5 脚为 LOW = 0V
delay(2000); //设定延时时间,2000 = 2 秒
}
图中 int;void setup 等褐色的文字是系统命令,OUTPUT 等蓝色文字是命令的功能开
关,黑色文字是变量。程序写好以后点击编译按钮进行编译。
编译完成后会显示出来编译后的文件大小,本次编译出来的程序大小为 1068 字节。
5
然后把编译好的程序下载到 arduino 控制板上,点击下载按钮。
6
下载完成后会有提示
本次实验效果如下,闪烁着光芒的灯。。。
总结:
int;void setup 等褐色文字是系统命令,OUTPUT 等蓝色文字是系统命令的功能开关,
黑色文字是变量。
在"int ledpin=5"中;设置了 LED 的数字 IO 脚,ledpin 仅仅是 5 号数字端口自定义出来
的名字,变成 xxx 等都可以。对于多脚 IO 操作的程序中,为每一个引脚定义名字是
有必要性的,程序复杂后方便功能识别。
7
二、hello world 经典例程
通过 Arduino 编译器查看串口数据
最简单的例子:
void setup() {
Serial.begin(9600); // 打开串口,设置波特率为 9600 bps
}
void loop() {
Serial.println(“Hello world!”);
delay(1000);
}
如果电路安装正确,按照示例代码运行、上传,然后点击编译器的 Serial Monitor 按
钮,就可以看到 Serial Monitor 输出 Hello world!。
8