樹莓派筆記RaspberryPi -(7) LED 呼吸燈 (PWM 控制)

更新 發佈閱讀 6 分鐘

PWM=Pulse Width Modulation,

通過調整數位脈衝的週期以及在週期中的寬度占比, 來模擬類比信號輸出

像是控制馬達轉速, 舵機角度, 燈號強度...等

 

目前樹莓派有幾種作法

一是通過軟體控制, 優點是每隻GPIO腳都可以發出, 數量不受限

缺點是占用CPU計算資源, 太多PWM有可能會延遲

另外是寬度占比只能設定0~100, 較不精準

二是硬體控制,

脈衝非常準確, 寬度可以設定0~1,000,000

但在樹莓派上一次只能產生兩組, BCM 12/18共用通道0, BCM 13/19共用通道1

三是DMA控制, 介於兩者之間

通常由擴充版提供, 精準度依板子不同而異

以GrovePi+來說脈衝寬度可以設定0~255的範圍, 僅D3/D5/D6可提供

 

================================

軟體控制PWM程式碼

================================

import RPi.GPIO as GPIO
import time

LedPin = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(LedPin, GPIO.OUT)   # Set pin mode as output

p = GPIO.PWM(LedPin, 1000)     # set Frequece to 1KHz
p.start(0)                     # Start PWM output, Duty Cycle = 0

try:
        while True:
                for dc in range(0, 101, 5):   # Increase duty cycle: 0~100
                        p.ChangeDutyCycle(dc)     # Change duty cycle
                        time.sleep(0.05)
                time.sleep(1)
                for dc in range(100, -1, -5): # Decrease duty cycle: 100~0
                        p.ChangeDutyCycle(dc)
                        time.sleep(0.05)
                time.sleep(1)
except KeyboardInterrupt:
        p.stop()
        GPIO.cleanup()

================================

 

================================

硬體PWM程式碼, 必須先安裝pigpio庫, 並執行sudo pigpiod

================================

import pigpio
import time

PWM_LED_PIN = 18
PWM_FREQ = 1000
 
pi = pigpio.pi()
 
try:
    while True:
        for i in range(0, 50, 1):
            pi.hardware_PWM(PWM_LED_PIN, PWM_FREQ, i*20000)
            time.sleep(0.1)
        for i in range(49, -1, -1):
            pi.hardware_PWM(PWM_LED_PIN, PWM_FREQ, i*20000)
            time.sleep(0.1)
except KeyboardInterrupt:
    pi.set_mode(PWM_LED_PIN, pigpio.INPUT)

================================

 

================================

GrovePi+ PWM程式碼

================================

import grovepi
import time

led = 5 # Connect the Grove LED to digital port D5
grovepi.pinMode(led,"OUTPUT")

try:
    while True:
        for i in range(0, 256, 15): #Increment brightness for next iteration
            grovepi.analogWrite(led,i)  # Give PWM output to LED
            time.sleep(.3)
        for i in range(255, -1, -15):
            grovepi.analogWrite(led,i)  # Give PWM output to LED
            time.sleep(.3)

except KeyboardInterrupt:
    grovepi.analogWrite(led,0)

================================

 

 

留言
avatar-img
hls Ding的沙龍
7會員
68內容數
ktest
hls Ding的沙龍的其他內容
2025/03/06
import csv import os folder = 'D:/PROGRAMMING/PythonCode/data_arrange/' fname_sum = 'sum.csv' bump = 6 csv_filenames = [f for f in os.listdir(folde
2025/03/06
import csv import os folder = 'D:/PROGRAMMING/PythonCode/data_arrange/' fname_sum = 'sum.csv' bump = 6 csv_filenames = [f for f in os.listdir(folde
看更多
你可能也想看
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
解釋完 CPO 架構與運作模式及 tsmc 剛發布的 COUPE 技術與 CPO 規劃之後,接下來談何謂光收發模組?而光收發模組的未來技術與產業趨勢又如何?
Thumbnail
解釋完 CPO 架構與運作模式及 tsmc 剛發布的 COUPE 技術與 CPO 規劃之後,接下來談何謂光收發模組?而光收發模組的未來技術與產業趨勢又如何?
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
HP電競筆電顯卡4060 ASUS曲面螢幕 滑鼠品牌POJUN波軍 麥克風HYPERX S 鍵盤平民牌子 我之後會回去嘗試直播遊戲實況,有圖奇TWITCH帳號的可以追蹤我的TWITCH我會不定期的做直播和訂閱我的YT感謝
Thumbnail
HP電競筆電顯卡4060 ASUS曲面螢幕 滑鼠品牌POJUN波軍 麥克風HYPERX S 鍵盤平民牌子 我之後會回去嘗試直播遊戲實況,有圖奇TWITCH帳號的可以追蹤我的TWITCH我會不定期的做直播和訂閱我的YT感謝
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
2023年來看處理器的發展,x86_64系統結構與ARM64系統結構是目前市場上的主流處理器系統結構,ARM是一個整合作業系統、組合語言、C語言、電子電路技術的宏大領域。熟悉ARM架構一定是硬體工程師想要進軍CPU領域的唯一目標(當然還有一個是RISC-V)。
Thumbnail
2023年來看處理器的發展,x86_64系統結構與ARM64系統結構是目前市場上的主流處理器系統結構,ARM是一個整合作業系統、組合語言、C語言、電子電路技術的宏大領域。熟悉ARM架構一定是硬體工程師想要進軍CPU領域的唯一目標(當然還有一個是RISC-V)。
Thumbnail
前一陣子,我跟平常一樣在滑 Twitter 時,一則貼文引起了我的注意,那是一個有趣的構想⋯
Thumbnail
前一陣子,我跟平常一樣在滑 Twitter 時,一則貼文引起了我的注意,那是一個有趣的構想⋯
Thumbnail
又是一段忙碌的日子,好不容易稍微有精力來記錄這個主題的進度了,但消息可能並沒想像中那麼美好。
Thumbnail
又是一段忙碌的日子,好不容易稍微有精力來記錄這個主題的進度了,但消息可能並沒想像中那麼美好。
Thumbnail
因為前陣子跟台的時候聽到有消波塊想要實體的伍一時鐘...... 所以今天,它來了
Thumbnail
因為前陣子跟台的時候聽到有消波塊想要實體的伍一時鐘...... 所以今天,它來了
Thumbnail
筆記-2024.03.16-曲博 財訊訪談-談ARM *處理器的兩種架構: 精簡指令集RISC 複雜指令集CISC, *CPU為複雜指令集,運算能力較強,缺點是較耗電。 *ARM,為精簡指令集,運算效能較差,但較省電,屬於微處理器(MPU)。 *英特爾稱霸電腦用CPU, 然而手機較看重
Thumbnail
筆記-2024.03.16-曲博 財訊訪談-談ARM *處理器的兩種架構: 精簡指令集RISC 複雜指令集CISC, *CPU為複雜指令集,運算能力較強,缺點是較耗電。 *ARM,為精簡指令集,運算效能較差,但較省電,屬於微處理器(MPU)。 *英特爾稱霸電腦用CPU, 然而手機較看重
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
來看一下這一段影片: 這一處電位是PWM的VCC,看起來是浮動不穩定!
Thumbnail
來看一下這一段影片: 這一處電位是PWM的VCC,看起來是浮動不穩定!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News