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


