Čas na další součástku! Tentokrát to bude servomotor.
Servomotor je součástka, která má v sobě zabudovaný ovladač, se kterým si naše zařízení může povídat jednoduchým „elektronickým jazykem” – protokolem. Motorku můžeš posílat impulzy a podle délky impulzu se servomotor natočí. Při krátkých impulzech se natočí víc na jednu stranu, při dlouhých na druhou. Impulzy musíš posílat neustále, jinak se servomotor vypne.
K servomotorku se dodávají různé nástavce, kterými se pak připojují otáčené věci. Pro začátek si vezmi „pacičku“ která čouhá na jednu stranu a nasaď ji na motorek. Nástavec se pak dá se připevnit šroubkem, ale na první experimenty to nebude potřeba.
Na rozdíl od bzučítka, kde o výšce tónu rozhodovala
frekvence (freq
) – kolikrát za vteřinu
se ozve lupnutí – a LED, kde o intenzitě rozhodovala
střída (duty
) – poměr mezi dobou kdy
dioda svítí a kdy nesvítí – u servomotoru rozhoduje
tzv. šířka pulzu: jak dlouho se napětí udrží
na 3,3 V než se přepne zpátky na 0 V.
V praxi to znamená, že můžeš nastavit freq
na 50 Hz, a duty
měnit cca od 35
(úplně vlevo) přes 77 (uprostřed) po 120 (úplně vpravo).
Dost ale teorie, pojďme si to vyzkoušet! Napřed musíš motorek zapojit:
G
,3V
aD4
.Nožička D4
odpovídá Pin(2)
, takže kód k otáčení motorku je:
from machine import Pin, PWM
pin_motorku = Pin(2, Pin.OUT)
pwm = PWM(pin_motorku, freq=50, duty=77)
pwm.duty(35)
Zkus motorkem otáčet nastavováním duty
na 35 do 120.
Kdyby se náhodou stalo, že se modul restartuje a
konzole přestane fungovat, zkus ho odpojit a znovu
připojit. Kdyby to nepomohlo, motorek ti dneska
nebude fungovat. Za chvíli si řekneme proč; zatím (jsi-li na kurzu)
se přidej do dvojice k někomu, komu to funguje.
K tomu, aby se otočil motor, je potřeba mnohem víc energie než k rozsvícení světýlka. Z USB z počítače té energie dostaneš docela málo, proto můžou být s motorkem problémy.
Jak to řešit, až si přestaneš hrát a budeš chtít motorkem otáčet „doopravdy”?
Servo a destičku můžeš napájet zvlášť: například servo z baterií a destičku dál z USB. V tomhle případě je důležité:
GND
na destičce,
hnědý drát servomotoru, -
baterie).Zapojení pak bude následující:
-
baterie na hnědý drátek serva (zem) a zároveň na GND
desky+
baterie na červený drátek serva (napájení)D4
desky na oranžový drátek serva (data)