9012| 1
|
[进阶] 用arduino做一个0-5V可变电源 |
今天我们要做一个0-5V可变电源,最主要是为了学习Arduino 模拟输入和LCD显示。 什么是模拟输入? 我们知道模拟输出可以控制一个引脚输出0-5V的电压。那模拟输入就是读取0-5V的电压。函数: analogRead(引脚位置); 这个函数会返回一个0-1023之间的数字,比如说你直接把5V连接到模拟输入引脚,那返回的就是1023,如果你把GUN连接到模拟输入引脚,就返回数字0 。是不是很简单? 如果你用一个2.5V的电压正极连接到模拟输入引脚,那这个函数就会返回:512 0-5V和0-1023是一个对应关系。我们根据这个就能做一个0-5V量程的电压表了。 原理说明 把一个要测量的电池或电源正负极连接一个阻值很大的电阻,然后把正级连接到模拟输入的一个接口,把负极连接arduino的gun脚针。通过计算0-1023到0-5的映射,我们就能知道电池的电压了。 代码 void setup(){ Serial.begin(9600); //使用9600的波特率进行串口通讯 float temp; //创建一个浮点型变量temp作为存储空间准备存放数据 } void loop(){ int V1 = analogRead(A0);//从A0口读取电压数据存入刚刚创建整数型变量V1,模拟口的电压测量范围为0-5V 返回的值为0-1024 float vol = V1*(5.0 / 1023.0);//我们将 V1的值换算成实际电压值存入浮点型变量 vol if (vol == temp){//这部分的判断是用来过滤重复的数据,只有本次的电压值和上次不一时才进行输出 temp = vol; //比较完成后,将这次的值存入比对比用的变量temp } else { Serial.print(vol); //串口输出电压值,并且不换行 Serial.println(" V"); //串口输出字符V,并且换行 temp = vol; delay(1000); //输出完成后等待1秒钟,用于控制数据的刷新速度。 下面是1602显示器简介: 下面是项目原理图和连线图 [mw_shl_code=applescript,true]//Arduino Power Supply 0-5Volt |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed