首页 > 分享 > 物联网开发笔记(27)

物联网开发笔记(27)

        这一节我们讲解了如何控制240x240的oled屏幕,该oled屏幕驱动芯片是ST7789,我们控制屏幕显示两行字。

一、目的

        使用MicroPython开发ESP32开发板控制240x240的oled屏幕。

二、环境

        ESP32 + 240x240的oled彩色屏幕+ Thonny IDE + 几根杜邦线

开发板和屏幕接线方法:

三、屏幕介绍

        有8个引脚,通过SPI协议进行通信。使用的芯片是ST7789。至于什么是SPI协议?大家自行百度,这里不再赘述。

 引脚定义如下:

四、使用方法

屏幕驱动下载地址:

百度网盘:

链接: https://pan.baidu.com/s/1S7Ve8kNj_xiSH5o9OrPZAQ 提取码: zxyp

导入以下两个库:st7789.py 和 st7789py.py

 注意将st7789py.py的以下两行注释掉:

 字体库:

字体库文件比较大,注意开发板的存储空间。它占用空间较大,所以代码写的复杂的话会出现申请内存error。

将以上文件和我们的代码放在开发板的根目录下即可

 代码:

import random

from machine import Pin, SPI

import st7789

import st7789py

import vga2_bold_16x32 as font

import time

st7789.ST7789(SPI(2, 60000000), dc=Pin(2), cs=Pin(5), rst=Pin(15))

tft = st7789py.ST7789(SPI(2, 60000000), 240, 240, reset=Pin(15), dc=Pin(2), cs=Pin(5), backlight=Pin(22), rotation=0)

tft.fill(0)

tft.text(font, "Good luck!", 0, 0, st7789py.color565(255, 255, 0), st7789py.color565(0, 255, 0))

def show_text():

for rotation in range(4):

tft.rotation(rotation)

tft.fill(0)

col_max = tft.width - font.WIDTH*6

row_max = tft.height - font.HEIGHT

for _ in range(100):

tft.text(

font,

"I love U!",

random.randint(0, col_max),

random.randint(0, row_max),

st7789py.color565(random.getrandbits(8),random.getrandbits(8),random.getrandbits(8)),

st7789py.color565(random.getrandbits(8),random.getrandbits(8),random.getrandbits(8))

)

time.sleep_ms(300)

while True:

show_text()

五、演示效果

 

相关知识

“物联网开发实战”学习笔记
基于物联网的智能盆栽自动喷灌系统
农业物联网
【IoT开发】基于机智云物联网的智能浇花教程
人工智能 + 物联网 = 智慧物联网
【物联网初探】
物联网农业病虫害监测预警系统设计,智慧农业物联网平台设备
物联网控制APP入门专题(二)
物联网农业信息化
物联网与现代农业

网址: 物联网开发笔记(27) https://m.huajiangbk.com/newsview742114.html

所属分类:花卉
上一篇: Font Builder: 快速
下一篇: 推荐开源项目:Noto 字体库—