Arduino DHT11 数据打印到 LCD 12864

arduino如何驱动LCD12864显示器?(使用U8g2库) 一、简介   LCD12864和LCD1602想必是两种我们最为熟悉的显示模块了, 1602是字符型的屏幕, 而12864则是点阵屏。 相对而言, 12864更为强大, 我们甚至可以在上面显示自定义的图案。   这是我的一块LCD12864???? ... 阅读详情

本人小白,正在自学LCD12864,然后试试将DHT11上的数据打印到LCD12864屏幕上面。

因为初学,如有不足,欢迎指教。

先说一下环境:
Arduin IDE版本:1.6.13
Arduino Mega 2560 点击购买
DHT11模块 点击购买
LCD12864 点击购买
MEGA传感器扩展板 V2.4 点击购买

接线的话,DHT11模块我接在了MEGA传感器扩展板 数字27端口上。

下面是代码,我在我这里是成功运行的。

 //******************************
 //*Abstract: Read value of temperature and humidity of air
 //*          and print data on LCD 12864 screen.
 //*
 //*Version:V1.0
 //*Author:Ran Tao @ UOW
 //*Date:December.20.2016
 //******************************
//导入LCD12864驱动库和DHT11库
#include <U8glib.h>
#include <dht11.h>

//创建一个u8g(LCD12864)对象
U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // U8GLIB_PCD8544(sck/sclk, mosi/sdin, ce/sce, d0/dc, reset)
//创建一个DHT11对象
dht11 DHT11;

//设置DHT11 数字端口:D27
#define DHT11_PIN 27

//自定义一个函数来检测传感器是否正常
void checkData(int chk){
  if(chk!=0){
    //当chk为:-2时,表示传感器连接异常
    //传感器连接正常时,chk应为:0
    u8g.setPrintPos(0,15);
    u8g.print("Error Code: ");
    u8g.setPrintPos(35,35);
    u8g.print(chk);
    u8g.drawStr(0, 55, "Read Data Error!");
  }else{
    drawScreen();
  }
}

//自定义一个函数用来打印屏幕
void drawScreen(){
  drawTitle();
  drawData();
  u8g.setFont(u8g_font_unifont);
  u8g.drawStr(0, 55, "Hello World!");
}

//自定义一个函数用来打印温度湿度标题
void drawTitle(){
  //设置文本字体
  u8g.setFont(u8g_font_unifont);
  //指定位置打印字符串
  //语法:
  //    LCD对象名.drawStr(X轴位置, Y轴位置, "要打印的内容");
  u8g.drawStr(0, 18, "TMP:");
  u8g.drawStr(0, 36, "HMD:");
  u8g.drawStr(68, 18, "C");
  u8g.drawStr(68, 36, "%");
}

//自定义一个函数用来打印数据
void drawData(){
  //设置文本字体
  u8g.setFont(u8g_font_unifont);
  //对下文内容设置起始位置
  //语法:
  //    LCD对象名.setPrintPos(X轴位置, Y轴位置)
  u8g.setPrintPos(48,18);
  //打印到LCD屏幕上
  //语法:
  //    LCD对象名.print(变量名,字符串)
  //注意: 使用前需要使用setPrintPos()函数来设置位置
  u8g.print(DHT11.temperature);
  u8g.setPrintPos(48,36);
  u8g.print(DHT11.humidity);
}

void setup(){
  //屏幕内容旋转180°
  u8g.setRot180();// rotate screen
}

void loop(){
  //从传感器端口读取数据
  int check = DHT11.read(DHT11_PIN);

  // u8g loop
  u8g.firstPage();
  drawScreen(); 
  do {
    checkData(check);
  } while( u8g.nextPage() );
  //每秒刷新一次
  delay(1000);
}

这里写图片描述

后面还会更新详细的LCD12864使用说明,感觉官方给的文档太少,所以自己也找来了一些资料。后面分享给大家。

我已经把u8glib库文件上传到了百度网盘。
u8glib 库文件下载地址: https://pan.baidu.com/s/1pLcwDLp

LCD1602自定义字符原理与汉字显示实战:从CGRAM到DDRAM的嵌入式显示核心 在嵌入式系统开发中,字符型液晶显示模块(如LCD1602)是常见的人机交互组件,其核心原理基于字模存储与地址映射机制。字符型LCD内部通常包含只读字库CGROM、可编程自定义字符存储器CGRAM以及显示数据存储器DDRAM。通过理解这三者的协同关系,开发者可以突破硬件限制,利用CGRAM自定义点阵图案,实现特殊符号甚至简化汉字的显示。这项技术体现了底层硬件驱动与软件灵活配置的结合,在物联网设备、传感器数据显示等场景中具有实用价值。本文以LCD1602显示自定义字符及拼接汉字为例,深入解析了CGRAM编程、字 阅读详情

相关推荐

arduino uno spi驱动12864

arduino uno spi驱动12864

yvee的博客 2060

鸿蒙开发板Hi3861模拟SPI驱动JLX12864_LCD(UC1701X)_基于code-2.0

鸿蒙开发板Hi3861模拟SPI驱动JLX_LCD12864显示屏液晶屏_基于code-2.0-CANARY 2.0支持windows编译与上传,不需要ubuntu编译 环境搭建需要有耐心: https://www.cnblogs.com/txwtech/p/15041927.html 首先学会点亮LED的实验 https://www.cnblogs.com/txwtech/p/15139405.html ———————————————— 版权声明:本文为优快云博主「txwtech」的原创文章,遵

Txwtech 3786

【雕爷学编程】Arduino动手做(212)---9合1 扩展板完成Arduino的第10类扩展实验之HC-SR501热释电传感器模块2

雕爷学编程,Arduino动手做,开源硬件,创客传感器,9合1 扩展板模块,HC-SR501热释电传感器模块

雕爷学编程 699

arduino连接12864LCD方法

arduino连接12864LCD方法 /* LCD Arduino PIN1 = GND PIN2 = 5V RS(CS) = 8; RW(SID)= 9; EN(CLK) = 3; PIN15 PSB = GND; */ #include "LCD12864RSPI.h" #define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )...

Txwtech 1万+

MultiLCD库:一套代码驱动Arduino多种液晶屏

在嵌入式显示方案中,液晶屏的驱动代码常因接口和控制器差异而碎片化,换屏往往意味着重写底层逻辑。MultiLCD库通过适配器模式,将Arduino生态下字符屏、TFT屏与OLED屏统一为通用显示API,开发者无需深究I2C、SPI等时序细节,即可完成初始化、文本输出与图形绘制。无论是主流的ST7789 SPI屏、SSD1306 OLED,还是经典的1602字符屏,均可通过统一接口快速迁移代码。结合ESP32等平台,该库还能支撑传感器数据可视化、小型仪表盘等复杂应用。本文从库的设计思路出发,梳理支持屏型、核心A

weixin_34056162的博客 398

STM32F103驱动PCF8574:I2C扩展IO原理与实战

在嵌入式开发中,I2C总线凭借其只需两根信号线即可挂载多设备的特点,成为MCU外设扩展的主流方案。当MCU引脚捉襟见肘时,通过I2C接口扩展IO口是典型且高效的工程手段。PCF8574便是这样一款经典的8位IO扩展芯片,内部采用准双向IO结构,既支持输出控制LED,又能配合内部上拉读取按键状态,一颗芯片即可让I2C的2根线扩展出8个可控引脚。理解其锁存器与上下拉MOS管的工作原理,是正确读写、避免“读回全零”等陷阱的基础。在STM32F103平台上,开发者既可用标准库手写软件I2C时序,也可借助HAL库硬件

weixin_34284188的博客 502

Arduino用DHT11模块与LCD1602实现温湿度测量及显示

本文主要利用Arduino开发板实现温湿度测量及显示

weixin_43431185的博客 4481

Arduino驱动大尺寸12864LCD液晶模块库函数

一款I2C接口的绘图液晶显示模块,采用全新一体化设计,内建中文GB2312字库及5*7/8*16ASCII, UI图片存储。模块不仅设置对比度调节旋钮、背光亮度可以通过软件调控。对于Arduino初学者来说,不必为繁琐复杂液晶驱动电路连线而头疼了,这款液晶模块真正意义上将电路简化,直接将此模块插到Arduino 传板上IIC设备接口即可,通过5P传感器连接线连接,经过Arduino控制器编程后,可轻松实现标识标语、传感器数据的记录显示。 作为Arduino的爱好者和使用者,你经常会遇到这样的问题:控制端口有限,插几个数字模块,加几个传感器模块,端口用完了,想接个液晶显示传感器读数都无法实现,因为接口原因换Arduino Mega2560控制器还要额外开销,于心不忍,那怎么办?现在问题可以轻松解决了,我们最新开发的RSCG12864B01液晶显示模块就可以解决上述问题,IIC(I2C)只需两根线就可以实现数据通信,还可以挂其他IIC(I2C)设备。

基于arduino的简易声波雷达。wemos、12864屏

一款迷你的基于arduino超简易版雷达,弄来玩玩。通过超声波采集距离数据,开发板计算处理后,发送给屏幕展示结果。(用打点的方式展示,有图片及简略界面)材料清单: wemos D1,12864屏(IIC通讯),超声波模块,舵机SG90模块。

UnableJOE的博客 1381

DHT11程序(液晶1602显示湿度和温度)

本来有两份文件的,好像不能一次传2个文件,我的电脑不能压缩,我就把头文件和c文件放在一起了,用的时候记得把头文件提出来单独建一个文件。

ROS Navigation global_planner框架解析

ROS Navigation global_planner框架解析主要讲一下我看源码总结的框架,如果大家跟着这个框架看源码的话可能会看的比较快。主要讲解global_planner关键配置参数含义及关键函数Astar,Dijkstra,QuadraticCalculator::calculatePotential,PotentialCalculator::calculatePotential,GridPath::getPath,GradientPath::getPath.

Jeff_Lee_的博客 4694

不止于‘Hello World’:用U8g2库玩转Arduino LCD12864的5个实用小项目

本文介绍了使用U8g2库在Arduino LCD12864屏幕上实现的5个实用小项目,包括环境监测仪表盘、智能菜单系统、动态数据可视化、像素动画引擎和混合现实界面。通过这些项目,开发者可以充分发挥LCD12864的潜力,提升交互体验和数据展示效果。

weixin_28721917的博客 214

手把手教你用Multisim搭建FM直接调频电路(附完整波形分析)

本文通过Multisim仿真软件,手把手教你搭建FM直接调频电路。详细介绍了从核心概念理解、压控振荡器(VCO)参数设置、电路搭建与波形观测,到带通滤波器设计与信号优化的完整流程。通过对比滤波前后的时域波形与频谱分析,帮助读者直观理解频率调制原理,并提供了常见问题的排查思路与参数调试方法,将抽象的通信理论转化为可操作的实践技能。

weixin_29230773的博客 214

Arduino新手入门指南:从核心板卡选型到实战套件方案

微控制器是嵌入式系统和物联网应用的核心基础,它通过执行预编程指令来控制电子设备。其工作原理基于冯·诺依曼架构,通过输入/输出引脚与传感器、执行器等外设交互。在技术价值上,微控制器以其低成本、低功耗和高集成度,成为智能硬件和物联网项目的关键组件,广泛应用于智能家居、机器人、环境监测等场景。对于初学者而言,选择合适的开发平台至关重要,其中Arduino以其丰富的生态和低门槛著称。在Arduino开发中,核心板卡如UNO、Nano和ESP32的选择直接影响项目可行性,而传感器模块如超声波传感器、舵机、温湿度传感器

dieqiao8331的博客 350

2024.6.15丨基于VFDB数据库的致病菌毒力因子注释实战指南

本文提供了一份基于VFDB数据库进行致病菌毒力因子本地化注释的实战指南。详细介绍了从环境准备、DIAMOND工具安装、VFDB数据库选择与构建,到核心比对操作及结果解读与过滤的全流程。重点阐述了本地化分析相较于在线工具在速度、稳定性和批量处理上的优势,旨在帮助微生物基因组研究人员高效、精准地识别致病菌的关键毒力因子。

weixin_29220405的博客 272

中国30米逐年植被净初级生产力(NPP)数据集(1982年至今CASA模型)

1.3 气温、降水、地表太阳辐射数据 气温和降水数据月度空间插值数据是基于全国2400多个站点的日观测数据,在计算各气象要素月值的基础上,基于Anusplin软件插值生成的1982年以来各月度30米分辨率气温和降水栅格数据,插值过程中引入高程作为协变量。气温单位为℃,降水单位为mm。1.2 土地覆盖数据 土地覆盖数据来源于1985 年-2020年全球30米精细地表覆盖动态监测产品,该数据集包含29个地表覆盖类型,进行拼接、裁剪、重分类和重采样处理,获得8期250米分辨率的植被类型数据。

地球资源数据云的官方博客 2839

Intel Edison串行LCD驱动详解:从UART协议到中文显示优化

在嵌入式系统开发中,UART串行通信协议是实现微控制器与外围设备交互的基础技术之一。其工作原理基于异步串行数据传输,通过预先约定的波特率、数据位和停止位等参数,在发送端和接收端之间建立稳定的字节流通信。这项技术的核心价值在于简化硬件连接,仅需少数信号线即可实现可靠的数据交换,广泛应用于传感器数据采集、显示屏控制和设备调试等场景。以Intel Edison平台驱动字符LCD为例,通过解析HD44780控制器指令集和电平转换电路设计,开发者可以深入理解软硬件协同中通信协议的关键作用。本文结合串口调试和逻辑分析仪

weixin_30878501的博客 388

5G NR 双连接与载波聚合:PCell、SCell、PScell、SpCell 角色全解析

本文全面解析了5G NR中双连接与载波聚合技术的关键概念,详细介绍了PCell、SCell、PScell和SpCell的角色与功能。通过实际案例和配置示例,帮助读者理解这些小区在提升网络覆盖和速率方面的作用,以及在实际组网中的优化策略。

weixin_33220360的博客 375

STM32粮仓环境安防监测系统设计:温湿度烟雾光照采集与自动控制

环境监测是物联网与嵌入式系统中最典型的应用场景之一,其核心在于通过各类传感器实时采集物理量,并由微控制器完成数据处理与逻辑控制。温度、湿度、烟雾浓度及光照强度是仓储安防中的关键指标,任何一项异常都可能引发粮食霉变、自燃或安全事故。基于STM32F103C8T6的嵌入式方案,利用DHT11单总线数字传感器、MQ-2气体浓度检测模块以及BH1750数字光照传感器,实现了多源数据采集与实时显示。通过按键设定阈值,系统能够自动控制排风扇、加热设备及声光报警,形成完整的闭环管理。在工程实践中,Proteus仿真可提前

weixin_34194359的博客 263

HyperLynx中层叠设计实例

这两种方式有点区别,前一种方式只是增加层,需要自行修改层的类型,后一种方式可以选定为某一种类型,如果是增加信号层,软件会默认同时增加一层介质层。层叠已经有8层,按照示例的层叠有4个信号层、3个地平面层和1个电源平面层,对照进行层名称(LayerName)、介质类型(Type)及用途(Usage)设置。在这列中,有的是白色,有的是淡蓝色。白色的说明可以修改,如第一行是介质,通常在最外层的介质有两个用途,阻焊层和介质,单击该行会出现一个下拉菜单,选择SolderMask,即为阻焊层。...

小幽余生不加糖 5878

朱长江《偏微分方程简明教程》答案第一章部分

偏微分方程简明教程第一章习题1.1 第一章 习题1.1 1、指出下列方程的阶,并判断它是线性的还是非线性的。如果是线性的,说明它还是其次的: (1)ut−(uxx+uyy)+1=0;(2)ut−uxx+xu=0;(3)ut−uxxt+uux=0;(4)ux2+uuy=0;(5)utt−uxx+t2+x2=0;(6)ux+eyuy=0;(7)ut+uxxxx+1+u=0;(8)ux(1+ux2)−12+uy(1+uy2)−12=0;(9)∂4u∂x4+2∂4u∂x2∂y2+∂4u∂y4=0;(10)∂3u∂x

ymengm的博客 6760

MicroView开发板实战指南:从OLED显示到嵌入式项目开发

在嵌入式系统与物联网设备开发中,微控制器与显示模块的集成是实现人机交互的关键基础。其核心原理在于通过I2C、SPI等通信协议,驱动OLED或LCD屏幕实时显示传感器数据、系统状态等信息。这种技术方案的价值在于显著简化了硬件连接,降低了开发门槛,使开发者能够快速构建紧凑型交互设备。在智能家居状态显示器、可穿戴设备、桌面摆件等应用场景中,一体化设计尤为重要。本文以MicroView开发板为例,深入解析其如何将ATmega328P微控制器与0.96英寸OLED显示屏高度集成,并详细探讨其硬件设计、内存优化、图形库

weixin_30691871的博客 406

手把手带你实现DAF-Net:零代码基础入门红外与可见光图像融合(从理论到实战)

本文介绍了红外与可见光图像融合技术及DAF-Net网络的应用。红外图像能捕捉热源但缺乏细节,可见光图像纹理丰富但在低光环境下表现不佳。DAF-Net采用双分支特征提取和动态注意力融合架构,能智能分配特征权重实现优势互补。文章详细讲解了环境配置、数据集准备(如TNO数据集)和预处理方法,并提供了DAF-Net的核心代码实现,包括特征提取、注意力融合和图像重建模块。通过该技术可在安防、自动驾驶等领域获得更优质的融合图像,提升视觉感知能力。

m0_71589036的博客 229

51单片机综合项目实战:时钟温度计秒表万年历开发全解析

在嵌入式系统开发中,单片机作为核心控制器,通过驱动各类外设实现复杂功能是其核心原理。掌握定时器、中断与通信协议(如单总线、三线接口)是构建稳定系统的技术关键,这直接决定了多任务调度与实时数据处理的可靠性。此类技术广泛应用于智能仪表、环境监测与工业控制等场景,能有效提升系统的集成度与自动化水平。本文以热门的51单片机(如STC89C52)为例,结合DS1302时钟芯片和DS18B20温度传感器,详细讲解如何通过模块化编程与Proteus仿真,实现一个集时钟、测温、秒表于一体的多功能系统,为课程设计、电子竞赛及

weixin_34166847的博客 333

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【Arduino】基于 U8g2 库驱动 LCD12864 液晶显示模块显示文本:以基于 ST7920 芯片的 LCD12864 为例

LCD12864是一种液晶显示模块,其名称中的"12864"表示该模块具有128x64像素的显示能力。这种显示模块通常用于需要图形显示的嵌入式系统,例如3D打印机、机器人控制器等。U8g2是一个用于嵌入式设备的图形库,它支持各种单色图形LCD和OLED。这个库提供了丰富的特性,包括文本输出、图形绘制以及图片显示等。

HEX9CF的技术博客 2411

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

# Arduino--12864LCDSPI库 #

Arduino--12864LCDSPI库

weixin_51925922的博客 882

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

下一篇: u8glib自学笔记1
程序猿胖哥
博客等级 码龄11年 28粉丝 12原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值