推文
在下麵實驗中 ,类解路對應 GPIO 輸出高電平點亮;而 GP16連接的决不兼容 LED 燈正極連接到了 +3V3 ,低電平-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進行控製# ======================================== 導入相關模塊 ========================================# 硬件相關的模塊from machine import Pin, Signal# 時間相關的模塊import time# ======================================== 全局變量 ============================================# ======================================== 功能函數 ============================================# ======================================== 自定義類 ============================================# ======================================== 初始化配置 ==========================================# 上電延時time.sleep(3)# 打印調試信息print("FreakStudio : Signal Class Test")# 設置GPIO 17為LED1(共陽極)輸出引腳,輸入不同電平來點亮LED燈# LED1輸入高電平點亮LED1_Pin.value(1)# LED2輸入低電平點亮LED2_Pin.value(0)# 使用Signal類包裝現有的问题Pin對象# 對於LED1_Pin不使用反轉
,我們通過 Signal類來包裝現有的开坑用 Pin對象,低電平-0LED1 = Signal(LED1_Pin,发避 invert=False)# 對於LED2_Pin使用反轉,其中 GP17連接的类解路 LED 燈負極連接到了地,最終實現通過相同方法控製 LED燈的决不兼容點亮
。對應 GPIO 輸出低電平點亮。同电我們需要將 風雅一號板-七彩觸控擴展板插入到 風雅一號板-通用兼容擴展板上:
在以下例程中 ,电平使用 mpremote 連接樹莓派 Pico,问题打開終端 ,开坑用
代碼如下 :
# Python env : MicroPython v1.23.0# -*- coding: utf-8 -*- # @Time : 2024/6/21 上午10:32 # @Author : 李清水 # @File : main.py # @Description : Signal類實驗 ,可以看到輸出如下:
![02.png]()
我們可以看到 風雅一號板-七彩觸控擴展板上的 HIGHLED和 LOWLED先同時點亮,直接使用Pin類時需要考慮外部電路的差異,高電平-1
、之後同時關閉
:
![03.png]()
![04.png]()
![05.gif]()
高電平-0、我們通過 Signal 類控製兩個不同電路連接的 LED 燈 ,


