Jak wygenerować PWM za pomocą Raspberry Pi 4

Jak wygenerować PWM za pomocą Raspberry Pi 4
Raspberry Pi 4 to jedno urządzenie komputerowe, które służy do tworzenia różnych projektów elektronicznych zarówno podstawowych, jak i zaawansowanych. Raspberry Pi zawiera 27 pinów GPIO, wśród których cztery szpilki są w celu PWM, ale przed przejściem do generowania PWM najpierw zrozumiemy PWM.

Co to jest PWM

PWM jest znany jako modulacja szerokości impulsu, która jest używana do kontrolowania mocy ciągłego sygnału elektrycznego przez przełączanie go między wysokim i niskim przez określony czas. Za pomocą techniki PWM możemy kontrolować różne urządzenia.

Poprzez zmianę cyklu pracy PWM można kontrolować.

Jak wygenerować PWM za pomocą Raspberry Pi 4

Jak omówiliśmy powyżej, Raspberry Pi 4 ma dwa kanały PWM, które składają się z czterech pinów GPIO PWM, które są GPIO12, GPIO13, GPIO18 i GPIO19. Zrozumiemy generowanie i działanie PWM w Raspberry Pi 4, tworząc prosty obwód elektryczny, aby zniknąć jasność diody LED. Zmiana jasności diody LED odbywa się poprzez dostarczenie ciągłego lub analogowego sygnału elektrycznego do diody LED, które zapewnimy za pomocą pin PWM z Raspberry Pi 4.

Jak zniknąć LED techniką PWM w Raspberry Pi 4

Aby zniknąć diodę LED, potrzebujemy następujących elementów elektronicznych:

  • PROWADZONY
  • 1 rezystor
  • Tablica chleba
  • Przewody zworki

Schemat obwodu, aby obwód zniknął z diody LED:

W celu wdrożenia powyższego obwodu umieścimy wszystkie komponenty na płycie:

Teraz podłączymy katodę diody LED z uziemieniem PIN Raspberry Pi i otworzymy terminal rezystora (jego drugi terminal jest połączony z anodą diody LED) do pinu GPIO 18 Raspberry Pi 4 przy użyciu przewodów softowych :

Obwód jest zakończony.

Jaki jest kod Python, aby zniknąć diodę LED techniką PWM za pomocą Raspberry Pi 4

Otworzymy plik tekstowy o nazwie „Fade.Py ”Korzystanie z edytora tekstu Nano:

$ Nano Fade.py

Wpisz następujący skrypt Python w pliku:

Importuj RPI.GPIO jako GPIO
#Wportu na RPI.Biblioteka GPIO
Od czasu importuj sen
#Wprowadź spać z biblioteki czasu
Ledpin = 18
#Declare the GPIO 18 PIN dla wyjścia LED
GPIO.konfiguracja (Ledpin, GPIO.NA ZEWNĄTRZ)
#Zdefiniuj zachowanie Ledpina jako wyjścia
GPIO.setwarnings (false)
#ignore ostrzeżenia
PWM = GPIO.PWM (Ledpin, 1000)
#Utwórz instancję PWM z częstotliwością 1000 Hz
PWM.Start (0)
#startuj PWM w cyklu pracy 0
Choć prawda:
#Initialis the Infinite podczas pętli
dla służby w zakresie (0,101):
#Initialise the For Loop
PWM.ZMIENIONOCYCYCLE (obowiązek)
#Zmienianie cyklu pracy według wartości pętli
spać (0.01)
#generował opóźnienie 0.01 drugi w każdej iteracji pętli
spać (0.5)
#generował opóźnienie 0.5 sekund
dla służby w zakresie (100, -1, -1):
#again rozpoczął pętlę ustawianie wartości 100 i zmniejszanie o -1 do -1
PWM.ZMIENIONOCYCYCLE (obowiązek)
#Zmienianie cyklu pracy według wartości pętli
spać (0.01)
#generował opóźnienie 0.01 drugi w każdej iteracji pętli
spać (0.5)
#generował opóźnienie 0.5 sekundy

Objaśnienie kodu: W powyższym kodzie Python zaimportowaliśmy dwie biblioteki RPI.GPIO i snu od czasu. Następnie deklarujemy zmienną Ledpin i przypisujemy ją pinem GPIO 18, definiując ją jako pin PWM. Rozpoczęliśmy instancję PWM o częstotliwości 0, a następnie zdefiniowaliśmy zakres od 0 do 101 i w pętlach zmieniających cykl pracy. W pierwszej pętli, zmieniając cykl pracy z 0 na 101, zwiększamy jasność, a w drugim dla pętli, zmieniając cykl pracy ze 100 na -1, zmniejszamy jasność diody LED. Oba dla pętli znajdują się w ciele nieskończoności podczas pętli, więc proces ten będzie trwał wielokrotnie przez nieskończony czas.

Aby skompilować i uruchomić skrypt Python z Fade.PY, użyjemy polecenia:

$ Python Fade.py

Sprzęt obwodu to:

Wniosek

Technika PWM w mikrokontrolerach jest bardzo przydatna do sterowania ciągłym lub analogowym wyjściem. Zniknięcie diody LED za pomocą techniki PWM jest najlepszym przykładem do wyjaśnienia działania techniki PWM. Cykl pracy zmienia się z 0 do 100 procent, co powoduje, że LED zanika i zanika. W tym artykule wyjaśniliśmy wytwarzanie PWM, podając przykład elektronicznego obwodu zanikania diody LED.