Raspberry Pi Pico je levná deska mikrokontroléru, která začátečníkům usnadňuje začít s elektronickými projekty a naučit se kódovat.
V tomto projektu se naučíte číst analogový signál z potenciometru a převádět jej na PWM (pulzně-šířková modulace) signál pro manipulaci s frekvencí nebo tónem bzučáku pomocí MicroPythonu kód.
Jaké díly jsou potřeba?
Tento projekt je založen na Kitronik Inventor's Kit pro Raspberry Pi Pico. Všechny požadované elektronické součástky jsou součástí sady; toto jsou však běžné součásti, které se vám mohou povalovat:
- Piezo prvek bzučák
- Otočný potenciometr
- 7x propojovací vodiče samec-samec
- Raspberry Pi Pico s pájené kolíky hlavičky GPIO
- Breadboard
Pokud s modulací šířky pulzu (PWM) a potenciometry teprve začínáte, podívejte se nejprve na našeho průvodce na jak používat potenciometr s vaším Raspberry Pi Pico, který nastiňuje, jak jej použít k nastavení jasu LED s PWM.
Požadovaná montáž
Jeden propojovací vodič (na fotografii žlutý) spojuje levou stranu potenciometru s kladnou (+) kolejnicí prkénka. Další propojovací kabel spojuje pravou stranu potenciometru se zápornou (-) stranou kontaktního pole. Ze středního kolíku potenciometru budete muset vést propojovací kabel ke kolíku GP26/A0 na Pico.
Piezo bzučák bude muset mít jeden vodič vedoucí od jeho záporné nohy k záporné kolejnici na prkénko a pak další připojení od kladné nohy k kolíku GP15 na Raspberry Pi Pico.
Budete také muset vést propojovací kabel z kolíku GND na Pico k záporné kolejnici na prkénku, abyste jej uzemnili. Další propojovací kabel propojí kolík 3V3 Out na Pico s kladnou kolejnicí na prkénku, aby napájel komponenty.
Vytvořte kód
Kód můžete získat z MUO GitHub úložiště. Stáhněte si soubor MicroPython s názvem piezo-buzzer.py a poté jej nahrajte do vašeho Pico přes USB připojený počítač s Thonny IDE. Podívejte se, jak na to začněte s MicroPythonem na Raspberry Pi Pico pro detaily.
Různé části kódu dělají následující:
- Nahoře importujeme požadované stroj, matematika, a čas Moduly MicroPython.
- A bzučák proměnná je pak přiřazena k pinu GP15 jako PWM výstup.
- A potenciometr proměnná je přiřazena analogově-digitálnímu převodníku (ADC) na pinu Pico GP26/A0.
- Definujeme a měřítko() funkce, která využívá matematické funkce k převodu rozsahu pohybu potenciometru na výstup pro bzučák.
- The zatímco: Pravda nekonečná smyčka přečte vstup potenciometru a poté použije měřítko funkci pro jeho převod. Po kontrole, že se oproti předchozí frekvenci příliš nezměnila, pak odešle vypočítanou frekvence do bzučáku pomocí PWM (pulzně-šířková modulace).
Stručně řečeno, za sekundu jsou vysílány stovky pulzů a tón bzučáku se bude posouvat mezi 120 Hz a 5 kHz, když se potenciometr otáčí ve směru nebo proti směru hodinových ručiček. Otáčením potenciometru se mění napětí, které je čteno analogovým vstupním pinem Pico, který se zase používá k nastavení frekvence bzučáku pomocí PWM.
Spusťte kód z Thonny (klikněte na ikonu přehrávání nebo stiskněte F5 na klávesnici) a vyzkoušejte si to sami. Ovlivní nějaké změny kódu po prvním spuštění fyzické výsledky? Například, co se stane, když změníte rozsah (0 až 65535)? Tato část kódu se nachází hned níže zatímco pravda: Kde frekvence je definováno.
Nastavení tónu
Pokud se cítíte dobrodružně, můžete zkusit pomocí bzučáku generovat hudební tóny pomocí martinkooij pi-piko-tóny knihovna na GitHubu. Ve výchozím nastavení bude tato knihovna generovat sinusové vlny; čtyři tónové generátory mohou běžet na čtyřech různých pinech Pico, jak si můžete vybrat. Všimněte si, že tento projekt je založen na C++ s použitím Raspberry Pi Pico SDK, spíše než MicroPython, ale úplné pokyny jsou uvedeny v souboru readme GitHubu.
Buzz of Pico Electronics
Gratulujeme: naučili jste se číst analogový vstup z potenciometru a převádět jej na signál PWM pro ovládání tónu bzučáku. Potenciometr je všestranné vstupní zařízení pro elektroniku. Piezo bzučák je další užitečnou součástí: přidáním infračerveného pohybového senzoru PIR můžete například detekovat přítomnost narušitelů a spustit poplach.