液晶模块使一个嵌入式系统完全独立的,可以在其输入引脚上进行模拟或数字输入,并在其自己的屏幕上显示相应的输出,同时产生其他类型的输出。液晶显示模块有不同的尺寸,从单线单色显示到大图形彩色显示,它们几乎都使用相同的方法显示数据。Arduino可以作为一个独立的板,其输出或输入可以从板或给板。Arduino板虽然有各种各样的通信端口,但它们无法与LCD模块提供的有效性相匹配。此外,LCD模块不需要PC或任何其他设备与Arduino板连接来显示板发送的数据。
由于基本Arduino板没有内置的LCD模块来显示数据,应该连接外部显示数据,如字符串,传感器值等。Arduino IDE中的库有助于非常容易地访问LCD模块。这个项目演示了如何使用Arduino板显示传感器值的16x2液晶显示器不断.代码是使用库函数编写的,这里使用的传感器很简单电位计它可以在可变引脚上改变电压。
Arduino板有所有必需的电路,使内置的AVR微控制器运行。它还有插脚,可以配置为数字输出,数字或模拟输出,数字输入和数字或模拟输入。任何基于AVR微控制器的电路板,它遵循Arduino的标准原理图,并与Arduino一起闪烁引导装载程序可以被称为Arduino板Arduino IDE也非常简单,任何有c编程基础知识的人都可以快速上手。的教程从Arduino开始解释了开始使用Arduino板所需的步骤。
这个项目使用的Arduino板是Arduino pro-mini板,Arduino的IDE版本为1.0.3 for windows。Arduino pro-mini板和Arduino IDE的图像如下所示;
图2:典型Arduino Pro-Mini板
图3:Arduino IDE软件窗口
自Arduino pro-mini董事会没有与PC机的串口或USB接口连接的电路,需要外接USB到TTL转换板与PC机连接。该硬件不仅可以实现Arduino板的编程,还可以实现与PC机USB口的串口通信。
图4:外接USB到TTL转换板,用于Arduino编程和串口通信
前一个项目
如何使用Arduino的模拟输入和输出讨论了如何利用Arduino板的模拟量输入/输出通道读取模拟量和写入模拟量。另一个项目了如何调试这些值
由Arduino板接收,Arduino板将其写入外部引脚,从而产生电压。电位器的可变引脚与模拟引脚相连,本项目引脚为A0。电位器的另外两个引脚连接到VCC和GND,这样当变量移动时,它可以分割整个电源电压,并提供给Arduino板作为模拟输入电压。LED通过限流电阻连接到模拟输出管脚;在这个项目中,它连接到引脚6。代码连续读取电位器的值,并写入相应的值,以改变引脚6所连接的LED的亮度。
为这个项目编写的代码使用模拟读写函数,如analogRead()和analogwrite()等。它还使用库函数来帮助访问LCD模块,如LCD .begin()和LCD .print()。这些用于访问LCD的函数在头文件中可用。模拟读取和写入函数的细节在前面的项目中进行了解释
如何使用Arduino的模拟输入和输出.与LCD的接口功能在前面已经讨论过了关于如何将16*2 LCD与Arduino板连接的项目
.
在这个特殊的项目中,使用了一个函数,它在前面的项目中没有,下面将讨论。
lcd.setCursor ()
setcursor()函数用于设置光标在LCD屏幕上的位置,以便后续的字母只从该特定位置显示。该函数有两个参数,第一个表示列号,第二个表示行号。行号和列号从0开始,最大值取决于所使用的LCD类型。
可以使用LCD . setcursor()将光标设置在LCD屏幕的特定位置,如下面的语句所示;
lcd.setCursor (7,0);
上面的语句将光标设置为8thLCD屏幕第一行的位置,从该位置开始显示。
的代码
该代码在使用liquidcrystcd()函数初始化库之后,使用LCD .begin()函数初始化16*2液晶显示器。使用函数analogRead()从模拟输入引脚读取模拟值,然后使用函数map()从10位模式映射到8位模式。该值是thgen乘以5,然后除以255,得到5V等于该值。然后使用lcd.print()函数在使用lcd.setCursor()函数设置游标后打印值。
//包含库代码:
# include < LiquidCrystal.h >
//用接口引脚的编号初始化库
liquidcrystcd (12, 11, 5, 4, 3, 2);
constintanalogInPin = A0;//电位器连接的模拟输入引脚
constintanalogOutPin = 6;// LED连接的模拟输出引脚
intpotvalue = 0;
intoutputvalue = 0;
无效的设置()
{
//设置LCD的行数和列数:
液晶显示器。开始(16日2);
液晶显示器。打印(车库“工程师”);
}
无效循环()
{
//读取模拟值:
potvalue = analogRead (analogInPin);
//将其映射到模拟输出的范围:
Outputvalue = map(potvalue, 0,1023, 0,255);
液晶显示器。setCursor (7,2);
液晶显示器。打印((outputvalue * 5) / 255);
lcd.print(“V”);
//修改模拟输出值:
analogWrite (analogOutPin outputvalue);
延迟(100);
}
一旦完成编码,就可以验证并上传代码到Arduino板,如项目中解释的那样
如何开始使用Arduino
LED的亮度可以观察到随着电位计的变量移动而变化。从模拟输入引脚读取的电压将随着LED亮度的变化在LCD中显示。
项目源代码
# # #
/*============================如实验室 ===================================//演示如何使用arduino板16*2液晶显示器电路:液晶显示器:* LCD RS引脚到数字引脚12* LCD允许引脚到数字引脚11* LCD D4引脚到数字引脚5* LCD D5引脚到数字引脚4* LCD D6引脚到数字引脚3* LCD D7引脚到数字引脚2* LCD R/W引脚接地* 10 k电阻:*端到+5V和地*雨刷到LCD引脚3* LED阳极连接数字输出* LED阴极通过1K电阻连接到地模拟输入:*电位器连接到模拟输入A0*一边引脚(任何一个)到地面*另一侧引脚到+5V* LED阳极(长腿)连接到数字输出* LED阴极(短腿)通过1K电阻连接到地面//============================ 如实验室 ===================================*///包含库代码:#include//用接口引脚的编号初始化库 液晶液晶(12、11、5、4、3、2);const int analogpin = A0;//电位器连接的模拟输入引脚const int analogOutPin = 6;// LED连接的模拟输出引脚intpotvalue = 0;intoutputvalue = 0;无效的设置(){//设置LCD的行数和列数:液晶显示器。开始(16日2);液晶显示器。打印(车库“工程师”);}无效循环(){//读取模拟值:potvalue = analogRead (analogInPin);//将其映射到模拟输出的范围:Outputvalue = map(potvalue, 0,1023, 0,255);液晶显示器。setCursor (7,2);液晶显示器。打印((outputvalue * 5) / 255);lcd.print(“V”);//修改模拟输出值:analogWrite (analogOutPin outputvalue);延迟(100);}# # #
与这篇文章相关的问题?
问并讨论Electro-Tech-Online.com而且EDAboard.com论坛。
告诉我们你的想法!!
你必须登录发表评论。