楼主: eagler8

【Arduino】108种传感器模块系列实验(88)--- LCD1602液晶屏模块

[复制链接]

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2020-12-29 09:11 | 显示全部楼层

使用翻译软件了吧

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2021-1-12 14:35 | 显示全部楼层

不客气,多交流

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2021-1-12 14:37 | 显示全部楼层

不客气,多交流

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2021-3-18 13:31 | 显示全部楼层
最简单的LCD1602程序

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验八十八: LCD1602A液晶屏5V显示模块(IIC/I2C接口)
  4.   项目三:显示字符hello world!
  5.   Arduino------LCD1602
  6.   5V-------------VCC
  7.   GND-----------GND
  8.   A4-----------SDA IIC 数据线
  9.   A5-----------SCL  IIC 时钟线
  10. */

  11. #include <Wire.h>
  12. #include <LiquidCrystal_I2C.h>

  13. LiquidCrystal_I2C lcd(0x27, 16, 2); //配置LCD地址及行列

  14. void setup(){
  15.   lcd.init(); //初始化LCD
  16.   lcd.backlight(); //打开背光
  17. }

  18. void loop(){
  19.   lcd.setCursor(0, 0); //设置显示位置
  20.   lcd.print("hello ");//显示字符数据
  21.   lcd.setCursor(0, 1); //设置显示位置
  22.   lcd.print("world!");//显示字符数据
  23. }
复制代码



签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2021-3-18 13:40 | 显示全部楼层
27.jpg

签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2021-3-18 13:56 | 显示全部楼层
LCD1602A扫描I2C地址程序之二



  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验八十八: LCD1602A液晶屏5V显示模块(IIC/I2C接口)
  4.   项目四:LCD1602A扫描I2C地址程序之二
  5.   Arduino------LCD1602
  6.   5V-------------VCC
  7.   GND-----------GND
  8.   A4-----------SDA IIC 数据线
  9.   A5-----------SCL  IIC 时钟线
  10. */

  11. #include <Wire.h>
  12. void setup() {
  13.   Serial.begin (115200); //  等待串口连接
  14.   while (!Serial) { }
  15.   Serial.println ();
  16.   Serial.println ("I2C scanner. Scanning ...");
  17.   byte count = 0;
  18.   Wire.begin();
  19.   for (byte i = 8; i < 120; i++) {
  20.     Wire.beginTransmission (i);
  21.     if (Wire.endTransmission () == 0) {
  22.       Serial.print ("Found address: ");
  23.       Serial.print (i, DEC);
  24.       Serial.print (" (0x");
  25.       Serial.print (i, HEX);
  26.       Serial.println (")");
  27.       count++;
  28.       delay (1); // 也许不需要?
  29.     } // 反应良好
  30.   } // for循环的结尾
  31.   Serial.println ("Done.");
  32.   Serial.print ("Found ");
  33.   Serial.print (count, DEC);
  34.   Serial.println (" device(s).");
  35. } // 测试结束

  36. void loop() {
  37. }
复制代码




签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2021-3-18 13:58 | 显示全部楼层
串口测试输出

28.jpg


签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2021-4-12 09:52 | 显示全部楼层
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验八十八: LCD1602A液晶屏5V显示模块(IIC/I2C接口)
  项目:显示超声波测距开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验八十八: LCD1602A液晶屏5V显示模块(IIC/I2C接口)
  4.   项目:显示超声波测距
  5.   Arduino------LCD1602
  6.   5V-------------VCC
  7.   GND-----------GND
  8.   A4-----------SDA IIC 数据线
  9.   A5-----------SCL  IIC 时钟线
  10. */

  11. #include <Wire.h>
  12. #include <LiquidCrystal_I2C.h>
  13. #include <LiquidCrystal.h>
  14. double angle_rad = PI / 180.0;
  15. double angle_deg = 180.0 / PI;
  16. float getDistance(int trig, int echo) {
  17.   pinMode(trig, OUTPUT);
  18.   digitalWrite(trig, LOW);
  19.   delayMicroseconds(2);
  20.   digitalWrite(trig, HIGH);
  21.   delayMicroseconds(10);
  22.   digitalWrite(trig, LOW);
  23.   pinMode(echo, INPUT);
  24.   return pulseIn(echo, HIGH, 30000) / 58.0;
  25. }

  26. byte getLCDaddress() {
  27.   Wire.begin();
  28.   byte LCDaddress = 0x27;
  29.   Wire.beginTransmission(LCDaddress);
  30.   byte resultNumber = Wire.endTransmission();
  31.   if (resultNumber == 0) {
  32.     return LCDaddress;
  33.   } else {
  34.     LCDaddress = 0x3F;
  35.   }
  36.   Wire.beginTransmission(LCDaddress);
  37.   resultNumber = Wire.endTransmission();
  38.   if (resultNumber == 0) {
  39.     return LCDaddress;
  40.   }
  41. }
  42. LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x3F, 16, 2);

  43. void setup(){
  44.   lcd = LiquidCrystal_I2C(getLCDaddress(), 16, 2);
  45.   lcd.init(); //初始化LCD
  46.   lcd.backlight(); //打开背光
  47.   lcd.display();
  48. }

  49. void loop() {
  50.   lcd.setCursor(0, 0);
  51.   lcd.print(getDistance(7, 8));
  52.   lcd.setCursor(10, 1);
  53.   lcd.print(getDistance(7, 8));
  54.   delay(1 * 1000);
  55. }
复制代码







签到天数: 109 天

[LV.6]常住居民II

 楼主| 发表于 2021-4-12 10:11 | 显示全部楼层
实验场景图

17.jpg


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

本版积分规则

热门推荐

ESP8266结合blinker使用小爱同学电脑远程开机
ESP8266结合blinker使用小
blinker是点灯科技开发的面向广大物联网爱好者和创客公司研发的APP,可以安全快速有效
【Arduino】168种传感器模块系列实验(159)---MAX9814咪头传感器
【Arduino】168种传感器模
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
【干货分享】mega2560原理图PCB图纸altium designer18
【干货分享】mega2560原理
分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
【限时免费领】1000 块 Wi-Fi+BLE MCU 开发板
【限时免费领】1000 块 Wi
有! >>涂鸦智能 Wi-Fi+BLE MCU 开发板
Stduino UNO mini来了,你确定不了解下嘛
Stduino UNO mini来了,你
Stduino UNO mini基于Arduino UNO板型支持数字式调用引脚,例如:pinMode(13,OUTPUT)
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表