青创小电视——显示温湿度的oled屏桌面摆件/家庭亲子教育DIY

简介:

使用主控板arduino nano采集温湿度传感器dht11的温湿度数据,同时显示在1.3寸分辨率为128*64的oled屏幕上;通过usb串口与电脑连接,可通过arduino ide等编译器进行程序烧录,还可以更换屏幕显示的风格和内容;配合3d打印的卡通或定制外壳,让显示器电路不再尴尬。

你和孩子的桌面小精灵

材料清单:

Oled I2C屏幕

1

DHY11温湿度模块

1

Arduino nano主控板

1

杜邦线(母对母)

7

M3*6螺丝+螺母

4

3d打印外壳

3

各模块参数

工作环境:

Arduino ide 烧录软件

加载U8g2lib.h 显示屏u8g2库

加载SimpleDHT.h 传感器DHT库

3d打印机(外壳非3d打印可不选)

接线图:

接线示意图

烧录代码:

开源代码和硬件

#include //调用显示库

#include //调用传感库

U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0 ,2);//显示屏设定

int pinDHT11 = A2;//定义DTH11的数据口为A2

SimpleDHT11 dht11(pinDHT11);

void setup(void)

{

u8g2.begin();

Serial.begin(19200);//设定波特率19200

}

void loop(void)

{

byte temperature = 0; //温度参数

byte humidity = 0; //湿度参数

int err = SimpleDHTErrSuccess; //判断参数

if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess)

{ Serial.print("Read DHT11 failed, err=");

Serial.println(err);

delay(1000);

return;}

u8g2.clearDisplay(); // 清屏

u8g2.clearBuffer(); // 清空显示设备内部缓冲区

u8g2.drawCircle(32, 32,28, U8G2_DRAW_ALL);//圆圈1位置大小

u8g2.drawCircle(98, 32,28, U8G2_DRAW_ALL);//圆圈2位置大小

u8g2.setFont(u8g2_font_fub20_tn); //设置字体

u8g2.setCursor(16, 37); //设置光标处

u8g2.print((int)temperature); //输出温度内容

u8g2.setCursor(84, 37); //设置光标处

u8g2.print((int)humidity); //输出湿度内容

u8g2.setFont(u8g_font_unifont);u8g2.drawStr(28, 55, "c");

u8g2.drawStr(94, 55, "%"); //单位

u8g2.sendBuffer(); // 显示缓冲区内容

delay(10000); // 显示刷新内容

}

资料下载:

3d打印外壳

本文使用3d外壳模型下载地址:http://www.dayin.la/product/111361.html

文本使用代码等下载地址: https://www.arduino.cn/thread-84087-1-1.html

如果想一站式购齐,欢迎选购我们工坊官方的diy套装:

https://item.taobao.com/item.htm?spm=a2126o.11854294.0.0.412d4831kn3wsw&id=587020695240

适合家庭亲子diy制作

工作原理:

dht11数字温湿度传感器包括一个电阻式感湿元件、一个NTC 测温元件及一个八位单片机,dht11使用单总线协议(1-wire,源于达拉斯半导体公司Dallas Semiconductor现已被美信半导体MaximIntegrated),一次传送五组8位的数据,分别为:湿度高八位、湿度低八位、温度高八位、温度低八位以及八位的校验,如:00110010 00000000 0010100 00000000 01000110,

验证通过: 00110010+00000000+0010100+00000000=01000110

湿度:00110010(B)=32(H)=50(D)%RH

温度:0010100(B)=14(H)=20(D)℃

屏幕尺寸图

屏幕采用通信方式为I2C的oled屏幕,驱动屏幕需要设置3个参数:设备地址、寄存器地址和命令,可参考Oscar对于屏幕的分析https://oscarliang.com/arduino-oled-display-library/

此外显示的像素地址的三种模式分别为:页地址模式,水平地址模式和垂直地址模式,具体方式可下载数据手册了解详情。

混色搭配的3d打印外壳

四针角oled屏连接arduino_和孩子一起做个显示温湿度的oled屏桌面摆件[青创小电视]...相关推荐

  1. 四针角oled屏连接arduino_使用Arduino开发板连接OLED显示屏制作一款智能手表

    我们大多数人都比较熟悉1602点阵液晶显示屏,它在许多项目中用于向用户显示一些信息.但是这些LCD显示器在他们能做的事情上有很多限制.在本篇文章中,我们将使用OLED显示Android智能手机的一些基 ...

  2. 四针角oled屏连接arduino_使用Arduino构建OLED显示屏与Android手机接口的智能手表

    背景知识视频教程 Arduino 训练营:通过项目学习​viadean.com通过制作Arduino UNO FM收音机接收器学习Arduino I2C​viadean.com通过构建实际应用程序来掌 ...

  3. 四针角oled屏连接arduino_ESP8266连接OLED显示屏并显示位图图像

    在本篇文章中,我们将OLED显示屏与NodeMCU ESP8266连接. NodeMCU是一个开源的物联网平台,包括运行在Espressif Systems公司的低成本Wi-Fi ESP8266 So ...

  4. 四针手表指的是什么_浪琴名匠四针有什么功能

    只有大型商家才能对手表的质量有所保证以及管理上进行约束,不仅仅是因为它对手表的外观的重视,富有设计感,充满了设计理念,现在大部分人对手表的外观有很高的要求,一定程度上对外观的要求大过于实用性,在美观面 ...

  5. OLED显示温湿度(AHT20)及姓名学号

    文章目录 一.SPI介绍 1.SPI协议 1.SPI物理层 2.SPI协议层 二.stm32的SPI外设 三.使用0.96寸OLED显示屏显示数据 1.0.96寸OLED显示屏相关介绍 2.运行厂家给 ...

  6. 四个角不是直角的四边形_四边形的特点是有四条直的边和四个直角对吗

    四边形的特点是有四条直的边和四个直角对吗2020-12-14 10:28:21文/董玉莹 四边形都有四条直的边,四个直角.这个命题是错误的.由不在同一直线上的四条线段依次首尾相接围成的封闭的平面图形叫 ...

  7. 三针风扇接法_三针和四针CPU风扇有什么区别?

    三针风扇接法 Once you have the opportunity to start looking inside multiple computer cases, you may notice ...

  8. ESP8266+OLED屏实现天气预报+温度显示+NTP时间同步5屏带中文显示改进版

    ESP8266+OLED屏实现天气预报+温度显示+NTP时间同步5屏带中文显示改进版 在原来5屏内容基础上,进行了显示细节的优化, 1.湿度显示改成中文标识. 2.刷出第五页出现重影问题,添加了清屏处 ...

  9. 两条边延长角会有什么变化_从牛角到圆角——小数二、四年级角的认识综述

    当前小学数学编排顺序和过去最大的不同,我以为是几何不再是从平面到立体,而是从生活到立体,再到平面几何的新顺序. 也就是说,正方体在正方形之前被认识,圆球体在圆形之前被认识--立方体是存在于生活中的,平 ...

最新文章

  1. python Counter类
  2. JVM---虚拟机栈(操作数栈)
  3. 经常造轮子的 AI 工程师水平通常不会太差
  4. Windows2008/2012多用户同时远程连接终端服务授权
  5. FORMS变量类型和消息提示
  6. WQL Analyzer V1.1(WMI查询分析器)
  7. DB级buffer与IO 查看
  8. 性能测试脚本的编写和调试_编写自动调试器以在测试执行期间捕获异常
  9. jdialog 数据量大加载出现白板_王者荣耀:队友真的有人机?白板熟练进排位,资料面都是假的...
  10. 转:10分钟掌握XML、JSON及其解析
  11. Java全能手册火了!Redis/Nginx/Dubbo/Spring全家桶/高并发
  12. 使用OS X base System在线安装Mac OS到U盘及使用U盘恢复Mac OS
  13. Ubuntu设置下载源
  14. 雪球网股票用户评论爬虫
  15. 【Pytorch】torch.Tensor.masked_fill()
  16. c语言中calloc是什么意思,C语言中malloc和calloc以及relloc函数的区别
  17. 周末闲暇用javascript写个网页“斗兽棋”小游戏
  18. mac android studio Waiting for application to come online解决方案
  19. 怎样记账才能清楚、简单
  20. 4.卡尔曼滤波之卡尔曼滤波的基本方程

热门文章

  1. 机器人当上“央视主播”,主持人感慨未来要下岗
  2. Spring+IOC(DI)+AOP概念及优缺点
  3. 给ListView视图添加行号
  4. 大数据时代的全能日志分析专家--Splunk安装与实践
  5. Linux中的查找命令find、which、whereis
  6. 动态规划之《寻找最大上升序列》
  7. Win7(64位)上编译、安装、配置、运行hadoop-Ver2.5.2---单机版配置运行
  8. windows用户账户类型
  9. Visual C++ 2008入门经典 第十章标准模板库(二)
  10. 关于工厂创建问题,一个纠结的终结源于KFC