
Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05

Dnes vám ukážem, ako si vyrobiť zvonček pomocou Arduina. Tento zvonček hrá náhodnú melódiu z knižnice skladieb. Môžete si prispôsobiť svoj zvonček a pridať ešte viac skladieb. Nainštalujte ho mimo svoju spálňu, triedu, kanceláriu alebo dokonca predné dvere!
Zásoby:
- Arduino Uno (väčšina ostatných typov to zvládne)
- Počítač s Arduino IDE na programovanie
- Kábel USB-A na USB-B na programovanie Arduina
- Breadboard
- 4x prepojovacie vodiče
- Tlačidlo alebo iný spínač
- Rezistor 10 kOhm
- Pasívny bzučiak (t. J. Piezoelektrický reproduktor)
-
Pre trvalú inštaláciu:
- 9V DC napájací zdroj alebo 9V batéria na napájanie Arduina
- 2x dlhé vodiče na zapojenie tlačidla vonkajších dverí
Krok 1: Nastavenie hardvéru



Najprv nastavíme hardvér. Začneme pasívnym bzučiakom (t.j. reproduktorom). Chceme pripojiť kladný koniec pasívneho bzučiaka (označený znamienkom „+“) k digitálnemu pinu 8 na Arduine. Druhý koniec pasizačného bzučiaka spojíme so zemou.
Ďalej nainštalujeme tlačidlo zvončeka. Na prepínač použijeme externý pulldown odpor 10 kOhm, takže na vstupe do Arduina nie je žiadne plávajúce napätie alebo nestabilný stav. Použitím pulldown rezistora, Arduino číta napätie ako 0V, keď nie je tlačidlo stlačené a 5V, keď je tlačidlo stlačené. Ďalšie informácie o pullup alebo pulldown odpore nájdete v tomto článku:
Jednu stranu tlačidla zapojíme na 5V. Druhá strana tlačidla bude prepojená so zemou prostredníctvom pulzného odporu 10 kOhm. Nezabudnite: tlačidlá sú vnútorne vodorovne spojené. Pri stlačení sú spojené iba zvisle. Viac informácií je uvedených v tomto článku:
Krok 2: Nastavenie softvéru
Celý kód je priložený. Nasledujú popisy jednotlivých funkcií so snímkami kódu.
nastaviť:
Vo funkcii setup () chceme nakonfigurovať digitálne piny pre naše tlačidlo a reproduktor. Chceme nakonfigurovať pin 2 ako vstup pre naše tlačidlo a chceme nakonfigurovať pin 8 ako výstup pre náš reproduktor.
Chceme tiež „naočkovať“náš generátor náhodných čísel na náhodný výber melódie, keď nám niekto zazvoní pri dverách. Očkovanie nášho generátora náhodných čísel znamená nakŕmenie náhodného vstupu. Osadíme náš generátor náhodných čísel hodnotou napätia na analógovom vstupe 0. Pretože k tomuto vstupu nie je nič pripojené, na tomto kolíku bude „náhodné“kolísavé napätie, ktoré poskytne nášmu generátoru náhodných čísel mnoho rôznych hodnôt. To zaisťuje, že pre náš zvonček budeme mať iné poradie výberov piesní. Viac informácií o funkcii Arduino random () nájdete tu:
#include "pitches.h"
#include "songs.h" #define BUTTON_PIN 2 #define SPEAKER_PIN 8/ * nastaviť funkciu */void setup () {// povoliť vstupné/výstupné piny pinMode (BUTTON_PIN, INPUT); pinMode (SPEAKER_PIN, OUTPUT); // funkcia seed random (), aby sme dostali iný poriadok randomSeed (analogRead (0)); }
slučka:
V našej funkcii loop () budeme priebežne kontrolovať, či je tlačidlo stlačené (digitálny pin 2 je vysoký). Ak je kolík vysoký, počkáme 50 ms a znova skontrolujeme, či je stále vysoký. To zaisťuje, že je tlačidlo stlačené a na kolíku digitálneho vstupu nie je žiadny rušivý šum, ktorý spôsobuje falošne pozitívne výsledky.
Keď sme potvrdili, že bolo tlačidlo stlačené, použijeme generátor náhodných čísel na výber jednej z 5 skladieb pomocou príkazu switch. Údaje pre tieto piesne sú uložené v priečinku „Songs.h“a informácie o výške tónu sú uložené v priečinku „Pitches.h“. Keď si vyberieme skladbu, prenesieme tieto informácie do funkcie play_song ().
/ * funkcia main while loop */
void loop () {// skontroluje, či je stlačené tlačidlo if (digitalRead (BUTTON_PIN) == HIGH) {// oneskorenie 50 ms, aby sa ubezpečil, že je stále stlačené // vyhýba sa akémukoľvek zdržaniu nesprávneho čítania (50); if (digitalRead (BUTTON_PIN) == HIGH) {// náhodne vyberte skladbu int song_choice = random (5); // vyberte, ktorú skladbu chcete prehrať (song_choice) {prípad 0: play_song (haircutLength, haircut, haircutDurations, haircutTempo); prestávka; prípad 1: play_song (marioLength, mario, marioDurations, marioTempo); prestávka; prípad 2: play_song (miiLength, mii, miiDurations, miiTempo); prestávka; prípad 3: play_song (hpLength, hp, hpDurations, hpTempo); prestávka; prípad 4: play_song (takeonmeLength, takeonme, takeonmeDurations, takeonmeTempo); prestávka; predvolené: play_song (miiLength, mii, miiDurations, miiTempo); prestávka; }}}}
play_song:
play_song () má 4 argumenty: celočíselný počet tónov v skladbe, celočíselné pole výšok v melódii, celočíselné pole trvania a celočíselné tempo pre konkrétnu skladbu. Každý z nich musíte zadať pre každú skladbu, ktorú chcete hrať. Ďalšie informácie o tom, ako používať funkcie tónov Arduino, nájdete v tomto návode: https://www.arduino.cc/en/Tutorial/ToneMelody. Na začiatok tohto tutoriálu pre bodkované poznámky som pridal niektoré funkcie. Ak je hodnota v poli trvania poznámky záporná, znamená to, že ide o notu s bodkami (dĺžka je 1,5 -krát väčšia).
/ * hrá pieseň */
void play_song (int num_notes, int melody , int noteDurations , int tempo) {// krok a prehrajte všetky noty pre (int i = 0; i 0) {duration = tempo / noteDurations ; } // ak je to záporné číslo, znamená to, že bodkovaná poznámka // predlžuje trvanie na polovicu pre bodkované noty else if (noteDurations <0) {duration = tempo / abs (noteDurations ) * 1,5; } tón (SPEAKER_PIN, melódia , trvanie); // na rozlíšenie poznámok nastavte medzi nimi minimálny čas. // Zdá sa, že trvanie poznámky + 30% funguje dobre: int pauseBetweenNotes = trvanie * 1,30; oneskorenie (pauseBetweenNotes); // zastavenie prehrávania tónu: noTone (SPEAKER_PIN); }}
Ukážka skladieb.h:
Nasleduje ukážka jednej z piesní v piesni „Songs.h“. Poznámky sú makrá definované v "pitches.h". Čísla zodpovedajú frekvenciám tónov v hertzoch (Hz). Trvanie tónov je definované ako: 1 = celá nota, 2 = polovičná nota, 4 = štvrtinová nota, 8 = ôsma nota, -4 = bodkovaná štvrť nota atď. Dĺžka je celkový počet nôt v piesni. Tempo je deliteľom rýchlosti piesne (vyššie číslo znamená pomalšie tempo). S týmto číslom sa budete musieť pohrať, kým nezískate tempo, ktoré sa vám páči.
/ * harry potter */
int hp = {NOTE_D4, NOTE_G4, NOTE_AS4, NOTE_A4, NOTE_G4, NOTE_D5, NOTE_C5, NOTE_A4, NOTE_G4, NOTE_AS4, NOTE_A4, NOTE_F4, NOTE_GS4, NOTE_D4}; int hpDurations = {4, -4, 8, 4, 2, 4, -2, -2, -4, 8, 4, 2, 4, 1}; int hpLength = 14; int hpTempo = 1050;
Krok 3: Vylepšenia
Pridajte ďalšie piesne! Postupujte podľa formátu uvedeného v časti „songs.h“a pomocou pomocníka nájdete tento návod: https://www.arduino.cc/en/Tutorial/ToneMelody. Pri každej novej skladbe, ktorú pridáte, nezabudnite do príkazu switch pridať nové veľké a malé písmená a zvýšte maximálny počet, ktorý je možné vygenerovať pomocou funkcie random (). Šťastné kódovanie!
Krok 4: Viac projektov
Viac projektov nájdete na mojich stránkach:
- https://dargen.io/
- https://github.com/mjdargen
- https://www.instructables.com/member/mjdargen/
Odporúča:
Britský zvonček pre zvonček Pro pracujúci s mechanickým zvonkohrou: 6 krokov (s obrázkami)

Britský zvonček pre zvonček Pro pracujúci s mechanickým zvonkom: ************************************** *************** Vezmite prosím na vedomie, že táto metóda momentálne funguje iba s napájaním striedavým prúdom. Aktualizujem, ak/keď nájdem riešenie pre zvončeky pomocou jednosmerného prúdu Medzitým, ak máte jednosmerné napájanie zásobovanie, budete potrebovať
Ako vyrobíte bezdotykový zvonček, detekcia telesnej teploty, GY-906, 433 MHz pomocou Arduino: 3 kroky

Ako vyrobíte bezdotykový zvonček, detekcia telesnej teploty, GY-906, 433 MHz pomocou Arduino: Dnes vyrobíme bezdotykový zvonček, ktorý bude zisťovať vašu telesnú teplotu. V súčasnej situácii je veľmi dôležité vedieť, či je telesná teplota niekoho vyššia, ako je obvyklé, keď niekto klope. Tento projekt zobrazí červené svetlo, ak zistí akékoľvek
Premeňte svoj drôtový zvonček na inteligentný zvonček s IFTTT: 8 krokov

Premeňte svoj drôtový zvonček na inteligentný zvonček s IFTTT: Zvonček WiFi zmení váš existujúci drôtový zvonček na inteligentný zvonček. https://www.fireflyelectronix.com/product/wifidoor
Premeňte svoj drôtový zvonček na inteligentný zvonček s domácim asistentom: 6 krokov

Premeňte svoj drôtový zvonček na inteligentný zvonček s domácim asistentom: Premeňte svoj existujúci drôtový zvonček na inteligentný zvonček. Prijmite upozornenie na svoj telefón alebo spárujte s existujúcou kamerou predných dverí, aby ste dostali upozornenie na fotografiu alebo video vždy, keď niekto zazvoní na váš zvonček. Viac informácií nájdete na: fireflyelectronix.com/pro
Zvonček Arduino s meračom VU: 4 kroky (s obrázkami)

Zvonček Arduino s meračom VU: Základná myšlienka je - po stlačení tlačidla zvončeka začne rytmicky svietiť dióda spolu so zvukom bzučiaka a po čase sa dve udalosti automaticky zastavia. LED diódy môžu byť za dverami na pobavenie návštevníka alebo vo vnútri. V tomto som