Obsah:
Video: Metronom založený na mikrořadiči: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Metronom je načasovací zařízení, které hudebníci používají ke sledování úderů v písních a k rozvoji pocitu načasování mezi začátečníky, kteří se učí nový nástroj. Pomáhá udržovat smysl pro rytmus, který je v hudbě zásadní.
Zde vytvořený metronom lze použít k nastavení počtu úderů na takt a úderů za minutu. Jakmile jsou tato nastavovací data zadána, pípne podle údajů doprovázených odpovídajícím osvětlením pomocí LED diod. Data nastavení se zobrazí na LCD obrazovce.
Krok 1: Požadované součásti:
·
- Mikrokontrolér Atmega8A
- · 16*2 LCD displej
- · Piezo bzučák
- · LED diody (zelená, červená)
- · Rezistory (220e, 330e, 1k, 5,6k)
- · Tlačítka (2* protiblokovací, 1* zamykací)
- · 3V knoflíková baterie CR2032 (*2)
- Držák baterie na mince (*2)
- · 6pin konektor pro relimaci (polarizovaný)
Krok 2: Vytvoření obvodu
Proveďte zapojení obvodu podle obrázku na veroboardu a řádně pájejte
Krok 3: Vlastnosti metronomu
Rozhraní metronomu zabírá hlavně obrazovka LCD. Nad ním je mikrokontrolér 8A umístěn centrálně s LED diodami a bzučákem vpravo. Tři přepínače a konektor Relimate jsou umístěny nahoře.
Celý projekt je napájen pouze dvěma knoflíkovými bateriemi (v sérii při 6 V 220 mAh) s odhadovanou dobou provozu 20 dní až 1 měsíc (ne nepřetržitě). Proto je středně energeticky účinný a má proudový požadavek 3 - 5 mA.
Samosvorný spínač je umístěn zcela vlevo a je tlačítkem ON/OFF. Tlačítko uprostřed je tlačítko Nastavení a tlačítko napravo slouží ke změně hodnot tepů za minutu a tepů (za bar).
Když stisknete spínač ON/OFF, LCD se zapne a zobrazí hodnotu úderů na bar. Čeká 3 sekundy, než uživatel změní hodnotu, a poté vezme výslednou hodnotu jako vstup. Tato hodnota se pohybuje mezi 1/4, 2/4, 3/4, 4/4.
Poté zobrazí údery za minutu (bpm) a znovu čeká 3 sekundy, než uživatel změní hodnotu, po které nastaví konkrétní hodnotu. Tato doba čekání 3 sekundy je kalibrována poté, co uživatel změní hodnotu. Hodnoty tepů za minutu se mohou pohybovat od 30 do 240. Stisknutím tlačítka Nastavení během nastavení tepů za minutu resetujete jeho hodnotu na 30 tepů za minutu, což je užitečné při snižování počtu kliknutí na tlačítko. Hodnoty bpm jsou násobky 5.
Po dokončení nastavení se podsvícení LCD vypne, aby se šetřila baterie. Bzučák pípne jednou pro každý úder a LED diody blikají střídavě pro každý úder. Chcete -li změnit hodnoty, stiskněte tlačítko Nastavení. Poté se zapne podsvícení LCD a zobrazí se výzva k rytmu, jak již bylo zmíněno výše, se stejným postupem poté.
Mikrokontrolér Atmega8A se skládá z 500 bajtů paměti EEPROM, což znamená, že jakékoli hodnoty úderů a tepů za minutu zůstanou uloženy i po vypnutí metronomu. Proto jej znovu zapnete a obnovíte se stejnými daty, která byla zadána dříve.
Konektor Relimate je ve skutečnosti záhlaví SPI, které lze použít ke dvěma účelům. Lze jej použít k přeprogramování mikrokontroléru Atmega8A k aktualizaci jeho firmwaru a přidání nových funkcí do metronomu. Za druhé, k napájení metronomu pro hardcore uživatele lze také použít externí napájecí zdroj. Tento napájecí zdroj však nesmí být větší než 5,5 voltů a má přednost před vypínačem ON/OFF. Z bezpečnostních důvodů MUSÍ být tento vypínač vypnutý, aby se externí napájení nezkratovalo s vestavěnými bateriemi.
Krok 4: Popis
Tento projekt je vytvořen pomocí mikrokontroléru Atmel Atmega8A, který je naprogramován pomocí Arduino IDE přes Arduino Uno/Mega/Nano používané jako ISP programátor.
Tento mikrokontrolér je méně oblíbenou verzí Atmel Atmega328p, který se v Arduino Uno hojně používá. Atmega8A obsahuje 8 kB programovatelné paměti s 1 kB RAM. Jedná se o 8bitový mikrokontrolér běžící na stejné frekvenci jako 328p, tj. 16 MHz.
V tomto projektu, protože aktuální spotřeba je důležitým aspektem, byla taktovací frekvence snížena a je použit interní oscilátor 1 Mhz. To výrazně snižuje současný požadavek na přibližně 3,5 mA při 3,3 V a 5 mA při 4,5 V.
Arduino IDE nemá možnost programovat tento mikrokontrolér. Proto byl nainstalován balíček (plugin) „Minicore“pro spuštění 8A s jeho vnitřním oscilátorem pomocí zavaděče Optiboot. Bylo zaznamenáno, že požadavek na výkon projektu rostl s rostoucím napětím. Z důvodu optimálního využití energie byl mikrokontrolér nastaven tak, aby běžel na 1 MHz s jedinou 3V mincovou baterií, která čerpala pouze 3,5 mA. Bylo však pozorováno, že LCD nefunguje správně při tak nízkém napětí. Proto bylo použito rozhodnutí použít dvě mincové baterie v sérii, aby se napětí zvýšilo na 6V. To však znamenalo, že se současná spotřeba zvýšila na 15 mA, což byla obrovská nevýhoda, protože životnost baterie by byla velmi špatná. Také překročila bezpečnou mez napětí 5,5 V mikrokontroléru 8A.
Proto byl odpor 330 ohmů zapojen do série s napájením 6 V, aby se tento problém zbavil. Rezistor v zásadě způsobí pokles napětí přes sebe, aby se snížila úroveň napětí v rozmezí 5,5 V, aby bezpečně spustil mikrokontrolér. Navíc byla hodnota 330 zvolena s přihlédnutím k různým faktorům:
- · Cílem bylo spustit 8A na co nejnižší napětí, aby se ušetřila energie.
- · Bylo pozorováno, že LCD přestal fungovat pod 3,2 V, přestože mikrokontrolér stále fungoval
- · Tato hodnota 330 zajišťuje, že poklesy napětí v extrémech jsou přesně přesné, aby bylo možné plně využít mincovní baterie.
- · Když byly knoflíkové články na svém vrcholu, napětí se pohybovalo kolem 6,3 V, přičemž 8A dostalo efektivní napětí 4,6 - 4,7 V (@ 5mA). A když byly baterie téměř vyschlé, napětí se pohybovalo kolem 4 V u 8 A a LCD přijímalo jen dostatečné napětí, tj. 3,2 V, aby fungovalo správně. (@3,5mA)
- · Pod úrovní 4v baterií byly skutečně zbytečné, aniž by zbyla šťáva k napájení čehokoli. Pokles napětí na rezistoru se mění po celou dobu, protože spotřeba proudu mikrokontroléru 8A a LCD se snižuje s redukčním napětím, které v podstatě pomáhá prodloužit životnost baterie.
16*2 LCD byl naprogramován pomocí vestavěné knihovny LiquidCrystal z Arduino IDE. Využívá 6 datových pinů mikrokontroléru 8A. Jeho jas a kontrast byl navíc řízen pomocí dvou datových pinů. To bylo provedeno tak, aby se nepoužil další komponent, tj. Potenciometr. Místo toho byla k nastavení kontrastu obrazovky použita funkce PWM datového kolíku D9. Také podsvícení LCD muselo být vypnuto, když to není vyžadováno, takže by to nebylo možné bez použití datového kolíku k napájení. K omezení proudu přes LED podsvícení byl použit odpor 220 ohmů.
Buzzer a LED diody byly také připojeny k datovým pinům 8A (jeden pro každý). K omezení proudu přes červenou LED byl použit odpor 5,6 k ohmů, pro zelenou 1 k ohm. Hodnoty odporu byly zvoleny získáním sladkého bodu mezi jasem a spotřebou proudu.
Tlačítko ON/OFF není připojeno k datovému kolíku a je to jednoduše přepínač, který přepíná projekt. Jeden z jeho terminálů se připojuje k odporu 330 ohmů, zatímco druhý se připojuje k pinům Vcc LCD a 8A. Další dvě tlačítka jsou připojena k datovým pinům, které jsou interně vytaženy nahoru na napájecí napětí pomocí softwaru. To je nezbytné pro fungování spínačů.
Datový pin, ke kterému se připojuje tlačítko Nastavení, je navíc pinem přerušení hardwaru. Jeho rutina služby přerušení (ISR) je aktivována v Arduino IDE. To znamená, že kdykoli chce uživatel spustit nabídku nastavení, 8A pozastaví svou současnou operaci práce jako metronom a spustí ISR, který v podstatě aktivuje nabídku Nastavení. V opačném případě by uživatel nemohl vstoupit do nabídky Nastavení.
Výše zmíněná možnost EEPROM zajišťuje, že zadaná data zůstanou uložena i po vypnutí desky. A hlavička SPI obsahuje 6 pinů - Vcc, Gnd, MOSI, MISO, SCK, RST. Toto je součást protokolu SPI a jak již bylo zmíněno dříve, programátor ISP lze použít k opětovnému naprogramování 8A pro přidání nových funkcí nebo čehokoli jiného. Kolík Vcc je izolován od kladného pólu baterie, a proto Metronome poskytuje možnost použít externí napájecí zdroj s ohledem na výše uvedená omezení.
Celý projekt byl zkonstruován ve Veroboardu pájením jednotlivých součástek a příslušných zapojení podle schématu zapojení.
Doporučuje:
Hlasově řízený raketomet Launcher založený na Alexě: 9 kroků (s obrázky)
Alexa Based Rocket Launcher: Jak se blíží zimní sezóna; přichází to období roku, kdy se slaví svátek světel. Ano, mluvíme o Diwali, což je skutečný indický festival oslavovaný po celém světě. Letos už Diwali skončil a vidět lidi
Telegramový robot založený na ESP32: 7 kroků
Telegram Bot založený na ESP32: Telegram je o svobodě a otevřených zdrojích, oznámil v roce 2015 nové rozhraní Telegram bot API, které umožnilo třetím stranám vytvořit telegramové roboty pro ESP32, které jako hlavní komunikační rozhraní využívají aplikaci pro zasílání zpráv. To znamená, že jsme
Telefon založený na Arduinu (prototyp): 7 kroků
Telefon založený na Arduinu (prototyp): Dobrý den, dnes se v tomto instruktážním videu podíváme na telefon založený na Arduinu. Jedná se o prototyp telefonu, který je stále ve vývoji. Zdrojový kód je opensource, kdokoli může kód upravit. Funkce v telefonu: 1. Hudba 2. Videa 3
Automatický vnitřní skleník založený na Ikea Socker: 5 kroků
Automatický vnitřní skleník založený na Ikea Socker: Ahoj, toto je můj první pokyn. Díky této komunitě jsem se hodně naučil a myslím, že je na čase vrátit své skromné nápady. Omlouvám se za svou angličtinu, je chudá, ale udělám vše, co bude v mých silách. Cílem bylo vytvořit deskopský skleník, který mi umožní pěstovat semena a
Převodník založený na Esp8266 s úžasným uživatelským rozhraním Blynk s regulátorem zpětné vazby: 6 kroků
Převodník založený na Esp8266 s úžasným uživatelským rozhraním Blynk s regulátorem zpětné vazby: V tomto projektu vám ukážu účinný a běžný způsob, jak zvýšit stejnosměrné napětí. Ukážu vám, jak snadné může být sestavení boost převodníku pomocí Nodemcu. Pojďme to postavit. Obsahuje také voltmetr na obrazovce a zpětnou vazbu