物联网开发113 - Micropython ESP32 C3连接PAJ7620手势传感器控制WS2812彩灯

本文主要是介绍物联网开发113 - Micropython ESP32 C3连接PAJ7620手势传感器控制WS2812彩灯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、目的

        这一节我们来学习如何使用合宙ESP32 C3,连接0.96寸ssd1306屏幕、PAJ7620手势传感和WS2812 5050 RGB LED 全彩驱动彩灯,进行一个小实验。

二、环境

        ESP32 C3开发板(MicroPython v1.19.1 on 2022-06-18)+ I2C 0.96寸ssd1306屏幕模块+ PAJ7620手势传感器  + WS2812 5050 RGB LED 全彩驱动彩灯 + 几根杜邦线 + Win10商业版

        ESP32 C3和各个模块接线方法:

三、示例代码

        examples.py

from machine import Pin,I2C
from neopixel import NeoPixel
from paj7260 import PAJ7260
from ssd1306 import SSD1306_I2C
from ufont import BMFont
import timei2c = I2C(0,scl = Pin(5),sda = Pin(4),freq = 400_000)
oled = SSD1306_I2C(128,64,i2c,0X3C)
ws  = NeoPixel(Pin(8,Pin.OUT),64)
paj = PAJ7260(i2c)font = BMFont("fonts/unifont-14-12888-16.v3.bmf")#print("%#X"%(i2c.scan()[1]))def Hxd():#从暗到鲜艳for i in range(0,255,1):ws.fill((i,i,i))ws.write()time.sleep(0.01)#从鲜艳到暗for i in range(255,-1,-1):ws.fill((i,i,i))ws.write()time.sleep(0.01)ws.fill((0,0,0))ws.write()time.sleep(1)def WS2812B():Get = paj.return_gesture()code = [[19,26,33,34,35,36,37,38,42,51],  #右0[20,29,33,34,35,36,37,38,45,52],  #左1[11,18,19,20,25,27,29,35,43,51],  #上2[11,19,27,33,35,37,42,43,44,51],  #下3[11,18,20,25,29,35,42,44,49,53],  #前4[09,13,18,20,27,33,37,42,44,51],  #后5[17,21,26,28,35,42,44,49,53,53],  #波6]if Get != 0:print("%d"%(Get))#右到左if Get == 4:ws.fill((0,0,0))ws.write()for i in range(len(code[0])):ws[code[0][i]]=(0,200,0)ws.write()#左到右       elif Get == 3:ws.fill((0,0,0))ws.write()for i in range(len(code[1])):ws[code[1][i]]=(0,200,0)ws.write()#上       elif Get == 5:ws.fill((0,0,0))ws.write()for i in range(len(code[2])):ws[code[2][i]]=(0,200,0)ws.write()oled.clear()font.text(oled,"向上",24,24,color=1,font_size=16,reverse=False,clear=False,show=True,half_char=True,auto_wrap=True)#下       elif Get == 6:ws.fill((0,0,0))ws.write()for i in range(len(code[3])):ws[code[3][i]]=(0,200,0)ws.write()oled.clear()font.text(oled,"向下",24,24,color=1,font_size=16,reverse=False,clear=False,show=True,half_char=True,auto_wrap=True)#前      elif Get == 1:ws.fill((0,0,0))ws.write()for i in range(len(code[4])):ws[code[4][i]]=(0,200,0)ws.write()#后       elif Get == 2:ws.fill((0,0,0))ws.write()for i in range(len(code[5])):ws[code[5][i]]=(0,200,0)ws.write()#波浪       elif Get == 9:ws.fill((0,0,0))ws.write()for i in range(len(code[6])):ws[code[6][i]]=(0,200,0)ws.write()oled.clear()font.text(oled,"挥手",24,24,color=1,font_size=16,reverse=False,clear=False,show=True,half_char=True,auto_wrap=True)time.sleep(1)else:ws.fill((10,0,10))ws.write()def main():font.text(oled,"手势传感器",24,24,color=1,font_size=16,reverse=False,clear=False,show=True,half_char=True,auto_wrap=True)Hxd()while True:WS2812B()if __name__ == "__main__":main()

演示效果:

 四、WS2812驱动

        Micropython集成自带的,无需另外导入。

from neopixel import NeoPixel

五、ssd1306和字库文件

        请查看这个文章获取:

物联网开发107 - Micropython ESP32 C3接DS1307时钟模块在SSD1306屏幕上显示时间_魔都飘雪的博客-CSDN博客Micropython ESP32 C3连接DS1307时钟模块在SSD1306屏幕上显示时间https://blog.csdn.net/zhusongziye/article/details/130535482?spm=1001.2014.3001.5501六、WS2812 5050 RGB LED 全彩驱动彩灯 正方形开发板购买

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2f582e8d4Jxt4i&id=605669316457&_u=mp01rch2294https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2f582e8d4Jxt4i&id=605669316457&_u=mp01rch2294

这篇关于物联网开发113 - Micropython ESP32 C3连接PAJ7620手势传感器控制WS2812彩灯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/217066

相关文章

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Xshell远程连接失败以及解决方案

《Xshell远程连接失败以及解决方案》本文介绍了在Windows11家庭版和CentOS系统中解决Xshell无法连接远程服务器问题的步骤,在Windows11家庭版中,需要通过设置添加SSH功能并... 目录一.问题描述二.原因分析及解决办法2.1添加ssh功能2.2 在Windows中开启ssh服务2

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

Spring Boot实现多数据源连接和切换的解决方案

《SpringBoot实现多数据源连接和切换的解决方案》文章介绍了在SpringBoot中实现多数据源连接和切换的几种方案,并详细描述了一个使用AbstractRoutingDataSource的实... 目录前言一、多数据源配置与切换方案二、实现步骤总结前言在 Spring Boot 中实现多数据源连接

Python实现局域网远程控制电脑

《Python实现局域网远程控制电脑》这篇文章主要为大家详细介绍了如何利用Python编写一个工具,可以实现远程控制局域网电脑关机,重启,注销等功能,感兴趣的小伙伴可以参考一下... 目录1.简介2. 运行效果3. 1.0版本相关源码服务端server.py客户端client.py4. 2.0版本相关源码1

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char