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



