极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14005|回复: 8

LCD2004显示4路电压

[复制链接]
发表于 2014-7-17 21:47:56 | 显示全部楼层 |阅读模式
第1路 0-50 V
第2路 0-5  V
第3路 0-5  V
第4路 0-5  V

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2014-7-17 21:52:57 | 显示全部楼层
程序
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-17 21:53:38 | 显示全部楼层
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5 , 6, 7);  //lcd(rs, e, d4, d5, d6, d7);

float temp_1,temp_2,temp_3,temp_4;   //创建浮点型变量temp作为存储空间准备存放数据

void setup()
{
  Serial.begin(9600);   //使用9600的波特率进行串口通讯
  lcd.begin(20, 4);      //初始化LCD
  //lcd.setCursor(3,1);
  //lcd.print("voltage TEST");
}
void loop()
{
  Vol_1();
  Vol_2();
  Vol_3();
  Vol_4();
}

void Vol_1()
{
  int V1 = analogRead(A0); //从A0口读取电压数据存入整数型变量V1,模拟口的电压测量范围为0-5V 返回的值为0-1024
  float vol_1 = V1*10.20*(5.0 /1023.0);  //将 V1的值换算成实际电压值存入浮点型变量 vol
  
  if (vol_1 == temp_1) //过滤重复的数据,只有本次的电压值和上次不一时才进行输出                        
  {
    temp_1 = vol_1;    //比较完成后,将这次的值存入比对比用的变量temp
  }
  else
  {
    Serial.print("vol_1=");
    Serial.print(vol_1);        //串口输出电压值,不换行  
    Serial.println(" V");       //串口输出字符V,并且换行
    lcd.setCursor(0,0);
    lcd.print("vol_1 = ");
    lcd.setCursor(8,0);
    lcd.print(vol_1);
    lcd.setCursor(12,0);
    lcd.print(" V");
    temp_1 = vol_1;
    delay(200);              //输出完成后等待0.2秒钟,用于控制数据的刷新速度。
  }
}

void Vol_2()
{
  int V2 = analogRead(A1);
  float vol_2 = V2*(5.0 / 1023.0);  
  
  if (vol_2 == temp_2)                        
  {
    temp_2 = vol_2;   
  }
  else
  {
    Serial.print("vol_2=");
    Serial.print(vol_2);      
    Serial.println(" V");   
    lcd.setCursor(0,1);
    lcd.print("vol_2 = ");
    lcd.setCursor(8,1);
    lcd.print(vol_2);
    lcd.setCursor(12,1);
    lcd.print(" V");
    temp_2 = vol_2;
    delay(200);
  }
}

void Vol_3()
{
  int V3 = analogRead(A2);
  float vol_3 = V3*(5.0 / 1023.0);
  
  if (vol_3 == temp_3)                       
  {
    temp_3 = vol_3;   
  }
  else
  {
    Serial.print("vol_3=");
    Serial.print(vol_3);      
    Serial.println(" V");   
    lcd.setCursor(0,2);
    lcd.print("vol_3 = ");
    lcd.setCursor(8,2);
    lcd.print(vol_3);
    lcd.setCursor(12,2);
    lcd.print(" V");
    temp_3 = vol_3;
    delay(200);         
  }
}

void Vol_4()
{
  int V4 = analogRead(A3);
  float vol_4 = V4*(5.0 / 1023.0);  
  
  if (vol_4 == temp_4)                        
  {
    temp_4 = vol_4;  
  }
  else
  {
    Serial.print("vol_4=");
    Serial.print(vol_4);     
    Serial.println(" V");   
    lcd.setCursor(0,3);
    lcd.print("vol_4 = ");
    lcd.setCursor(8,3);
    lcd.print(vol_4);
    lcd.setCursor(12,3);
    lcd.print(" V");
    temp_4 = vol_4;
    delay(200);         
  }
}
回复 支持 反对

使用道具 举报

发表于 2014-7-18 08:01:06 | 显示全部楼层
LZ能上电路图吗,很感兴趣,正想学习。
回复 支持 反对

使用道具 举报

发表于 2014-7-19 09:54:57 | 显示全部楼层
能不能换成转速度显示的,再加个比较速度输出?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-21 23:15:27 | 显示全部楼层
原理图ttttt

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-9-25 17:15:50 | 显示全部楼层
不错,今晚仿制学习一下
回复 支持 反对

使用道具 举报

发表于 2014-9-30 01:22:34 | 显示全部楼层
呵呵,等我找到我的2004,我也仿制一个~
回复 支持 反对

使用道具 举报

发表于 2014-10-16 18:22:25 | 显示全部楼层
我也照样做了一个挺好玩的!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 13:35 , Processed in 0.069240 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表