欢迎光临
我们一直在努力

Arduino1602显示屏显示简易汉字

20180309125651_副本

==概述==

LCD1602显示屏的每一格,就代表一格5*8的点阵。所以我们可以尝试使用点阵的取模方式来对1602显示屏的简易汉字显示。

本次是以小实验的方式写的,对于模块不了解的,可以先看一下我们的模块教程,了解掌握模块使用方法后,再尝试本小实验。

(对于非本店模块不提供技术支持!如果无法做通,可能是不兼容导致,请自行尝试)。

I2C1602显示屏教程:http://arduino365.com/2016/09/01/i2c-1602%E8%BD%AC%E6%8E%A5%E6%9D%BF/

LCD1602显示屏教程:http://arduino365.com/2016/09/01/lcd1602%E6%98%BE%E7%A4%BA%E5%B1%8F/


所需材料:

UNO R3主控版一块:点我购买

I2C1602显示屏一块(LCD1602显示屏排针版):点我购买

杜邦线若干:点我购买

大面包板一个(排针版1602需要):点我购买

10K电位器(排针版1602需要):点我购买

==接线图==

接线图1:I2C1602显示屏接线

UNO R3引脚:
#GND ———— GND
#VCC ———— 5V
#SDA ———— A4(AREF旁的SDA)
#SCL ———— A5 (AREF旁的SCL)

MEGA2560引脚:

#GND ———— GND
#VCC ———— 5V
#SDA ———— 20(AREF旁的SDA)
#SCL ———— 21 (AREF旁的SCL)

接线图2:LCD1602显示屏接线(排针版)

* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* 10K电位器或者1OK电阻(测试下来,5K的电阻或者电位器显示最正常):
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)

==例子程序==

#include <Wire.h>  //程序调用了该库文件
#include <LiquidCrystal_I2C.h>  //程序调用了该库文件
LiquidCrystal_I2C lcd(0x27,16,2);  // 定义LCD的地址为0x27,16列2行
//////////////////////////////////////////////////////////////////
//显示字符
#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args)  write(args);
#else
#define printByte(args)  print(args,BYTE);
#endif
//////////////////////////////////////////////////////////////////
//要显示的汉字编码,定义为一个数组
uint8_t dong[8]= {0x04,0x1F,0x08,0x14,0x1F,0x04,0x15,0x0C,};//东
uint8_t nan[8]= {0x04,0x1F,0x04,0x1F,0x1B,0x15,0x1F,0x15,};//南
uint8_t xi[8]= {0x00,0x1F,0x0A,0x1F,0x1B,0x1B,0x11,0x1F,};//西
uint8_t bei[8]= {0x0A,0x0A,0x0A,0x1B,0x0A,0x0A,0x0A,0x1B,};//北
uint8_t jia[8]= {0x1F,0x15,0x1F,0x15,0x1F,0x04,0x04,0x04,};//甲
uint8_t yi[8]= {0x1F,0x01,0x02,0x04,0x08,0x10,0x11,0x0E,};//乙
uint8_t bing[8]= {0x1F,0x04,0x04,0x1F,0x15,0x1B,0x11,0x13,};//丙
uint8_t ding[8]= {0x1F,0x04,0x04,0x04,0x04,0x04,0x14,0x0C,};//丁
//////////////////////////////////////////////////////////////////
void setup(){
   lcd.init();     //初始化LCD
   lcd.backlight(); //打开背光
   //////////////////////////////////////////////////////////////////
//创建新字符,将每个数组映射为一个字符,分别命名为0,1,2,3,4......
   lcd.createChar(0, dong);
   lcd.createChar(1, nan);
   lcd.createChar(2, xi);
   lcd.createChar(3, bei);
   lcd.createChar(4, jia);
   lcd.createChar(5, yi);
   lcd.createChar(6, bing);
   lcd.createChar(7, ding);
//////////////////////////////////////////////////////////////////
  //定义字符光标位置
   lcd.setCursor(0,0);
   lcd.printByte(0);
   lcd.printByte(1);
   lcd.printByte(2);
   lcd.printByte(3);
   lcd.printByte(4);
   lcd.printByte(5);
   lcd.printByte(6);
   lcd.printByte(7);
//////////////////////////////////////////////////
   lcd.setCursor(0,1);//定义光标位置
   lcd.print("arduino365.com");//显示英文及标点
   }
void loop(){
}

==如果手头没有I2C1602显示屏,排针版程序修改说明==

image修改为image


==实验效果==

接好线后,板子上电,模块显示指定内容。按一下RESET键可以重新显示内容。

=5*8点阵取模方法==

使用的是8*8点阵的取模软件,没有5*8的取模软件

直接在5*8的范围内,进行点亮点阵LED。从而实现文字。

20180309135828

==相关下载==

已生成字模的汉字(直接复制字模到程序里替换即可):https://pan.baidu.com/s/1XHhaUUtx3DBsqVMNLsnVjQ

库文件下载:https://pan.baidu.com/s/12dTUZmT7uh3OKNjPMDLzqg

字模软件下载:https://pan.baidu.com/s/1lVROG2Tu8W7V2Dv4M1xNww

未经允许不得转载:Arduino-Maker » Arduino1602显示屏显示简易汉字

支付宝扫码打赏 微信打赏

原创文章,若帮到您,欢迎打赏

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

线上商城

中贝斯特创客空间蘑菇云创客教育