RP2040学习4,LED点亮,OLED显示,DHT11温湿度传感器数据读取

LED点亮

板子上自带的,GPIO 25

py 复制代码
from machine import Pin
import time

led = Pin(25, Pin.OUT)

while True:
    led.toggle()
    time.sleep(0.5)

自己接的LED点亮,

接GP15,LED长脚接 GPIO15, 短脚接220Ω限流电阻,再接GND

py 复制代码
from machine import Pin
import time

led = Pin(25, Pin.OUT)
led2 = Pin(15, Pin.OUT)

while True:
    led.toggle()
    led2.toggle()
    time.sleep(0.5)

DHT11 温湿度传感器实验

VCC接VCC,DATA接GP16,GND接GND,NC不用管它

py 复制代码
# 导入必要的库
from machine import Pin
import dht
import time

# 初始化DHT11传感器
# 引脚设置为GPIO16,对应Pico的GP16引脚
dht_sensor = dht.DHT11(Pin(16))

# 循环读取温湿度数据
while True:
    try:
        # 触发传感器读取数据(必须调用这个方法)
        dht_sensor.measure()
        
        # 获取温度和湿度值
        temperature = dht_sensor.temperature()  # 温度(摄氏度)
        humidity = dht_sensor.humidity()        # 湿度(百分比)
        
        # 打印数据,方便查看
        print(f"温度: {temperature}°C, 湿度: {humidity}%")
        
        # 每2秒读取一次(DHT11最快刷新频率是1秒,2秒更稳定)
        time.sleep(2)
        
    except OSError as e:
        # 捕获读取失败的异常(比如接线错误、传感器没响应)
        print("读取传感器数据失败,请检查接线或传感器!错误信息:", e)
        time.sleep(2)

OLED显示实验

需要安装ssd1306库

py 复制代码
from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
import time

# 初始化I2C(地址已确认是0x3C,不用改)
i2c = I2C(0, scl=Pin(1, Pin.PULL_UP), sda=Pin(0, Pin.PULL_UP), freq=100000)

# 关键:按128x32初始化(不是64!)
oled = SSD1306_I2C(128, 32, i2c, addr=0x3C)

# 清屏+适配128x32的坐标(32高度只有4行,每行8像素)
oled.fill(0)  # 清空缓存
oled.text("Hello World!", 0, 0, 1)   # 第一行(0,0)
oled.text("128x32 OLED OK!", 0, 10, 1)  # 第二行(0,10)
oled.text("Addr:0x3C", 0, 20, 1)      # 第三行(0,20)

# 强制刷新到屏幕(核心步骤)
oled.show()
# 调最高对比度+常亮
oled.poweron()
oled.contrast(255)

print("✅ 128x32 OLED已显示!暗处看更清晰")
相关推荐
恒锐丰科技韩生13 分钟前
率能 SS6635E|3.0~30V 直流双向 H 桥电机驱动 SOP8 玩具电子锁机器人分享
嵌入式硬件·硬件工程
嘉子的秃头日记14 分钟前
机械革命“自动修复”无法修复你的电脑
stm32·单片机·电脑
恒锐丰科技林技术员17 分钟前
高集成双通道 H 桥驱动芯片 SS6850H:低压直流电机驱动优选方案
嵌入式硬件·硬件工程
艾莉丝努力练剑23 分钟前
【QT:解决问题】Qt5Core.dll:无法定位程序输入点
java·开发语言·qt·学习·面试
森旺电子24 分钟前
电子负载使用介绍
单片机·嵌入式硬件
青山是哪个青山9 小时前
LangChain 学习笔记(四):Message 与提示词模板
笔记·学习·langchain
hsjiasb10 小时前
FreeRTOS学习(二十六)——动态内存管理heap_1到heap_5
stm32·单片机·学习·学习笔记·freertos
崇子嵘10 小时前
基于zynqMP15eg的linux驱动学习
学习
知识分享小能手12 小时前
线性代数学习教程,从入门到精通,向量组的线性相关性 — 完整知识点梳理(7)
学习·线性代数·机器学习
Shell运维手记12 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github