開發避坑用的電平同電路題解決不兼容問l 類
决不兼容

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