码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python版本的温湿度+Nokia5110 display(SPI)


    前提需要把micropython的固件安装到系统中

    安装micropython到esp8266中

    本实验需要:

    1. ESP8266(我的是Wemos D1)

    763d711c818f4e27a4d4df0984f5069b.jpg

    2. DHT11d1d2de4c570d448da4686457fc23c2a5.jpg

    3. Nokia5110 LCD

    313f228a72844b658b8c154c8a8c6a18.jpg

    连线:

    DHT11 out --> D2(GPIO-016) (-接入GND,+接入3.3vcc)

    Nokia 5110 LCD

    WeMos D1 (ESP8266)Nokia 5110  LCD描述
    D8  GPIO00 RST0 --> Rst
    D9 (GPIO2)1 CE2--> ce
    D10 (GPIO15)2 DC15-->display data/command
    D11 (GPIO13)3 Din13 SPI MOSI --> data input
    D13 (GPIO14)4 Clk14 --> clk
    3V35 Vcc3.3V
    D12 (GPIO12)6 BLgpio12
    Gnd7 GndGround

    用到的库:

    GitHub - mcauser/micropython-pcd8544: MicroPython driver for Nokia 5110 PCD8544 84x48 LCD modules

     dht,micropython自带

    上代码:

    dht11.py

    1. import dht
    2. from machine import Pin
    3. class DHT11():
    4. def __init__(self, pin=14):
    5. self.dht11 = dht.DHT11(Pin(16))
    6. def read_dht(self):
    7. self.dht11.measure()
    8. return [
    9. self.dht11.temperature(),
    10. self.dht11.humidity()
    11. ]

    ampy -p /dev/ttyUSB0 dht11.py

    ampy -p /dev/ttyUSB0 pcd8544.py

    main.py

    1. import time, ustruct
    2. from machine import I2C, Pin, SPI
    3. # Nokia 5110
    4. import pcd8544, framebuf
    5. # Temp sensor
    6. import dht11
    7. temp_pin = 16
    8. dht = dht11.DHT11(temp_pin)
    9. # Initialise SPI for display
    10. spi = SPI(1, baudrate=80000000, polarity=0, phase=0)
    11. ce = Pin(2)
    12. dc = Pin(15)
    13. rst = Pin(0)
    14. # backlight on
    15. bl = Pin(12, Pin.OUT, value=1)
    16. lcd = pcd8544.PCD8544(spi, ce, dc, rst)
    17. # Initialise framebuffer for display
    18. buffer = bytearray((lcd.height // 8) * lcd.width)
    19. framebuf = framebuf.FrameBuffer1(buffer, lcd.width, lcd.height)
    20. # Update display
    21. while(True):
    22. temp, humi = dht.read_dht()
    23. framebuf.fill(0)
    24. framebuf.text("DHT11 Temp Humi", 0, 0, 1)
    25. framebuf.text("Temp", 0, 11, 1)
    26. framebuf.text("%.1f" % temp, 0, 20, 1)
    27. framebuf.text("Humidity", 0, 31, 1)
    28. framebuf.text("%.1f" % humi, 0, 40, 1)
    29. lcd.data(buffer)
    30. time.sleep_ms(4000)

  • 相关阅读:
    [附源码]java毕业设计宠物商城
    [管理与领导-125]:一个IT人的思考:职场中、人际交往中,不要为他人的不良行为和言语买单,不要让自己的情绪被外界影响或掌控。
    Hive——操作数据库&创建修改表(DDL数据定义)
    【云原生之kubernetes实战】在k8s集群环境下部署Tomcat应用
    【日积月累】Java开发习惯养成
    【JavaSE】JavaSE之控制逻辑
    Java 判断两个Long类型是否相等
    微信小程序案例2-1:学生信息
    1.4_18 Axure RP 9 for mac 高保真原型图 - 案例17 【js-echarts官网】
    Linux/Ubuntu/Arm设备中通过/proc/stat等文件计算Cpu使用率
  • 原文地址:https://blog.csdn.net/u011995159/article/details/128054827
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号