Ile pin PWM na Arduino Uno

Ile pin PWM na Arduino Uno
PWM to akronim modulacji szerokości impulsu, który służy do uzyskania wyjścia w sygnałach pulsujących lub do utworzenia wyjścia fali kwadratowej. Korzystając z tej techniki, możemy połączyć urządzenia analogowe z Arduino za pomocą środków cyfrowych. Arduino oferuje wiele sposobów na interfejs peryferyjnych. PWM jest jednym z tych, które sterują urządzeniami, takimi jak silniki serwo, silniki DC i inne moduły analogowe.

PWM z Arduino

PWM w Arduino ma szeroką gamę aplikacji używanych do sterowania urządzeniami analogowymi za pomocą sygnałów cyfrowych. Wyjście cyfrowych pinów Arduino można podzielić na dwa poziomy napięcia albo wysokie, czyli 5 V lub niskie, co oznacza 0 V. Za pomocą PWM w Arduino możemy wygenerować sygnał o stałej częstotliwości, ale o zmiennej szerokości impulsu. Najczęstszym przykładem użycia PWM w Arduino jest kontrolowanie jasności diody LED i kontrolowanie prędkości silnika.

Sygnał modulacji szerokości impulsu ma następujące dwie cechy:

  • Częstotliwość: Częstotliwość sygnału PWM oznacza, jak szybko zostanie zakończony jeden cykl. Alternatywnie, częstotliwość PWM decyduje o tym, jak szybko sygnał wyjściowy zmieni się między stanem wysoki i niski.
  • Cykl pracy: Opisuje czas, dla którego sygnał wyjściowy pozostaje w wysokim stanie jako procent całkowitej ilości czasu wymaganego do ukończenia jednego cyklu.

PINS PWM na Arduino Uno

Arduino Uno ma w sumie 14 cyfrowych pinów wyjściowych, z tych cyfrowych pinów 6 pins jest dostępnych na płytce Arduino Uno. Na Arduino UNO Digital Pins I/O 3, 5, 6, 9, 10 i 11 to szpilki PWM. Liczba pinów PWM różni się w zależności od tablicy.

Kontr -prędkość w Arduino określa częstotliwość sygnałów PWM. W Arduino uno zegar jest równy zegar systemu podzielony przez wartość Prescalers. Trzy przewodniczący przechowują wartość rejestru kontrataków. Te trzy prescale są znane jako: CS02, CS01 i CS00. Ponieważ całkowita liczba pin PWM wynosi 6, więc w Arduino UNO używane są trzy rejestry liczników.

Rejestry timera/licznika PINS PWM
TCCR0B Kontroluje pin 6 i 5
Tccr1b Kontroluje pin 9 i 10
Tccr2b Kontroluje pin 11 i 3

Każdy z tych trzech rejestrów może skonfigurować trzy różne zakresy częstotliwości dla sygnałów PWM. Zwykle domyślnie Arduino Uno mają następujące częstotliwości dla pin PWM:

Pins Arduino Częstotliwość PWM
5 i 6 980 MHz
9, 10,11 i 3 500 MHz

Jak używać pinów PWM w Arduino

Cyfrowe szpilki na Arduino można skonfigurować za pomocą za pomocą pinmode (), DigitalRead () I DigitalWrite (). Tutaj funkcja pinmode () ustawia pin jako wejście i wyjście. Kiedy konfigurujemy cyfrowe szpilki jako funkcja wejściowa cyfrowa () jest używana podczas ustawiania pinu jako funkcji wyjściowej cyfrowej ().

anogwrite ()

Aby skonfigurować piny PWM, których używamy anogwrite () funkcjonować. Ta funkcja zapisuje wartość analogową do cyfrowej szpilki. Może ustawić cykl pracy sygnałowej PWM. Gdy funkcja analogwrite jest wywoływana na określonym styku, generowana jest stała fala kwadratowa z zdefiniowanym cyklem pracy. Ta fala kwadratowa pozostanie tam, dopóki nie wywołamy nowej funkcji AnaLogwrite () dla tego pinu lub zapisu nowej wartości za pomocą funkcji DigitalRead () lub DigitalWrite ().

Składnia

analogwrite (pin, wartość)

Funkcja anogwrite () przyjmuje dwa argumenty:

  • Szpilka: Pin, którego wartość ma być ustawiona.
  • Wartość: Opisuje cykl pracy między 0, który jest niskim stanem a 255, który jest wysoki lub w stanie.

Kolejnym argumentem, który jest opcjonalny w przypadku PWM jest częstotliwość. Jeśli nie jest to określone domyślnie, wynosi 500 Hz.

Wartość analogwrite () określa cykl pracy dla sygnałów PWM:

  • Analogwrite (0) oznacza sygnał PWM o 0% cyklu pracy.
  • Analogwrite (127) oznacza sygnał PWM o 50% cyklu pracy.
  • Analogwrite (255) oznacza sygnał PWM o 100% cyklu pracy.

Wniosek

PWM w Arduino to technika lub metoda kontrolowania urządzeń analogowych za pomocą sygnałów cyfrowych. Wszystkie tablice Arduino mają piny PWM na pokładzie. 6 pin PWM jest obecnych w ONZ z ogółem 14 cyfrowych szpilków. Tutaj omówiliśmy, w jaki sposób możemy skonfigurować te piny za pomocą funkcji anogwrite () w Arduino Uno.