Arduino系列教程六:模拟输入输出
来自丢石头百科
一、模拟输入
Arduino开发板中A0-A5为模拟输入端口,包含10位模拟数字转换器。
打开Arduino IDE,编写如下程序并保存。
#define Pin 0
void setup(void){
Serial.begin(9600);
}
void loop(void){
Serial.print("The ADC value is: ");
Serial.println(analogRead(Pin));
delay(1000);
}
把Accessory Shield插上UNO PLUS开发板。编译并上传程序,打开串口监视器。等待一会儿,旋转Accessory Shield中可调电位器,串口监视器会显示ADC转换后的数据。
程序分析:
程序开始定义模拟输入引脚为A0。
analogRead(pin)为ADC转换函数,pin为管脚号,可为0~5,转换结果为0~1023之间的整数。
二、模拟输出
Arduino开发板没有DAC转换功能,但是可以通过PWM模拟输出模拟信号。
打开Arduino IDE,编写如下程序并保存。
#define beep 11
#define analogPin 0
int val = 0;
void setup()
{
pinMode(beep,OUTPUT);
}
void loop()
{
val = analogRead(analogPin);
analogWrite(beep,val/4);
}
把Accessory Shield插上UNO PLUS开发板。编译并上传程序。等待一会儿,旋转Accessory Shield中可调电位器,蜂鸣器会发出不同是声音。
程序分析:
程序开始定义模拟输入引脚为A0。蜂鸣器为D11引脚。
analogRead(pin)为ADC转换函数,pin为管脚号,可为0~5,转换结果为0~1023之间的整数。
analogWrite(pin,value)为PWM输出函数,pin为管脚号,可为3, 5, 6, 9, 10, 11,value表示为0~255。