Raspberry Pi to płyta oparta na architekturze ARM przeznaczona dla elektroników i hobbystów. PI jest obecnie jedną z najbardziej zaufanych platform do tworzenia projektów. Dzięki większej szybkości procesora i 1 GB pamięci RAM PI może być używany w wielu ważnych projektach, takich jak przetwarzanie obrazu i Internet rzeczy.
Aby wykonać którykolwiek z ważnych projektów, należy zrozumieć podstawowe funkcje PI. W tych samouczkach omówimy wszystkie podstawowe funkcje Raspberry Pi. W każdym samouczku omówimy jedną z funkcji PI. Pod koniec serii samouczków będziesz mógł samodzielnie wykonywać prestiżowe projekty. Sprawdź je, aby zapoznać się z konfiguracją Raspberry Pi i Raspberry Pi.
Omówiliśmy migające diody LED i interfejs przycisków z Raspberry Pi w poprzednich samouczkach. W tym samouczku Raspberry Pi PWM porozmawiamy o uzyskaniu wyjścia PWM z Raspberry Pi. PWM oznacza „ modulację szerokości impulsu ”. PWM to metoda używana do uzyskiwania zmiennego napięcia ze stałego źródła zasilania. Będziemy generować sygnał PWM z Raspberry Pi i wykazać PWM poprzez zmianę jasności LED, podłączone do Pi.
Modulacja szerokości impulsów:
Wcześniej wielokrotnie rozmawialiśmy o PWM w: Modulacji szerokości impulsu z ATmega32, PWM z Arduino Uno, PWM z układem czasowym 555 i PWM z Arduino Due.
Na powyższym rysunku, jeśli przełącznik jest stale zamknięty przez pewien czas, dioda LED będzie w tym czasie stale włączona. Jeśli przełącznik jest zamknięty na pół sekundy i otwarty na następne pół sekundy, dioda LED będzie świecić tylko w pierwszej połowie sekundy. Teraz proporcja, dla której dioda LED świeci przez cały czas, nazywa się cyklem pracy i można ją obliczyć w następujący sposób:
Cykl pracy = czas włączenia / (czas włączenia + czas wyłączenia)
Cykl pracy = (0,5 / (0,5 + 0,5)) = 50%
Zatem średnie napięcie wyjściowe będzie wynosić 50% napięcia akumulatora.
Dzieje się tak przez jedną sekundę i widzimy, że dioda LED jest wyłączona przez pół sekundy, a dioda LED świeci przez drugą połowę sekundy. Jeśli częstotliwość czasów WŁ. I WYŁ. Wzrosła z „1 na sekundę” do „50 na sekundę”. Ludzkie oko nie może uchwycić tej częstotliwości. Dla normalnego oka dioda LED będzie widoczna jako świecąca z połową jasności. Zatem wraz z dalszym skróceniem czasu włączenia dioda LED wydaje się znacznie jaśniejsza.
Zaprogramujemy PI, aby uzyskać PWM i podłączymy diodę LED, aby pokazać jej działanie.
W Raspberry Pi jest 40 pinów wyjściowych GPIO. Ale z 40 można zaprogramować tylko 26 pinów GPIO (GPIO2 do GPIO27). Aby dowiedzieć się więcej o pinach GPIO, przejdź przez: Miga dioda LED z Raspberry Pi
Wymagane składniki:
Tutaj używamy Raspberry Pi 2 Model B z Raspbian Jessie OS. Wszystkie podstawowe wymagania sprzętowe i programowe zostały wcześniej omówione, możesz je sprawdzić we wprowadzeniu do Raspberry Pi, poza tym, czego potrzebujemy:
- Kołki łączące
- Rezystor 220Ω lub 1KΩ
- DOPROWADZIŁO
- Deska do chleba
Objaśnienie obwodu:
Jak pokazano na schemacie obwodu, podłączymy diodę LED między PIN35 (GPIO19) i PIN39 (masa). Jak wspomniano wcześniej, nie możemy pobrać więcej niż 15 mA z któregokolwiek z tych pinów, więc aby ograniczyć prąd, łączymy szeregowo z diodą rezystor 220Ω lub 1KΩ.
Objaśnienie robocze:
Po podłączeniu wszystkiego możemy włączyć Raspberry Pi, aby napisać program w PYHTON i go wykonać.
Porozmawiamy o kilku poleceniach, których będziemy używać w programie PYHTON.
Zamierzamy zaimportować plik GPIO z biblioteki, poniższa funkcja umożliwia zaprogramowanie pinów GPIO PI. Zmieniamy również nazwę „GPIO” na „IO”, więc w programie zawsze, gdy będziemy chcieli odwołać się do pinów GPIO, użyjemy słowa „IO”.
importuj RPi.GPIO jako IO
Czasami, gdy piny GPIO, których próbujemy użyć, mogą wykonywać inne funkcje. W takim przypadku podczas wykonywania programu będziemy otrzymywać ostrzeżenia. Poniższe polecenie mówi PI, aby zignorował ostrzeżenia i kontynuował program.
IO.setwarnings (fałszywe)
Możemy odnosić się do pinów GPIO PI, albo przez numer pinu na płycie, albo przez numer ich funkcji. Na schemacie pinów widać, że „PIN 35” na płycie to „GPIO19”. Więc tutaj mówimy, że albo będziemy reprezentować pinezkę jako „35” lub „19”.
IO.setmode (IO.BCM)
Ustawiamy GPIO19 (lub PIN35) jako pin wyjściowy. Otrzymamy wyjście PWM z tego pinu.
IO.setup (19, IO.IN)
Po ustawieniu pinu jako wyjścia musimy ustawić pin jako pin wyjściowy PWM, p = IO.PWM (kanał wyjściowy, częstotliwość sygnału PWM)
Powyższe polecenie służy do ustawiania kanału, a także ustawiania częstotliwości sygnału PWM. „p” jest tutaj zmienną, może to być wszystko. Używamy GPIO19 jako kanału wyjściowego PWM. „ częstotliwość sygnału PWM ” została wybrana jako 100, ponieważ nie chcemy, aby dioda LED migała.
Poniższe polecenie służy do rozpoczęcia generowania sygnału PWM, `` DUTYCYCLE '' służy do ustawienia współczynnika włączenia, 0 oznacza, że dioda LED będzie włączona przez 0% czasu, 30 oznacza, że dioda LED będzie włączona przez 30% czasu, a 100 oznacza całkowicie włączone.
p.start (DUTYCYCLE)
To polecenie wykonuje pętlę 50 razy, przy czym x jest zwiększane od 0 do 49.
dla xw zakresie (50):
Podczas gdy 1: jest używany do pętli nieskończoności. Za pomocą tego polecenia instrukcje wewnątrz tej pętli będą wykonywane w sposób ciągły.
W trakcie wykonywania programu cykl pracy sygnału PWM wzrasta. A potem spada po osiągnięciu 100%. Po podłączeniu diody LED do tego kodu PIN jasność diody LED najpierw wzrasta, a następnie maleje.