程序及说明可以参见原文网址:项目,也可以依照本文中的说明制作。
焊好后的成品(USB接口及电池焊点建议打胶固定,避免脱落):
这是一个用于连接ESP8266 NodeMCU和ILI9341 2.8寸触摸屏的转接板,自带AMS1117 LDO和可选的锂电池及充放电管理,四格电量指示,以及一枚物理开关。3D模型见附件,提供OBJ、STEP和STL三种格式。
所需材料:
1.接插件
1*14排母(用于连接屏幕)*1
1*15排母(用于连接NodeMCU,其中靠近肖特基二极管D2的两个排母根据NodeMCU型号二选一焊接,兼容串口芯片为CP2102、CH9102X和CH340的NodeMCU)*2
2.直插元件
SS12D10G5开关(PWR)*1
MicroUSB插座(USB)*1
3.贴片元件
0805封装贴片LED(25%、50%、75%、100%)*4
1206封装贴片10kΩ电阻(R1、R2)*2
1206封装贴片82kΩ电阻(R3)*1
0630封装贴片2.2uH电感(L0630)*1
0805封装贴片100nF电容(C1、C2、C3、C4)*4
1210封装贴片22uF电容(C5、C6)*2
1210封装贴片10uF电容(C7、C8)*2
1206封装贴片4.7uF电容(C9)*1
SMA封装贴片SS34肖特基二极管(D1、D2)*2
SOT-223封装AMS1117稳压芯片(U1、U2)*2
ESOP-8封装ETA9740充放电管理芯片(ETA9740)*1
4.电池
锂聚合物电池(我使用582535型号,容量420mAh,带保护板,不过可以换成略大一点的电池。放电池的空间最多有 长40mm×宽25mm×厚7mm)*1
其余说明及程序参数借用原文:
1.安装Arduino中的ESP8266环境;
2.下载代码和库(附件中也有):
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,需要先卸载。
3.获取 OpenWeatherMap API Key
天气数据来自 https://openweathermap.org/price 网站,所以必须获得 OpenWeatherMap API 密钥。
1、选择第一列免费那一栏,限制为每分钟 60cpm。
2、点击获取“Get API key”,然后填写凭据后创建一个新帐户。
3、记下 API 密钥,下一步代码时使用。
4、访问 https://api.openweathermap.org/data/2.5/weather?q={City}&appid={API key} (“{City}”用自己的城市名称(如“Beijing”)代替,“{API key}”用上一步获取的密钥替换),应该会获得和下图类似的结果(图片来源于官网说明文档 https://openweathermap.org/weather-data):
5、记下第二行的“id”后的一串数字,这是下一步会用到的OPEN_WEATHER_MAP_LOCATION_ID城市代码。
4.修改程序参数:
1、打开文件夹并点击 “esp8266-weather-station-color.ino ”。
2、打开选项卡中的 settings.h,浏览文件并调整几个配置参数,在第一个红框中分别填上WiFi名称和密钥,在第二个红框中填上上一步获取的API密钥,在第三个红框的OPEN_WEATHER_MAP_LOCATION_ID处填上城市代码,在DISPLAYED_LOCATION_NAME处填上城市名称,最后一个红框不用管。
3.连接NodeMCU至电脑,选择正确的端口号并上传程序。
5.上传程序到ESP8266。
组装:
1.将液晶屏模块缓慢放入外壳中:
2.如果顺利的话,屏幕应该会嵌入上壳的槽中(翻过来检查时要在背后顶住屏幕模块,否则屏幕可能会陷下去):
3.确认屏幕与外壳齐平后在屏幕模块的四个角挤上一点热熔胶:
4.将NodeMCU装到焊接好的PCB上(注意方向,USB口朝下,这款是宽版的串口芯片为CH340的NodeMCU,故焊接靠外的排针):
5.将安装好NodeMCU的PCB轻轻放入外壳中(排针对齐):
6.在屏幕排母的焊点处稍用力按压至排针嵌入排母中(此时PCB上端会下陷,因为没有支撑):
7.打开开关检查,若屏幕点亮则说明电路连接正常。将NodeMCU轻轻向上提,确保PCB与桌面平行后用热熔胶在PCB四个角点胶固定:
8.等到热熔胶冷却后,盖上后盖(旧版的外壳有两个开槽,一个是开关,另一个是WiFi模组的位置,后来发现打开后盖后再拨动开关更方便,就取消了两个开槽(实测外壳对NodeMCU的WiFi信号影响不大)):
9.侧面的电量指示灯:
10.成品(旧版外壳尺寸有问题,上下壳之间有缝隙。附件中的压缩包为新版外壳,已修复该问题):
!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。
欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。
EEWorld Datasheet 技术支持