转自:MAKER: opengreenenergy/译:公众号:趣无尽

大家好,我是小麦,今天给大家分享一个有趣的天气时钟项目。

这个项目使用 ESP8266 和 2.8 英寸触摸屏来制作显示器,通过无线网络从网站 openweathermap.org 上获取本地的天气信息,最后呈现在显示器上。

显示内容包括:
1、时间与日期。
2、详细的天气信息,如温度、压力、湿度和降雨量等。
3、未来 7 天天气预测。

组件清单


Wemos D1 Mini Pro X 1
2.8″ 触屏显示屏 X 1
30 AWG 电线 X 若干
USB 数据线 X 1
1.75mm 白色 PLA 3D 打印耗材 X 若干
3D 打印机 X 1
烙铁 X 1
电线钳 X 1
剥线钳 X 1

准备线材并焊接

由于显示屏的外壳比较小巧、空间紧凑,Wemos 板和连接线都需要放置在里面,所以要提前处理好所有的线且要长度合适。最后,我选择 30 AWG 的单股线。

如图所示,使用钳子切割成 14 根等长的电线,然后使用剥线钳剥去电线的绝缘层。

如图所示,TFT 显示器有预留的可焊接的直头排针,可将其安装到面包板或任何其他开发板上。

有两种焊接的方式可供参考:
1、将排针从 PCB 上拆下,然后将电线直接焊接上去。
2、直接焊接到排针上。

我更喜欢第二种焊接方式,它会更容易且不需要技巧。在焊接之前,在所有引脚上涂抹少量的助焊剂,然后在烙铁的前端使用少量焊料对排针进行镀锡。

镀锡是非常必需的,因为它可以使焊接过程更容易并且导线和引脚之间更牢固。

如图所示,将电线焊接到所有引脚。

3D 打印

我参考了 Thingiverse 中一个模型,然后在 Autodesk Fusion 360 中修改外壳。所有部件的尺寸均由游标卡尺测量,与设计过程中的尺寸保持一致。

外壳包括以下几个部分:外壳、后盖以及底盖。

3D 打印的设置为:
打印速度:60mm/秒
层高厚度:0.2mm
填充密度:20%
挤出机温度:210℃
床温:60℃

3D 打印文件可在本项目文件库中下载:
https://make.quwj.com/project/408

安装显示屏

显示器有两种安装方式:
1、将显示屏放置到外壳中后再与 Wemos 板接线。
2、将显示器与 Wemos 板线接好后再安装到外壳中。

我选择第二种方式安装显示器。


如图所示,按照原理图将 TFT 显示模块 (ILI9341) 的引脚与 Wemos 引脚相连。

引脚接线方式如下:
TFT 显示->Wemos (ESP8266)
VIN -> 3.3V
GND -> GND
CS -> D1
RESET -> RST
DC -> D2
SDI -> D7
SCK -> D5
LED -> D8
SDO -> D6
T_CLK -> D5
T_CS -> D3
T_DIN -> D7
T_DO -> D6
T_IRQ -> D4

下载原理图,然后打印出来以便焊接时查看,这样会比较节约时间。焊接时要注意引脚焊接正确,错误的焊接会损坏显示模块或 Wemos 板。焊接时要十分的小心。

原理图可在本项目文件库中下载:
https://make.quwj.com/project/408

准备 ESP8266 开发环境

ESP8266 模块中不包含 Arduino IDE,需要先安装。
操作如下:

1、启动 Arduino IDE 并打开 Preferences 窗口。

2、在 Arduino IDE 的 File > Preferences > Additional Boards Manager URLs 字段中输入:
https://arduino.esp8266.com/stable/package_esp8266com_index.json

3、使用 OK 按钮关闭窗口。从 Tools > Board menu 中打开开发板管理器,然后选择正确的 ESP8266 开发板。
4、选择 LOLIN(WEMOS) D1 R2 & mini。将 CPU 频率设置为 80MHz,Flash Size 设置为 “4MB (FS:3MB OTA:~512KB)”以及 COM 端口。

下载代码和库

Arduino 代码:
https://github.com/ThingPulse/esp8266-weather-station-color

库:
1、Mini Grafx by Daniel Eichhorn
https://github.com/ThingPulse/minigrafx

2、ESP8266 WeatherStation by Daniel Eichhorn
https://github.com/ThingPulse/esp8266-weather-station

3、Json Streaming Parser by Daniel Eichhorn
https://github.com/squix78/json-streaming-parser

4、ThingPulse XPT2046 Touch by ThingPulse
https://github.com/ThingPulse/XPT2046_Touchscreen#xpt2046-touchscreen-arduino-library

如果如果你已经安装了原始的 XPT2046_Touchscreen,需要先卸载。

下载库后解压缩并在 Arduino Library Manager 中安装,路径为:
Sketch > Include Library > Manage Libraries…

获取 OpenWeatherMap API Key

天气数据来自 https://openweathermap.org/price 网站,所以必须获得 OpenWeatherMap API 密钥。

1、选择第一列免费那一栏,限制为每分钟 60cpm。

2、点击获取“API 密钥”,然后填写凭据后创建一个新帐户。
3、记下 API 密钥,下一步代码时使用。

上传软件

设置 Arduino IDE 并安装所有库后,将代码上传到 ESP8266 板(Wemos D1 Mini Pro 或其他板)。

1、解压缩在前面步骤中下载的代码,然后保存,去掉文件夹名称中的 master,命名为 “esp8266-weather-station-color”。

2、打开文件夹并点击 “esp8266-weather-station-color.ino ”。

3、在其中一个选项卡中,用 IDE 打开 settings.h。浏览文件并调整两个配置参数。它们都直接记录在文件中。最后设置 OpenWeatherMap API 密钥。

安装外壳

如图所示,安装好显示器和电路板后,将两个盖子固定好。外壳设计的非常紧密,因此不需要任何胶水或螺丝来固定盖子。

较小的盖子用于底座部分,较大的盖子用于显示器的背面。将盖子与外壳中的插槽对齐,然后将其按压进去即可。

测试

如果你已经成功将代码上传到 ESP8266,可以立即通过搜索 WiFi 网络看到设备。将设备连接到 WiFi 路由器后,它将从网络获取时间和天气数据。

现在你可以在 TFT 显示屏上看到所有天气信息以及其他数据,还可通过触控笔或手指切换来查看不同页面(在之前可能需要校准触摸屏显示功能)。

我对这个小摆件的最终效果非常满意,在任何场合将它送给朋友都是很不错的!

项目所用的代码在本项目文件库中可以下载:
https://make.quwj.com/project/408

—— The End ——

往期推荐

厉害了,这个抗干扰利器,快来了解一下

CAN总线简易入门教程

AD画板,如何提高工作效率?

10大动图:秒懂各种常用通信协议原理

物联网居然有这么多通信协议...

长按识别二维码关注我

你点的每个好看,我都认真当成了喜欢

手把手教你做一个天气时钟,推荐收藏相关推荐

  1. python手机版做小游戏代码大全-Python大牛手把手教你做一个小游戏,萌新福利!...

    原标题:Python大牛手把手教你做一个小游戏,萌新福利! 引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规 ...

  2. 手把手教你做一个自己的chrome扩展程序

    手把手教你做一个自己的chrome扩展程序 [目录] first.效果 1.收藏夹修改 (1).鼠标移动到收藏夹上的动作效果 (2).收藏夹框 (3)百度搜索框功能 2.右上文字修改 3.背景图片修改 ...

  3. Blender图解教程:手把手教你做一个马里奥金币 之 图片转法线贴图法(附模型下载)

    <Blender图解教程:手把手教你做一个马里奥金币 之 比较传统的方法>介绍了一种用Blender制作法线贴图的流程,本文介绍一种更加省事的方法. 步骤 效果图 概要 步骤 1. 建模 ...

  4. 手把手教你做一个Java贪吃蛇小游戏

    大家好,我是孙不坚1208,这篇博客给大家分享一下:如何做一个贪吃蛇小游戏(Java版)的exe应用程序,希望能给需要帮助的朋友带来方便. 手把手教你做一个Java贪吃蛇小游戏的exe应用程序 一.J ...

  5. 手把手教你做一个物联网视频监控项目(三)流媒体方案实现

    往期文章 手把手教你做一个物联网视频监控项目(一) 介绍 手把手教你做一个物联网视频监控项目(二)MJPG-streamer方案实现 文章目录 前言 一.软硬件准备 二.流媒体方案的实现之FFmpeg ...

  6. 手把手教你做一个jsp servlet mysql实现的学生签到考勤请假管理系统附带视频开发教程和完整源码

    今天给大家演示的是一款由jsp+servlet+my色口数据库实现的学生请假签到考勤管理系统,采用了MVC的设计模式,结构层次非常清晰,此外系统还有完整的开发教程. 下面我们先来看看文档结构: 下面来 ...

  7. R数据分析:跟随top期刊手把手教你做一个临床预测模型

    临床预测模型也是大家比较感兴趣的,今天就带着大家看一篇临床预测模型的文章,并且用一个例子给大家过一遍做法. 这篇文章来自护理领域顶级期刊的文章,文章名在下面 Ballesta-Castillejos ...

  8. 手把手教你做一个非常酷的PoV显示器(附源码)

    关注+星标公众号,不错过精彩内容 来源 | DF创客社区 作者 | Amal Shajan 今天为大家分享一个DIY产品,如下: 前两天天我在浏览购物网站的时候,被一个购物清单吸引住了, 5个ATti ...

  9. 手把手教你做一个自定义表格标签

    如果你用公司的平台进行开发的话,许多时候向按钮,输入框,树,菜单等都是直接用一个标签设置几个属性就可以了.全局上样式是统一的,而且容易维护. 之前我已经发使用自定义标签来做数据字典的示例,也就是说自定 ...

最新文章

  1. 计算机领域中的牛人,计算机视觉领域的牛人 | 丕子
  2. 怎么设置ppt页面的长度和宽度_在PPT中将照片变裸眼3D效果怎样操作?分享技巧,帮你快速实现...
  3. mysql稠化报表_Oracle使用PARTITION BY 实现数据稠化报表
  4. C语言没有引用,只有指针
  5. 智数合一,智慧工厂的四大典型应用场景
  6. Javascript和JQuery函数定义方式
  7. 计算机中函数counta是什么意思,excel中counta函数和count函数的区别是什么?
  8. Java I/O系统之转换流
  9. java语言 跨平台_Java语言不一定就跨平台
  10. 【毕设狗】【单片机毕业设计】基于单片机的空气质量检测-实物设计
  11. 图解项目绩效考核指标及实例模板
  12. html如何取消页眉页脚设置,jquery web打印 取消 页眉和页脚
  13. 查看手机应用最大运行内存
  14. sklearn机器学习之svm案例(预测明天是否会下雨)
  15. CAD图块全攻略:别羡慕我下班早,我的CAD软件会开挂!
  16. 计算机操作系统底层相关知识
  17. Python安装第三方库出现失败并出现”Cannot find existing Pyqt5 plugin directories”的解决方案
  18. Ansible 第二章
  19. php行事历,jQuery自定义日程表代码
  20. VBA Instr()函数 返回搜索到的字符位置 - VBA函数学习笔记(三)

热门文章

  1. Data-free量化
  2. 【转】iOS游戏/应用的营销及推广技巧(2)
  3. 【2015NOIP普及组】T4:推销员 试题解析
  4. 中性策略、回测结果对比、OK实盘报错“Close order size exceeds your available size”、OK开通新账户注意事项
  5. 大学生计算机PHP实训报告,大学生计算机实训心得体会
  6. 微信小程序开发(六)——服务器
  7. Error:maven-resources-test:java.lang.OutOfMemoryError: Java heap space
  8. 1、软件工程基础理论
  9. 使用计算机的目标要求,【热门】计算机教学计划三篇
  10. 6827台!中移动数据中心交换机采购结果公示 华为、中兴遭滑铁卢