基于Arduino开发板使用电压检测模块
本帖最后由 lou 于 2020-5-9 15:37 编辑基于Arduino开发板使用电压检测模块
产品介绍
电压检测模块基于电阻分压原理所设计,能使端子接口输入的电压缩小5倍,Arduino模拟输入电压最大为5V,那么电压检测模块的输入电压则不能大于5V×5=25V(如果用到3.3V系统,输入电压不能大于3.3V×5=16.5V),因为Arduino所用AVR芯片为10位AD,所以此模块的模拟分辨率为0.00489V(5V/1023),故电压检测模块检测输入最小电压为0.00489V×5=0.02445V。
接线方式
电压检测模块 Arduino Nano + <------> 5V/3V3 - <------> GND S <------> A0
电压检测模块 外部电池电源 GND <------> 正极 VCC <------> 负极
(电压检测模块)
产品参数
小板PCB尺寸:28mm*15mm*13mm(长*宽*高)电压输入范围:DC0-25V电压检测范围:DC0.02445V-25V电压模拟分辨率:0.00489VDC输入接口:端子正极接VCC,负极接GND输出接口:“+”接5/3.3V, “-”接GND,”S”接Arduino的AD引脚
电压检测模块基础小案例
结合Arduino Nano、电压检测模块、OLED显示屏、一个外部6V电池电源,实现对输入电压的检测显示。
OLED显示屏和Arduino Nano接线方式
OLED显示屏 Arduino NanoVCC <------> 3V3/5V GND <------> GNDSCL <------> D13SDA <------> D11 RES <------> D8 DC <------> D9CS <------> D10
(OLED显示屏 12864液晶显示屏模块 II/SPI接口)
OLED显示屏使用方法
GND:电源地VCC:电源正3-5VD0:SPI接口时为SPI时钟线,IIC接口时为IIC时钟线D1:SPI接口时为SPI时钟线,IIC接口时为IIC时钟线RES:ILED复位,OLED在上电后需要一次复位DC:SPI数据/命令选择脚,IIC接口时用来设IIC地址CS:OLEDSPI片选,低电平有效,如不想用必须接地
1、串口打印读取输入电压
Mixly 图形化编程程序
(图形化程序)
备注:40.90是个校准系数,需要自己校准
(串口数值显示)
程序实现代码
volatile float item;
void setup(){
item = 0;
Serial.begin(9600);
}
void loop(){
item = analogRead(A0) / 40.90;
Serial.println(String(item, 1));
delay(1000);
}
2、OLED显示屏显示输入电压
Mixly 图形化编程程序
(图形化程序)
(显示输入电压)
程序实现代码
#include <U8g2lib.h>
#include <SPI.h>
volatile float item;
U8G2_SSD1306_128X64_NONAME_1_4W_HW_SPI u8g2(U8G2_R0, 10, 9, 8);
void page1() {
u8g2.setFont(u8g2_font_timR24_tf);
u8g2.setFontPosTop();
u8g2.setCursor(50,30);
u8g2.print(String(item, 1));
}
void setup(){
item = 0;
u8g2.begin();
Serial.begin(9600);
u8g2.enableUTF8Print();
}
void loop(){
u8g2.firstPage();
do
{
page1();
}while(u8g2.nextPage());
item = analogRead(A0) / 40.90;
Serial.println(String(item, 1));
delay(1000);
}
页:
[1]