学习任务:
了解PCF8591数模转换传感器
关注微信公众号:爱享生活科技 \color{#FF0000}{关注微信公众号:爱享生活科技} 关注微信公众号:爱享生活科技
组件:
- Arduion主板
- PCF8591数模转换传感器
- 双色LED灯模块
- 杜邦线
- 面包板
- USB数据线
下图是PCF8591数模转换传感器
下图是双色LED灯模块
实验步骤:
1.建立电路
Arduion | PCF8591数模转换传感器 |
---|---|
13 | AOUT |
A4 | SDA |
A5 | SCL |
GND | GND |
5v | VCC |
Arduion | 双色LED灯 |
---|---|
13 | S |
GND | - |
2.烧录代码
#include "Wire.h"
//I2C 总线地址
#define PCF8591 (0x90 >> 1)
void setup()
{
Wire.begin();
Serial.begin(9600);
Serial.println(sin(PI/2));
}
void loop()
{
for (int i=0; i<256; i++)
{
//唤醒PCF8591
Wire.beginTransmission(PCF8591);
//控制字节转换DAC(二进制01000000),模拟输出
Wire.write(0x40);
//值发送到DAC
Wire.write(i);
Wire.endTransmission();
delay(10*sin(i/256.0*90/180*PI));
Serial.println(100*sin(i/256.0*90/180*PI));
}
for (int i=255; i>=0; --i)
{
Wire.beginTransmission(PCF8591);
Wire.write(0x40);
Wire.write(i);
Wire.endTransmission();
delay(10*sin(i/256.0*90/180*PI));
Serial.println(100*sin(i/256.0*90/180*PI));
}
}
3.实验现象
PCF8591数模转换传感器的指示灯D2逐渐变亮交替熄灭,连接在Arduino13引脚上的LED灯也发生同样的变化。