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