回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【雕爷学编程】Arduino动手做(85)---LCD1602液晶屏模块8 中等

头像 驴友花雕 2023.07.25 44 1

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

 

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验八十五:LCD1602液晶显示屏1602A模块 蓝屏黄绿屏灰屏5V 3.3V焊排针 IIC/I2C

 

12.1-01.jpg
12.1-02.jpg

 

Arduino实验接线示意图

 

12.1-25.jpg
12.1-26.jpg

程序十一:向右流动的字符串hello
(1)实验开源图形编程(Mind+、编玩边学)
 

12.1-48.jpg

(2)实验场景图
 

12.1-49.jpg

程序十二:向左单字符滚动的二行数字串1234567890
(1)实验开源图形编程(Mind+、编玩边学)
 

12.1-50.jpg

(2)实验场景图

 

12.1-51.jpg

程序十三:显示光敏电阻测量的光线照度数值
(1)实验开源图形编程(Mind+、编玩边学)

 

12.1-52.jpg

(2)实验场景图
 

12.1-53.jpg

程序十四:显示超声波模块测量的距离数值
(1)实验开源图形编程(Mind+、编玩边学)
 

12.1-54.jpg

(2)实验场景图
 

12.1-55.jpg

程序十五:综合测试LCD显示屏
(1)Arduino参考开源代码
 

 

代码
/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  程序十五:综合测试LCD显示屏
  下载安装库:https://github.com/mathertel/LiquidCrystal_PCF8574
  实验接线
  Arduino------LCD1602
  5V------------VCC
  GND-----------GND
  A4-----------SDA IIC 数据线
  A5-----------SCL  IIC 时钟线
*/

#include <LiquidCrystal_PCF8574.h>//导入驱动库
#include <Wire.h>

// 将 LCD 地址设置为 0x27 以实现 16 个字符和 2 行显示
LiquidCrystal_PCF8574 lcd(0x27); 

int show = -1;

void setup(){
  int error;

  Serial.begin(115200);
  Serial.println("LCD...");

  // 等待串口工作
  while (!Serial)
    ;

  Serial.println("捡测:未发现LCD");

  // See http://playground.arduino.cc/Main/I2cScanner how to test for a I2C device.
  Wire.begin();
  Wire.beginTransmission(0x27);
  error = Wire.endTransmission();
  Serial.print("错误数= ");
  Serial.println(error);

  if (error == 0) {
    Serial.println("ok! 找到 LCD! ");//LCD 找到
    show = 0;
    lcd.begin(16, 2); //初始化液晶屏
  } else {
    Serial.println(": LCD 未找到.");//LCD 未找到
  } // if
  Serial.println(" ");
} 


void loop(){
  if (show == 0) {
    lcd.setBacklight(255);
    lcd.home();
    lcd.clear();
    lcd.print("Hello LCD");//你好液晶屏
    delay(1000);

    lcd.setBacklight(0);
    delay(400);
    lcd.setBacklight(255);

  } else if (show == 1) {
    lcd.clear();
    lcd.print("Cursor On");//光标打开
    lcd.cursor();

  } else if (show == 2) {
    lcd.clear();
    lcd.print("Cursor Blink");//光标闪烁
    lcd.blink();

  } else if (show == 3) {
    lcd.clear();
    lcd.print("Cursor OFF");//光标关闭
    lcd.noBlink();
    lcd.noCursor();

  } else if (show == 4) {
    lcd.clear();
    lcd.print("Display Off");//显示关闭
    lcd.noDisplay();

  } else if (show == 5) {
    lcd.clear();
    lcd.print("Display On");//显示开启
    lcd.display();

  } else if (show == 7) {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("*** first line.");//第一行
    lcd.setCursor(0, 1);
    lcd.print("*** second line.");//第二行

  } else if (show == 8) {
    lcd.scrollDisplayLeft();
  } else if (show == 9) {
    lcd.scrollDisplayLeft();
  } else if (show == 10) {
    lcd.scrollDisplayLeft();
  } else if (show == 11) {
    lcd.scrollDisplayRight();

  } else if (show == 12) {
    lcd.clear();
    lcd.print("write-");//写入

  } else if (show > 12) {
    lcd.print(show - 13);
  } // if

  delay(1400);
  show = (show + 1) % 16;
} 

(2)实验串口返回情况
 

12.1-56.jpg

(2)实验场景图
 

12.1-57.jpg
12.1-58.jpg
12.1-59.jpg
12.1-60.jpg

评论

user-avatar
  • hacker_

    hacker_2023.08.08

    666

    0
    icon 他的勋章
      展开更多