一、模拟输入 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。 |