使用Arduino连接一个LCD显示屏

 

本文转载自https://www.yiboard.com/thread-1086-1-1.html

 

使用Arduino连接一个LCD显示屏,为您的项目提供显示。

 

将字符LCD显示屏连接到Arduino开发板,为您的项目添加了一个很好的可读性元素。世界上许多最好的Arduino项目都有液晶显示器。这些LCD可用于显示Arduino或连接到它的任何传感器的信息。例如,您可以创建一个温度监控系统,显示Arduino的温度。您可以制作自己的速度表,在液晶显示屏上显示您的速度!根据您想要构建的内容,LCD是Arduino非常有用的输出设备。

 

 

在本篇文章中,我们将向您展示如何将LCD显示屏连接到Arduino开发板。您可以使用此帖子中的信息来制作自己的基于LCD的Arduino项目。在上图中,LCD显示我们编入Arduino的文本。您可以相应地修改和使用本文发布的代码。

 

 

LCD是最简单的设备之一,可用于显示Arduino项目的输出。有两种不同类型的LCD:图形和字符点阵LCD。我们将在这里使用字符LCD,因为它们是最容易使用的。另外,根据LCD的尺寸,有不同的类型:

●    16x2字符LCD(16列2行)

●    20x4字符LCD(20列4行)

它们也有不同的颜色:

●    黑色字符的绿色LCD

●    白色字符的蓝色LCD

●    黑色字符的红色LCD

●    还有很多

 

不同颜色的LCD

 

在这些显示屏中,绿色和蓝色LCD是最常见的。其他颜色可能很难获得。在本文中,我们将使用20x4蓝色字符LCD。 Arduino通过四条数据线与LCD通信。我们使用Arduino上的数字引脚与LCD通信并显示我们想要的内容。除了这些连接,还有一个使能引脚、RS引脚和一个RW引脚。当您从Arduino向LCD上的引脚15施加5V电压并通过接地引脚16时,LCD上的背光被启用。除此之外,您还需要一个10K电位器来调整LCD的对比度。

 

设置初始连接

第一步是将16针公头连接器焊接到LCD上。然后,您可以使用16针母头连接到Arduino或只使用母对母连接器。如果您是第一次连接Arduino,最简单的方法就是使用面包板。

 

LCD显示屏和Arduino的初始连接

 

在使用LCD之前,您需要做的第一件事就是检查它。为此,请按照上图所示进行连接。将LCD上的引脚15连接到Arduino的5V引脚。接下来,将LCD上的引脚16连接到Arduino的GND引脚。这些引脚用于为LCD的背光供电。

 

接下来,您需要设置LCD的逻辑。为此,将LCD上的引脚1连接到Arduino的GND引脚。然后,将LCD上的引脚2连接到Arduino的5V引脚。接下来,您需要设置对比度调节电位器。取10K电位器,将第一个端子连接到Arduino的5V引脚,将第二个端子(中间引脚)连接到LCD的引脚3,将第三个端子连接到Arduino的GND引脚。

 

接下来,启动Arduino。您会注意到LCD上的背光打开。此外,当您旋转电位器上的旋钮时,LCD上的字符块会变亮/变暗。看看下面的图片,看看我在说什么。如果您的液晶显示屏显示下图中显示的内容,则表示您的液晶显示屏已正确设置!如果您无法实现此目的,请仔细检查您的连接和电位器。

 

调整LCD上的对比度

 

最终连接

现在,我们需要连接数据线和其他与LCD配合使用的引脚。查看下面的连接图。

 

Arduino、电位器和LCD之间的最终连接

 

让我们从连接LCD的控制线开始。将LCD的引脚5(RW)连接到Arduino的GND引脚。该引脚未使用,用作读/写引脚。接下来,将LCD的引脚4(RS)连接到Arduino的数字引脚7。RS引脚用于告诉LCD我们是否正在发送数据或命令(更改光标的位置)。接下来,将LCD的引脚6(EN)连接到Arduino的数字引脚8.EN是LCD上的使能引脚,用于告诉LCD数据已准备好读取。

 

接下来,我们必须连接LCD上的四个数据引脚。将LCD的引脚14(DB7)连接到Arduino的数字引脚12,然后,将LCD的引脚13(DB6)连接到Arduino的数字引脚11。接下来,LCD的引脚12(DB5)连接到Arduino的数字引脚10,然后LCD的引脚11号(DB4)连接到Arduino的数字引脚9。

 

就是这样,你已经完成了将LCD连接到Arduino的工作。您会注意到控制引脚和LCD上的数据引脚之间有四个未连接的引脚,如下所示。

 

 

将代码上传到Arduino

我们现在可以尝试通过Arduino在LCD上显示内容。在此之前,您需要下载Arduino LiquidCrystal库。接下来,您需要从下载文件中提取“LiquidCrystal”文件夹。然后,将“LiquidCrystal”文件夹复制并粘贴到Arduino目录中,最终结果目录的示例应如下所示:arduino-1.0.5librariesLiquidCrystal

 

LiquidCrystal Arduino代码

 

接下来,打开您的Arduino IDE,然后转到:File-->Examples-->LiquidCrystal-->HelloWorld。将代码上传到您的Arduino。您将在Arduino上看到以下显示。

 

Arduino字符LCD

 

请注意:如果您使用的是16x2 LCD,请将lcd.begin(20,4)编辑为lcd.begin(16,2)。

 

Arduino LCD的使用过程

尝试修改LCD的代码。基本上,有三个主要函数用于控制LCD上的文本:

1.  lcd.begin(total columns, total rows) - 此函数在setup()中,用于初始化我们正在使用的LCD的大小。如果它是20x4,那么使用:lcd.begin(20,4);如果它是16x2,那么使用:lcd.begin(16,2)。

2.  lcd.setCursor(column number, row number)  - 此函数将LCD的光标放在所需位置。此函数后显示的任何文本都将从您提到的位置开始。例如,使用:lcd.setCursor(4,0),即第五列和第一行(因为它从0,0开始)。

3.  lcd.print("text") - 此函数用于在LCD上打印文本。无论在“”内放置什么字符串,都会显示在LCD上。

 

 

 

  • 41
    点赞
  • 261
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是一个简单的程序,可以将火焰传感器、按键、蜂鸣器和LCD显示器与SIM800C模块连接在一起。请将程序复制到Arduino IDE中,并将SIM800C模块的相关配置更改为您的设置。 ``` #include <SoftwareSerial.h> #include <LiquidCrystal.h> //定义火焰传感器引脚 int flameSensor = 2; //定义按键引脚 int buttonPin = 3; //定义蜂鸣器引脚 int buzzerPin = 4; //定义SIM800C模块的软串口 SoftwareSerial sim800cSerial(7, 8); //定义LCD显示器对象 LiquidCrystal lcd(9, 10, 11, 12, 13); void setup() { //初始化串口和LCD显示器 Serial.begin(9600); sim800cSerial.begin(9600); lcd.begin(16, 2); //设置火焰传感器和按键为输入模式 pinMode(flameSensor, INPUT); pinMode(buttonPin, INPUT); //设置蜂鸣器为输出模式 pinMode(buzzerPin, OUTPUT); } void loop() { //读取火焰传感器的值 int flameValue = digitalRead(flameSensor); //如果检测到火焰,发短信并发出警报声 if (flameValue == HIGH) { lcd.clear(); lcd.print("Fire Detected!"); delay(1000); lcd.clear(); lcd.print("Sending SMS..."); sendSMS(); alarm(); } //如果按键按下,发短信并显示消息到LCD if (digitalRead(buttonPin) == HIGH) { lcd.clear(); lcd.print("Button Pressed!"); delay(1000); lcd.clear(); lcd.print("Sending SMS..."); sendSMS(); } } //发送短信函数 void sendSMS() { sim800cSerial.println("AT+CMGF=1"); //设置为文本模式 delay(100); sim800cSerial.println("AT+CMGS=\"+1234567890\""); //设置接收短信的手机号码 delay(100); sim800cSerial.println("Emergency! Fire detected!"); //短信内容 delay(100); sim800cSerial.write(26); //发送Ctrl+Z表示结束短信 delay(1000); } //警报函数 void alarm() { for (int i = 0; i < 5; i++) { digitalWrite(buzzerPin, HIGH); delay(100); digitalWrite(buzzerPin, LOW); delay(100); } } ``` 请注意,此代码仅供参考,您需要根据自己的需求进行更改和优化。例如,您可能需要添加更多传感器或更改警报的持续时间和频率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值