一、产品概述
Adafruit 5691(ESP32‑S3 Reverse TFT Feather) 是美国Adafruit公司推出的Feather规格物联网开发板,集成ESP32‑S3无线模组、1.14英寸反向安装TFT彩屏,专为面板安装与带屏IoT原型设计,支持Arduino/CircuitPython双开发环境。
二、核心参数
- 主控:ESP32‑S3(Xtensa LX7双核,240 MHz),4 MB Flash + 2 MB PSRAM + 512 KB SRAM。
- 无线:Wi‑Fi 802.11 b/g/n(2.4 GHz)、Bluetooth 5.x BLE,模组带FCC/CE认证。
- 显示:1.14英寸IPS TFT,240×135像素,反向安装(背面出线)。
- 接口:STEMMA QT(I²C)、原生USB、GPIO排针,预留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 IDE与CircuitPython,适合入门到进阶开发。
5. 无线一体化:Wi‑Fi+BLE双模,覆盖IoT数据传输与蓝牙近场通信场景。
四、测评内容
将光照传感器采集数据通过串口发送到绘图区,以波形显示,并在屏幕上显示动态弹跳球位置跟光照度有线性关系;
五、硬件接线如图:
六、编写程序:
# 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()
七、实验现象:

我要赚赏金
