Szukałem w moim Arduino Uno i zauważyłem, że symbol za pomocą sworzni cyfrowych 11
, 10
, 9
, 6
, 5
, i 3
. Co to znaczy? Czy to wpływa na sposób działania? Czy nie mogę używać tych pinów w pewnych sytuacjach?
arduino
pins
pwm
digital-logic
Anonimowy pingwin
źródło
źródło
Odpowiedzi:
Zrelaksować się. Nie martw się Piny te są wywoływane
PWM
i są takie same jak inne piny, z tym wyjątkiem, że mają „dodatkową premię”.Niektóre zastosowania ze strony Arduino :
Jak to działa:
Piny PWM są kontrolowane przez wbudowane timery, które automatycznie przełączają piny z częstotliwością około 490 Hz. „Modulacja szerokości impulsu” (PWM) określa, jak długo pin pozostaje włączony lub wyłączony dla jednego cyklu tej częstotliwości. Może to przyciemnić diodę LED, dając iluzję, że ma połowę jasności jak poprzednio, gdzie naprawdę bardzo szybko miga.
Gdy cykl pracy wynosi 25%, trwa on jedną czwartą czasu. Jeśli użyłeś diody LED, wyglądałaby na około 1/4 jako jasna [daj lub bierz]. (Uwaga: jak niektórzy zauważyli, nie jest to tak naprawdę proporcjonalne, ale zostawmy to w ten sposób dla uproszczenia. EX: 25% nie zawsze jest o 1/4 jasności.)
(Jeśli jesteś naprawdę inteligentny, prawdopodobnie możesz dodać kondensator, aby był również wyjściem analogowym).
Jak użyć tych pinów do wyjścia:
Najpierw musisz zdefiniować pin jako wyjście. Następnie używasz go,
analogWrite(ledPin, 128);
aby go uruchomić. JestledPin
to pin PWM, który chcesz uruchomić PWM i128
powinien zostać zastąpiony numerem pomiędzy0
i255
;0
:0% duty cycle
(Obraca sworzeń całkowicie wyłączony) i255
:100% duty cycle
. (całkowicie włącza pin)Źródło: http://www.arduino-tutorials.com/arduino-pwm/
Dlaczego nie mogę tak szybko włączyć i wyłączyć światła w moim kodzie ?:
Technicznie możesz jednak mieć pewne problemy:
Tak naprawdę nie zrobi to żadnej różnicy, jeśli jedynym celem Arduino jest generowanie sygnałów PWM. Jeśli jednak włączysz jakieś opóźnienia dłuższe niż 50 MS w głównej pętli, zepsuje to taktowanie. Przy podejściu programowym chciałbyś wyeliminować wszelkie funkcje „opóźnienia”, ponieważ Arduino działa tylko na jednym wątku (może zrobić tylko jedną rzecz na raz). Jeśli wiesz, co robisz, nie będzie to miało większego wpływu na ściemnianie światła, ale jeśli masz dodatkowy pin z PWM, po prostu marnujesz czas na podejście programowe.
Jak zauważyli inni:
Nadal potrzebujesz rezystora dla swoich obwodów, aby ograniczyć prąd i napięcie. Nie możesz tego pominąć.
źródło
Powszechnym nieporozumieniem na temat styków PWM jest to, że podczas korzystania z PWM nie jest konieczne stosowanie rezystorów ograniczających prąd (na przykład z diodami LED).
To nie jest prawda. Piny PWM należy traktować jak piny cyfrowe, które są włączane i wyłączane automatycznie. Oznacza to, że przechodzą na to samo WYSOKIE napięcie, jak każdy z pozostałych pinów.
Korzystając z diod LED z PWM, nadal musisz używać rezystorów ograniczających prąd. Używając silników z PWM, powinieneś (prawie zawsze) używać tranzystora.
źródło