这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » esp32S3采集光照度以波形方式显示

共1条 1/1 1 跳转至

esp32S3采集光照度以波形方式显示

菜鸟
2026-07-17 16:21:20     打赏

一、产品概述

   Adafruit 5691ESP32S3 Reverse TFT Feather) 是美国Adafruit公司推出的Feather规格物联网开发板,集成ESP32S3无线模组、1.14英寸反向安装TFT彩屏,专为面板安装与带屏IoT原型设计,支持Arduino/CircuitPython双开发环境。

二、核心参数

- 主控:ESP32S3Xtensa LX7双核,240 MHz),4 MB Flash + 2 MB PSRAM + 512 KB SRAM

- 无线:WiFi 802.11 b/g/n2.4 GHz)、Bluetooth 5.x BLE,模组带FCC/CE认证。

- 显示:1.14英寸IPS TFT240×135像素,反向安装(背面出线)。

- 接口:STEMMA QTI²C)、原生USBGPIO排针,预留3个按键位置。

- 供电:3.3 V,支持USB/电池供电,Feather标准尺寸(51×23 mm)。

三、产品特点

 

1. 反向屏幕设计:TFT屏装在板背,适配面板嵌入安装,正面可贴面板/外壳。

2. 大容量存储:4 MB Flash+2 MB PSRAM,支持CircuitPython大程序与图像缓存。

3. 即插即用生态:STEMMA QT免焊传感器扩展,Adafruit IO云平台无缝对接。

4. 双编程支持:Arduino IDECircuitPython,适合入门到进阶开发。

5. 无线一体化:WiFi+BLE双模,覆盖IoT数据传输与蓝牙近场通信场景。

   image.png 

四、测评内容

    将光照传感器采集数据通过串口发送到绘图区,以波形显示,并在屏幕上显示动态弹跳球位置跟光照度有线性关系;

五、硬件接线如图:

image.png 

六、编写程序:

 

# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
# SPDX-License-Identifier: MIT

"""
This is an animation to demonstrate the use of Circle Setter Attribute.
"""

import gc
import time

import board
import displayio
import digitalio

from adafruit_display_shapes.circle import Circle
from analogio import AnalogIn

# 如果使用 Circuit Playground Express,可以用 cp.light
# 如果使用通用板子,使用 A0 引脚
# use built in display (MagTag, PyPortal, PyGamer, PyBadge, CLUE, etc.)
# see guide for setting up external displays (TFT / OLED breakouts, RGB matrices, etc.)
# https://learn.adafruit.com/circuitpython-display-support-using-displayio/display-and-display-bus
display = board.DISPLAY
led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT
# Make the display context
main_group = displayio.Group()

# Make a background color fill
color_bitmap = displayio.Bitmap(display.width, display.height, 1)
color_palette = displayio.Palette(1)
color_palette[0] = 0xFFFFFF
bg_sprite = displayio.TileGrid(color_bitmap, pixel_shader=color_palette, x=0, y=0)
main_group.append(bg_sprite)

# Setting up the Circle starting position
posx = 50
posy = 50

# Define Circle characteristics
circle_radius = 10
circle = Circle(posx, posy, circle_radius, fill=0x00FF00, outline=0xFF00FF)
main_group.append(circle)

# Define Circle Animation Steps
delta_x = 2
delta_y = 2

# Showing the items on the screen
display.root_group = main_group
adc = AnalogIn(board.A0)
while True:

    value = adc.value/1000
    # 关键:必须打印元组格式,且只包含数值
    print((value,))
    if circle.y + circle_radius >= display.height - circle_radius:
        delta_y = -1
    if circle.x + circle_radius >= display.width - circle_radius:
        delta_x = -1
    if circle.x - circle_radius <= 0 - circle_radius:
        delta_x = 1
        led.value = False
        time.sleep(0.5)
    if circle.y - circle_radius <= 0 - circle_radius:
        delta_y = 1
        led.value = True
        time.sleep(0.5)

    circle.x = 120
    circle.y = int(value)

    time.sleep(0.02)
    gc.collect()


七、实验现象:

image.png


 





关键词: esp32s3     波形    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]