Arduino模拟I/O的使用
2018-03-29 16:50
204 查看
Arduino开发板上带有A的是模拟输入的引脚。Arduino可以通过读取输入引脚上的电平值来读取模拟信号。
在Arduino UNO上可以接受0~5V的模拟信号。
模拟输入引脚是带有ADC(Analog-Digital Converter模数转换器)功能的引脚,它可以将外部输入的模拟信号转变为芯片运算时可以识别的数字信号,从而实现读入模拟值的功能。
Arduino的模拟输入功能有10位精度,可以将0~5V的电压值转变成0~1023的整数形式表示。
模拟信号输入功能需要使用analogRead()函数。int value = analogRead(pin);
pin是指模拟输入的引脚,被指定的引脚必须是模拟输入的引脚如int value = analogRead(A0);//读取A0引脚上的模拟信号而analogWrite()是模拟信号输出,但是这不是真正意义上的模拟信号,而是以一钟特殊的方式来达到近似模拟输入的结果。这种方式叫做脉冲宽度调试(PWM,Pulse Width Modulation)。在Arduino UNO中,提供这个的引脚为3,5,6,9,10,11.analogWrite(pin,value);参数pin是指要输出PWM波的引脚,参数value是指PWM波的脉冲范围,范围是0~255。
在analogRead()和analogWrite()函数内部已完成了引脚的初始化,所以不用在setup()中进行引脚初始化。
在Arduino UNO上可以接受0~5V的模拟信号。
模拟输入引脚是带有ADC(Analog-Digital Converter模数转换器)功能的引脚,它可以将外部输入的模拟信号转变为芯片运算时可以识别的数字信号,从而实现读入模拟值的功能。
Arduino的模拟输入功能有10位精度,可以将0~5V的电压值转变成0~1023的整数形式表示。
模拟信号输入功能需要使用analogRead()函数。int value = analogRead(pin);
pin是指模拟输入的引脚,被指定的引脚必须是模拟输入的引脚如int value = analogRead(A0);//读取A0引脚上的模拟信号而analogWrite()是模拟信号输出,但是这不是真正意义上的模拟信号,而是以一钟特殊的方式来达到近似模拟输入的结果。这种方式叫做脉冲宽度调试(PWM,Pulse Width Modulation)。在Arduino UNO中,提供这个的引脚为3,5,6,9,10,11.analogWrite(pin,value);参数pin是指要输出PWM波的引脚,参数value是指PWM波的脉冲范围,范围是0~255。
在analogRead()和analogWrite()函数内部已完成了引脚的初始化,所以不用在setup()中进行引脚初始化。
使用模拟I/O设计呼吸灯
int ledPin=9; void setup() {//模拟信号引脚不用初始化 } void loop() { for(i=0;i<=255;i=i+5)//LED从暗到亮 { analogWrite(ledPin,i); delay(50);//延迟50毫秒 } for(i=255;i>=0;i=i-5)//LED从亮到暗 { analogWrite(ledPin,i) delay(50); } }
相关文章推荐
- arduino 如何把模拟口当数字口使用
- Arduino使用模拟温度传感器
- 生产环境模拟:使用Gor复制生产环境流量
- 使用ViewState模拟IsPostBack
- 使用阿里Rap实现mock数据(模拟后台数据)
- Arduino上使用超声波传感器示例程序
- Arduino使用“按键传感器”
- Arduino使用敲击模块和光遮断
- 使用JSON数据格式模拟股票实时信息
- Ubuntu14.04使用QEMU模拟ARM平台开发环境
- 使用GNS3简单模拟帧中继环境
- 操作系统实验之最近最久未使用算法(LRU)模拟
- 使用Socket模拟Http的GET操作
- 使用Javascript 模拟键盘输入
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
- 模拟填ip时的功能和onkeyup的使用
- 使用urllib发送post请求-模拟网站买票查票的post
- JAVA内存缓存使用,timer+map超时缓存。模拟redis、memcached
- ListView使用模拟数据进行分批加载测试
- iOS模拟低速网络工具Network Link Conditioner的使用