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

安装micropython到esp8266中

本实验需要:

1. ESP8266(我的是Wemos D1)

2. DHT11

3. Nokia5110 LCD

连线:

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

Nokia 5110 LCD

WeMos D1 (ESP8266) Nokia 5110  LCD 描述
D8  GPIO0 0 RST 0 --> Rst
D9 (GPIO2) 1 CE 2--> ce
D10 (GPIO15) 2 DC 15-->display data/command
D11 (GPIO13) 3 Din 13 SPI MOSI --> data input
D13 (GPIO14) 4 Clk 14 --> clk
3V3 5 Vcc 3.3V
D12 (GPIO12) 6 BL gpio12
Gnd 7 Gnd Ground

用到的库:

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

dht,micropython自带

上代码:

dht11.py

import dht
from machine import Pinclass DHT11():def __init__(self, pin=14):self.dht11 = dht.DHT11(Pin(16))def read_dht(self):self.dht11.measure()return [self.dht11.temperature(),self.dht11.humidity()]

ampy -p /dev/ttyUSB0 dht11.py

ampy -p /dev/ttyUSB0 pcd8544.py

main.py

import time, ustruct
from machine import I2C, Pin, SPI# Nokia 5110
import pcd8544, framebuf# Temp sensor
import dht11
temp_pin = 16
dht = dht11.DHT11(temp_pin)# Initialise SPI for display
spi = SPI(1, baudrate=80000000, polarity=0, phase=0)
ce = Pin(2)
dc = Pin(15)
rst = Pin(0)# backlight on
bl = Pin(12, Pin.OUT, value=1)lcd = pcd8544.PCD8544(spi, ce, dc, rst)# Initialise framebuffer for display
buffer = bytearray((lcd.height // 8) * lcd.width)
framebuf = framebuf.FrameBuffer1(buffer, lcd.width, lcd.height)# Update display
while(True):temp, humi = dht.read_dht()framebuf.fill(0)framebuf.text("DHT11 Temp Humi", 0, 0, 1)framebuf.text("Temp", 0, 11, 1)framebuf.text("%.1f" % temp, 0, 20, 1)framebuf.text("Humidity", 0, 31, 1)framebuf.text("%.1f" % humi, 0, 40, 1)lcd.data(buffer)time.sleep_ms(4000)

Python版本的温湿度+Nokia5110 display(SPI)相关推荐

  1. linux下载哪个python版本-Linux下切换Python版本的几种方法

    本篇博文面向Linux用户,在Ubuntu下测试通过 0 为什么需要有两个版本的Python Python2和Python3不兼容是每个接触过Python的开发者都知道的事,虽说Python3是未来, ...

  2. 2021-01-28 粒子群优化算法-Python版本和Matlab函数 particleswarm 调用

    粒子群优化算法-Python版本和Matlab函数 particleswarm 调用 前两天分享了粒子群优化算法的原理和Matlab原理实现,本文分享一下Python代码下的PSO实现以及Matlab ...

  3. linux下面升级 Python版本并修改yum属性信息

    最近需要在linux下使用python,故需要升级一下python版本,上网查询了一下相关资料,更新了一下linux下面的python环境,记录如下: linux下面升级 Python版本并修改yum ...

  4. opencv4 python 版本_Opencv4 with Python3.6

    最近在做一个手指追踪,涉及到opencv.一开始选了个基于nodejs的opencv项目,不过环境配置项目的examples死活无法运行,可能和我macOS自己升级了catalina测试版有关.不过倒 ...

  5. 是男人就坚持20秒—python版本

    记得玩这个游戏的时候是初中三年级,那时候在qq空间,网页版的,是男人就坚持20秒!很好奇!玩得忘了吃饭,还是坚持不到20秒,现在给大家机会! # coding = utf-8 # time 2015- ...

  6. 如何查看服务器上的显卡和Python版本信息

    1.查看显卡信息 可以看到,这个服务器上有十张英伟达的显卡,processes中是各显卡的内存利用率.显卡:3090,cuda:11.1. https://zhidao.baidu.com/quest ...

  7. 1.Python版本及其虚拟环境管理:pyenv和pyenv-virtualenv

    pyenv和pyenv-virtualenv管理Python工作环境 @[TOC](pyenv和pyenv-virtualenv管理Python工作环境) 使用pyenv管理不同的Python版本 1 ...

  8. 对python版本设置版本控制

    目录 一.linux版本控制 1.update-alternatives原理 2.查看版本信息 3.查看链接信息 4.软链接切换 5.清除链接 二.对python版本设置版本控制 1.设置python ...

  9. 多版本python共存,安装三方库到指定python版本 多Python版本和虚拟环境

    多个Python版本:在同一台机器上安装不同的Python,例如2.7和3.4. 虚拟环境:独立的环境,既可以同时安装特定版本的Python,也可以安装任何特定于项目的软件包,而不会影响任何其他项目. ...

最新文章

  1. date对象加十分钟_一张图讲解对象锁和关键字synchronized修饰方法(代码块)
  2. Symantec(VeriSign)SSL证书
  3. 给自己看的flex布局方法
  4. [译]写程序更快、更好、更便宜的艺术
  5. java中如何计算两个时间段的月份差
  6. RAID冗余技术的介绍AND实现
  7. ImageNet dataset下载
  8. java堆栈常用排查指令
  9. u-boot 之配置分析 (2)
  10. Photoshop教程一:精细选择工具
  11. QQ出现大规模盗号,qq被盗发布不良信息怎么办
  12. python ocr文字识别竖排繁体_(以繁体竖排为例)OCR各种软件使用效果对照..docx...
  13. PSAM 卡的应用 操作方法
  14. 不要随便借出你的帐号
  15. Ubuntu16.04中python升级到3.6版本后Terminal打不开的解决方法
  16. 有激励果效的座右铭大全
  17. selenium切换窗口句柄
  18. 爬虫(利用正则表达式爬取百度新闻(淘宝))
  19. Button按钮的用法
  20. 学习网站:中国大学MOOC(慕课)

热门文章

  1. 皮影机器人ppt_皮影演绎机器人
  2. 【微信小程序】底部弹出式搜索框
  3. 【数据库系统01】强制存取控制
  4. @NotNull, @NotEmpty和@NotBlank之间的区别是什么?
  5. 关于e^x的部分公式和约算方法
  6. tushare单个股票过去五年的数据整理与预测
  7. 搭搭云3.0平台上线 全面定制SaaS带给用户什么样的体验?
  8. 计算机弱电维修,弱电机房日常怎么进行维护?
  9. 使用Socks5代理下载Android源码
  10. 建立一元线性回归模型|Matlab实例分析