Signal類來包裝現有的开坑用 Pin對象 ,高電平-0、发避我們需要將 風雅一號板-七彩觸控擴展板插入到 風雅一號板-通用兼容擴展板上 :
在以下例程中 ,类解路最終實現通過相同方法控製 LED燈的决不兼容點亮
。直接使用Pin類時需要考慮外部電路的同电差異
,打開終端
,电平對應 GPIO 輸出低電平點亮 。问题下拉電阻使能LED1_Pin = Pin(17,开坑用 Pin.OUT, Pin.PULL_DOWN)# 設置GPIO 16為LED2(共陰級)輸出引腳,可以看到輸出如下:
我們可以看到 風雅一號板-七彩觸控擴展板上的发避 HIGHLED和 LOWLED先同時點亮
,對應 GPIO 輸出高電平點亮;而 GP16連接的类解路 LED 燈正極連接到了 +3V3,之後同時關閉:


GP17連接的问题 LED 燈負極連接到了地,使用 mpremote 連接樹莓派 Pico,开坑用下拉電阻使能LED2_Pin = Pin(16, Pin.OUT, Pin.PULL_DOWN)# ======================================== 主程序 ============================================# 不使用Signal類,代碼如下:
# Python env : MicroPython v1.23.0# -*- coding: utf-8 -*- # @Time : 2024/6/21 上午10:32 # @Author : 李清水 # @File : main.py # @Description : Signal類實驗,低電平-1LED2 = Signal(LED2_Pin, invert=True)# 現在可以使用一個方法進行兩個LED燈的點亮LED1.on()LED2.on()# 等待5秒time.sleep(5)# 獲取信號狀態print("LED 1 value :", LED1.value())print("LED 2 value :", LED2.value())# 獲取引腳狀態print("LED1_Pin value :", LED1_Pin.value())print("LED2_Pin value :", LED2_Pin.value())# 關閉兩個LED燈LED1.off()LED2.off()# 等待1秒time.sleep(1)# 獲取信號狀態print("LED 1 value :", LED1.value())print("LED 2 value :", LED2.value())# 獲取引腳狀態print("LED1_Pin value :", LED1_Pin.value())print("LED2_Pin value :", LED2_Pin.value())燒錄代碼,輸入不同電平來點亮LED燈# LED1輸入高電平點亮LED1_Pin.value(1)# LED2輸入低電平點亮LED2_Pin.value(0)# 使用Signal類包裝現有的Pin對象# 對於LED1_Pin不使用反轉,高電平-1、我們通過 Signal 類控製兩個不同電路連接的 LED 燈 ,
推文
在下麵實驗中 ,