Arduino 电位器模拟电压表
写在前面
其实这个作业我最初是打算水过去的,在串口监视器显示一下就算了;后来还是希望能在显示屏上看到模拟电压值,所以就加了一个屏。
不过难度并没有加大,还是很简单的,大家想混作业的可以拿来用一下hhh
说正经的
这里用到了两个电位器,一个用来调节LCD屏的亮度,另一个用来输出模拟电压值。
输出模拟电压值的电位器OUT引脚连接的是A0;
LCD屏的引脚稍微复杂一点点,一会儿我们先讲一下它。
准备
下图是LCD引脚定义
各引脚的功能介绍如下:
引脚1:VSS为地电源;
【接GND】
引脚2:VDD接5V正电源;
【接5V】
引脚3:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”现象,使用时可以通过一个10kΩ的电位器调整其对比度;
【用来调节LCD屏亮度的电位器的OUT引脚,也就是引脚2,与其连接;连接之后可以转一转电位器,将亮度对比度调到合适的值】
引脚4:RS为寄存器选择脚,高电平时选择数据寄存器、低电平时选择指令寄存器;
【随便接一个输出口,博主接的是12】
引脚5:R/W为读/写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或显示地址;当RS为低电平,R/W为高电平时,可以读忙信号;当RS为高电平,R/W为低电平时,可以写入数据;
【接GND】
引脚6:E端为使能端,当E端由高电平跳变为低电平时,液晶模块执行命令;
【随便接一个输出口,博主接的是11】
引脚7~14:D0-D7为8位双向数据线;
【D0-D3不用接,4位工作模式,不使用】
【D4-D7接数字端口即可~博主接的是5, 4, 3, 2】
引脚15:背光源正极;
【接5V或者3.3V均可】
引脚16:背光源负极。
【接GND】
随后大家打开arduino软件界面,依次点击 项目—示例—LiquidCrystal—helloworld,打开程序后点击运行,就可以看到LCD屏上出现hello world字样,说明LCD屏连接成功。
代码
#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; //LCD屏的引脚设置
int vol =0; //电位器OUT引脚接A0
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); //初始化
void setup() {
Serial.begin(9600);
pinMode(0,OUTPUT);
lcd.begin(16, 2); //设置液晶屏的列数和行数
}
void loop() {
vol = analogRead(0);
lcd.setCursor(0, 1); //将光标设置为第 1 行第 0 列 //注意:第 1 行是第二行,因为计数以 0 开头
vol = vol/215.9; //**【不能写成、1023*5,否则会只显示0和5,但是博主这里也只能显示123】
Serial.println(vol,DEC);
lcd.print("vol="); //打印字符串vol=
lcd.print(vol); //打印vol的值
delay(200);
lcd.clear(); //清屏
}
写在最后
耐心一点就好了,很简单的