规格参数:
工作电压:5V
输入电压:接上USB时无须外部供电或外部7V~12V DC输入
微处理器:ATmega328P
时钟频率:16 MHz
14路数字IO出口,最大电流为40mA,实验时不要超过该电流
6路模拟输入A0到A5:10位的分辨率,默认输入信号为0到5V
AREF:模拟输入信号的参考电压
Flash 内存:32 KB (ATmega328P中有0.5 KB用于引导程序)
LED:用于测试的LED保留接口(13引脚),输出为高时点亮
官方网站:http://www.arduino.cc
Arduino uno通用性最好,使用范围最广的开发板,大小适中,集合可以部署在任何的环境。拥有大量的扩展模块,如wifi,NFC,I/O扩展模块板,蓝牙。它有13个数字接口,6个模拟接口(A0-A5),1个5V,一个3.3V电源引脚。
模拟端口和数字端口
arduino uno 开发板的端口在它的两侧。它们作一种连接来实现开发板与传感器、执行器以及其他设备的交互。主板的端口支持数字和模拟两种信号。端口都是双向性的,可以通过编程进行定义。
模拟信息
随着时间持续变化的信号,是随时间变化的电压。Arduino uno接口使用了0到1023来描述一个模拟输入信号。某些被标记PWM或者~的端口可以创建一个0-255之间变化的输出信号。
在数字端口中,其3、5、6、9-11端口是支持脉冲宽度调制(PWM)输出的,将PWM波(相当于数字化的模拟值)输出到引脚,可用于调节LED的亮度或马达转速。调用analogWrite(pin, value)后,该引脚(pin为引脚号)将产生一个指定占空比(value取值为0-255)的频率为490Hz的矩形波输出。
int brightness = 0; //表示LED的亮度
int fadeAmount = 5; //LED亮度变化增量
void setup() {
pinMode(3, OUTPUT); // 设置3号口为输出端口
}
void loop() {
analogWrite(3, brightness);//把brightness值写入端口
brightness += fadeAmount; //使亮度在下一次循环发生改变
if (brightness <= 0 || brightness >= 255)
fadeAmount = -fadeAmount ; //在亮度最高或最低时进行翻转
delay(30); //延时30毫秒
}
Analog I/O (模拟I/O函数)
analogRead() 读取模拟引脚值
analogReference()
analogWrite() 向模拟引脚写入值
例子:
void setup() {
pinMode(lcdlight,OUTPUT);
analogWrite(lcdlight, 130);//用于调节对比度(0-255),替代电位器作用
}
数字信息
数字信号只包含两个值0-1。从3.5-5V之间电压被看做是1,从0-2.5V之间的电压被称为0。
Digital I/O (数字I/O函数)
digitalRead() 读取数字引脚值
digitalWrite() 向数字引脚写入值
pinMode() 设置引脚状态(工作在输入还是输出)
Python编程
PySerial
- 下载pyserial.exe
- 双击安装pyserial
Python代码,从串口接收消息
from time import sleep
import serial
port = Serial.Serial(‘/dev/...’,9600)
while True:
print port.readline()
sleep(0.2)
执行python SerialPython.py