Vytvořte si hru s drátem Buzz s Arduino

  • Joseph Goodman
  • 0
  • 2706
  • 659
reklama

V tomto zábavném projektu se naučíme, jak si s Arduino vyrobit hru s bzučíkem. Mnoho potřebných dílů lze najít v sadě startérů (co je v sadě startérů Co je součástí sady startérů Arduino? [MakeUseOf vysvětluje] Co je součástí sady startérů Arduino? [MakeUseOf vysvětluje] Předtím jsem představil otevřený Arduino zdrojový hardware zde na MakeUseOf, ale budete potřebovat více než jen skutečný Arduino, aby z něj něco vytvořili a vlastně začít. Arduino "startovací sady" jsou ...?) a kolem domu. Tento projekt používá Arduino, i když byste mohli použít téměř jakýkoli mikrokontrolér, který máte kolem (podívejte se na toto srovnání mezi $ 5 mikrokontroléry $ 5 Microcontrollers: Arduino, Raspberry Pi Zero nebo NodeMCU? $ 5 Microcontrollers: Arduino, Raspberry Pi Zero nebo NodeMCU? Bývalo to tak, že pokud byste chtěli získat počítač, museli byste si za něj zaplatit dům, aby jste za něj zaplatili. Nyní můžete získat jednu pro Abraham Lincolna..

Podívejte se na konečný výsledek - přehrává dokonce hudbu:

Co potřebuješ

Zde jsou hlavní části, které budete potřebovat k dokončení tohoto projektu:

  • 1 x Arduino UNO nebo podobné.
  • 1 x kovový věšák.
  • Rezistory 2 x 220 ohmů.
  • 1 x prkénko.
  • 1 x piezový bzučák.
  • 2 x krokosvorky.
  • Různé smršťovací trubičky.
  • Propojovací dráty od muže k muži.

Zde jsou některé volitelné součásti, které vylepšují sestavení:

  • 1 x přídavný piezoelektrický bzučák.
  • 1 x hmoždinka.
  • 1 x čtyřsegmentový displej.
  • 1 x 220 ohmový rezistor.
  • 1 x okamžité tlačítko.
  • Připojovací dráty od samců k ženám.
  • Dřevěné prkno (pro případ).
  • Různé šrouby ze dřeva.

Téměř každý Arduino bude fungovat, pokud má dostatek kolíků. Podívejte se na tohoto průvodce nákupem Průvodce nákupem Arduino: Kterou desku byste měli získat? Průvodce nákupem Arduina: Kterou desku byste měli získat? Je tam tolik různých druhů desek Arduino, bylo by vám odpuštěno, že jste zmatení. Které byste si měli koupit pro svůj projekt? Pomozte nám s tímto nákupním průvodcem Arduino! pokud si nejste jisti, co potřebujete.

Plán sestavení

I když to může vypadat komplexně, je to vlastně docela jednoduchý projekt. Začnu základní hrou a poté přidám další komponenty pro zvýšení složitosti. Můžeš “vybrat a vybrat” jak chcete, v závislosti na dostupných komponentách.

Jádro mechanik se skládá z tvaru drátu a smyčky na rukojeti. Hráč musí vést smyčku kolem hřiště, aniž by se oba dotkli. Pokud se dotyk dotkne, obvod je dokončen a zazní bzučák. Je samozřejmě možné postavit tento obvod pomocí mikrokontroléru, ale kde je v tom legrace (a jak jinak byste si poslechli Monty Python's “Létající cirkus” tematická píseň)?

Kurz

Toto je tvar, který bude hráč muset vést kolem své smyčky. Je to základ celé hry, takže je dobré! Rozhodl jsem se pro malou kapku následovanou velkým stoupáním. Ohněte kovový věšák do požadovaného tvaru. Mosazný drát nebo měděná trubka bude fungovat stejně dobře, ačkoli ramínko na šaty může být nejlevnější.

Možná budete muset nosit rukavice a používat kleště nebo kladivo, abyste dosáhli dokonalého stavu. Případné přebytky odstřihněte pomocí sekaček. Nechte dva svislé sloupky protlačit základnou. Chcete-li bezpečně podat řezané konce. Nakonec nařežte dva kousky smršťovací hadičky a umístěte je přes konce takto:

To izoluje smyčku od kurzu a poskytuje start / konec nebo bezpečnostní zónu. Alternativně, páska nebo dokonce sláma udělá, pokud nemáte žádné teplo smršťovací hadičky.

Nyní připojte kabel jeden konec samozřejmě. Zde máte dvě možnosti: můžete buď pájet, nebo použít krokosvorku. Krokodýl klip je snadnější volba, ale pájení je spolehlivější a dlouhodobá možnost. Určitě “zdrsnit” povrch věšáku na kabiny nejprve brusným papírem a použijte velké množství tavidla. (Nikdy nepájené dříve? Naučte se, jak se sem Naučte, jak se pájet, s těmito jednoduchými tipy a projekty Naučte se, jak se pájet, s těmito jednoduchými tipy a projekty Jste trochu zastrašeni myšlenkou na horké železo a roztavený kov? Pokud chcete Chcete-li začít pracovat s elektronikou, musíte se naučit pájet. Pomozte nám.)

V závislosti na velikosti otvoru, který vyvrtáte v základně v dalším kroku, budete možná muset nejprve zavést kabel přes montážní otvor. Použití dvou zkroucených vodičů zvýší trvanlivost:


Použití vrtačky k tomu hodně pomáhá:

Základna

Je čas vytvořit základnu. Slouží k udržení kurzu ve svislé poloze a také k zajištění místa, kam lze elektroniku ukotvit. Použil jsem několik výřezů borovic, i když můžete použít cokoli, co máte po domě - dokonce i krabici.

Vystřihněte tři kusy a vytvořte “n” tvar. Jednoduše přišroubujte (nebo přilepte) tyto tři kusy dohromady. Nezapomeňte nejprve vyvrtat pilotní díru do bočních dílů, abyste zabránili jejich rozdělení. Možná budete chtít zahlubit šrouby (zvláště pokud budete plnit a pak malovat), a vřele doporučuji zahlubovací vrták. Pokud nemáte zahlubovací nástroj nebo vrtání, vrták o větším průměru provede trik.

Vyvrtejte dvě díry dostatečně daleko od sebe, aby konce tratě seděly. Spodní strana zahloubení připravena k nalepení.

Držadlo


Nyní je čas vytvořit smyčku / řadič. Otočte malý kus ramínka na jednom konci a vytvořte smyčku s malou kovovou rukojetí. Ujistěte se, že jste ořízli hranu, a pokud je to nutné, zakryjte ji páskou / pěnou.


Tím se vytvoří druhá polovina okruhu - když se tato smyčka dotkne kurzu, dokončí okruh (přesně jako vypínač). Pájet (nebo použít krokosvorku) další drát na dno tohoto, přesně stejný jako předtím..

Odřízněte malou délku hmoždinky pro skutečnou rukojeť. Tato kovová smyčka se zasune do této rukojeti. Pokud nemáte žádný kolík, můžete zaokrouhlovat kus čtvercového měkkého dřeva pomocí brusky nebo kotoučové brusky (můžete také použít brusný papír, ale trvalo by to dlouho).

Přes tuto rukojeť vyvrtejte díru. To musí být dostatečně velké, aby se vešlo do kovové smyčky a drátu:


To je možné udělat na pilířovém vrtáku, i když je to složité. Soustruh bude dělat svou práci dokonale:

Ano, jsem si docela dobře vědom, že se jedná o kovový soustruh (pro kohokoli, kdo má zájem, je to soustruh hodinek Boley z 30. let. Myslím, že je to 3C, ale rád bych od vás slyšel, pokud o něm víte víc).

Můžete také použít kuličkové pero s odstraněným středem.

Nakonec pomocí horkého lepidla zajistěte kabel a smyčku do rukojeti. Horké lepidlo poskytne silné (ale ne trvalé) příslušenství, takže je pro to ideální.

Dokončení vypnuto

Vložte drátu drátu do otvorů v základně. Nezapomeňte nejprve přidat smyčku / řadič. Použijte horké lepidlo znovu k zajištění kurzu k základně vyplněním zapuštěných otvorů na spodní straně základny takto:

Okruh

Tady je plný okruh. Nemusíte dělat tak složité jako toto - čtěte dále, jak rozdělujeme jednotlivé části.


Nejprve připojte dva piezo prvky k digitálním pinům 10 a 11. Nezáleží na polaritě:


Nemusíte používat dva piezos - jediný důvod, proč jsem to udělal, je mít mnohem hlasitější bzučivý zvuk, když se dráty dotknou. Připojte jednu stranu k digitálnímu kolíku a druhou k zemi.

Nyní zapojte kovový předmět a kliky:


Opět nezáleží na tom, jakým způsobem jsou tyto dva zapojeny. Tato část okruhu je přesně jako tlačítko nebo přepínač - hráč dokončí obvod, když se smyčka dotkne kurzu. Ujistěte se, že jste zahrnuli oba odpory.

Jeden rezistor připevňuje obvod k zemi (nazývá se pull-down rezistor) a zajišťuje, že tomu tak není “plovoucí” (to umožňuje Arduino detekovat změnu obvodu). Druhý rezistor chrání Arduino. Když se obě části dotknou, + 5V přejde do digitálního kolíku. Pokud by tento rezistor nebyl přítomen, došlo by k zkratu - váš počítač by odpojil zásuvku USB, aby bylo možné načíst příliš mnoho proudu pokud máš štěstí.

Připojte signální kabel (fialový, na obrázku) k digitálnímu kolíku 9.

Poté připojte tlačítko k digitálnímu kolíku 2:

Nakonec připojte sedmisegmentový LED displej:


Tento konkrétní model je od společnosti Seeed. To používá TM1637 k ovládání čtyř displejů - to znamená, že jsou potřeba pouze dva digitální kolíky. Připojit GND na půdu Arduino a VCC na Arduino + 5V. Připojit D10 na Arduino digitální pin 13 a CLK na digitální pin 12.

Kód

Aby tento projekt fungoval, budete potřebovat dva další soubory. První se nazývá pitches.h. Tento soubor jednoduše mapuje názvy poznámek na jejich piezo hodnotu. Díky tomu můžete mnohem snadněji napsat melodii, jak můžete jednoduše říci “NOTE_C3” spíše než “31”, například. Toto je veřejné dílo a je k dispozici na webových stránkách Arduino zde. Postupujte podle pokynů a vytvořte nový soubor s názvem pitches.h (alternativně vložte kód do existujícího skriptu).

Dále budete potřebovat metodu pro skutečné hraní not / melodií na piezo. Tento klíč Anthony DiGirolamo na Githubu obsahuje kód, který potřebujete. Kopírovat vše mezi “neplatné buzzy” a “” a vložte jej do hlavního souboru. Pro informaci zde je:

void buzz (int targetPin, dlouhá frekvence, dlouhá délka) / * Příklad funkce bzučáku Rob Faludi http://www.faludi.com https://gist.github.com/AnthonyDiGirolamo/1405180 * / dlouhé zpožděníValue = 1000000 / frekvence / 2; // vypočítat hodnotu zpoždění mezi přechody / / / 1 sekundy v hodnotě mikrosekund, děleno frekvencí, pak rozdělit na polovinu, protože / / / / existují dvě fáze pro každý cyklus dlouhé numCycles = frekvence * délka / 1000; // spočítejte počet cyklů pro správné načasování //// násobte frekvenci, což je skutečně cyklus za sekundu, počtem sekund, na které / /// získáte celkový počet cyklů, za které budete produkovat (dlouhý i = 0; i < numCycles; i++) // for the calculated length of time… digitalWrite(targetPin,HIGH); // write the buzzer pin high to push out the diaphragm delayMicroseconds(delayValue); // wait for the calculated delay value digitalWrite(targetPin,LOW); // write the buzzer pin low to pull back the diaphragm delayMicroseconds(delayValue); // wait again for the calculated delay value  

Poslední knihovna, kterou potřebujete, je ovládání sedmisegmentového displeje - tento krok můžete přeskočit, pokud jej nepoužíváte. Tato knihovna se nazývá TM1637 a byla vytvořena společností Seeed, stejnou společností, která vytvořila desku ovladačů.

V Arduino IDE přejděte na “Správa knihoven” (Skica > Zahrnout knihovnu > Správa knihoven). Tím se otevře správce knihovny. Nechte jej několik sekund aktualizovat a poté hledejte v pravém horním vyhledávacím poli “TM1637”. Budou nalezeny dvě knihovny - chcete “TM1637” a ne “TM1637Display”. Vyberte a poté klepněte na “Nainstalujte”.

Poslední úkol v této knihovně - není dokončen! V současné době může knihovna zobrazovat pouze čísla 0-9 a písmena A-F. Pokud se to týká všeho, co chcete zobrazit, můžete tento krok přeskočit. Pokud ne, budete muset kód upravit. Relaxovat! Není to tak těžké, jak to zní, a pokud můžete psát kód pomocí Arduino IDE, můžete to udělat.

Nejprve otevřete složku knihovny. Toto bude ve vaší složce Arduino. V systému Mac OS X je to v systému / Uživatelé / Joe / Dokumenty / Arduino / Knihovny. Otevřete složku s názvem TM1637. Budete muset upravit název souboru TM1637.cpp - můžete bezpečně ignorovat další soubor s příponou .h. Otevřete tento soubor ve svém oblíbeném textovém editoru (pro mě je to Sublime Text 3), Poznámkový blok nebo Arduino IDE.

Upravte třetí řádek kódu z tohoto:

statický int8_t TubeTab [] = 0x3f, 0x06,0x5b, 0x4f, 0x66,0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77,0x7c, 0x39,0x5e, 0x79,0x71; // 0 ~ 9, A, b, C, d, E, F

K tomuto:

statický int8_t TubeTab [] = / * výchozí hodnoty * / 0x3f, // 0 0x06, // 1 0x5b, // 2 0x4f, // 3 0x66, // 4 0x6d, // 5 0x7d, // 6 0x07, / / 7 0x7f, // 8 0x6f, // 9 0x77, // A - 10 0x7c, // b - 11 0x39, // C - 12 0x5e, // d - 13 0x79, // E - - 14 0x71, // F - 15 / * další * / 0x174, // h - 16 0x176, // H - 17 0x138, // L - 18 0x15, // M - 19 0x137, / / n - 20 0x73, // P - 21 0x67, // q - 22 0x131, // r - 23 0x78, // t - 24 0x240 // - 25;

Nyní můžete tento soubor uložit a zavřít. Po každém prvku komentář popisuje, o jaký znak jde. Další částí komentáře je index prvku.

Je čas na skutečný kód. Nejprve zahrňte dvě výše uvedené knihovny:

#include #include 

Nyní vytvořte objekt zobrazení:

TM1637 * _display = nový TM1637 (12, 13);

Nebojte se, pokud nerozumíte syntaxi - tento řádek říká Arduino, že piny 12 a 13 jsou připojeny k sedmisegmentovému displeji a aby je správně nakonfigurovaly.

Skladba je uložena v melodie a tempo. Obsahují všechny noty a délku noty pro hudbu. Pokud byste chtěli změnit hudbu, upravte tato pole (ačkoli to není tak jednoduché jako vkládání do hodnot not, načasování je velmi důležitou součástí hudby). songState proměnná jednoduše ukládá pozici poslední hrané noty. Tím je zajištěno, že se melodie hraje od začátku do konce a ne nekonzistentně skáká kolem:

int songState = 0; int melodie [] = NOTE_F4,… tempo int [] = 8,…

Všimněte si, že jsem odstranil obsah polí, plný kód viz níže.

Tento kód neblokuje - to znamená, že Arduino může provádět více úkolů současně. Podívejte se na toto vysvětlení Arduino Delay Function a proč byste ho neměli používat Arduino Delay Function a proč byste neměli používat Zatímco delay () je užitečné pro základní demonstrace toho, jak Arduino funguje, neměli byste být použití ve skutečném světě. Zde je proč a co byste měli místo toho použít. Pro více informací. Takto jsou nastaveny časovače:

nepodepsané dlouhé předchozíMillis1 = 0; const dlouhý interval1 = 1500;

Proměnná previousMillis1 bude aktualizován později, aby se uložil aktuální čas. interval1 proměnná ukládá, jak dlouho čekat mezi spuštěním kódu - v tomto případě 1,5 sekundy. Je definován jako konst, což znamená, že je konstantní a nikdy se nezmění - to umožňuje Arduino dále optimalizovat kód.

Uvnitř založit() funkce se děje několik věcí. Nejprve jsou nastaveny vstupy a výstupy. To musí být provedeno, takže Arduino ví, co je spojeno s každým z jeho kolíků:

pinMode (9, INPUT); // nastavovací obvod pinMode (10, VÝSTUP); // setup bzučák 1 pinMode (11, VÝSTUP); // setup bzučák 2 pinMode (2, INPUT); // tlačítko nastavení

Nyní potřebuje displej nakonfigurovat:

_display-> set (5); // set jas _display-> point (false); // odstranit dvojtečku _display-> init (); // start display

Metody soubor, bod, a init jsou obsaženy v rámci _Zobrazit objekt. Namísto tečky ukazatel (“->”) se používá k přístupu k nim. Opět se nemusíte starat o syntaxi (i když, pokud se chcete dozvědět více, vyhledejte C ++ ukazatele).

Hlavní smyčka má dva herní módy: výzvu a hru zdarma. Hraní zdarma umožňuje hráči hrát neomezené množství časů. Režim výzvy nastaví časovač na 20 sekund pomocí showCountdown metoda. Pomocí tlačítka se spustí a zastaví časovač. v současné době je jediným způsobem, jak změnit herní režimy, ruční úpravu proměnné nazvané režim. Podívejte se, zda můžete přidat další tlačítko, abyste to mohli udělat, a příslušně upravte kód.

bzučet metoda přehraje poznámky, které jsou jí dány. Používá se ve spojení s zpívat. Metoda zpívání prochází každou notou a hraje ji. Tato metoda se nazývá pravidelně, i když další notu přehraje, až když od posledního hraní uplyne dost času. Jakmile píseň dosáhne konce, obnoví píseň na verš 1 (songState = 14). Dalo by se to nastavit na nulu pro spuštění skladby na začátku, nicméně důvodem je přeskočení úvodu. Úvod se přehraje jednou poté, co se Arduino zapne, a poté se znovu nehraje.

showFree a showPlay metody jednoduše píšou slova “Volný, uvolnit” a “HRÁT SI” na displej. Všimněte si, jak “r” zdarma je malá písmena, pokud jsou všechny ostatní znaky velká. To je jedno z omezení sedmi segmentových displejů. Nemohou zobrazovat všechna písmena abecedy a některé znaky, které mohou zobrazit, musí být ve smíšeném případě.

toggleFreePlay metoda bliká na displeji mezi “VOLNÝ, UVOLNIT” a “HRÁT SI”. Znovu to dělá neblokujícím způsobem.

Další užitečnou metodou je showNumber. Tím se zapíše číslo do dvou středních znaků displeje takto:

Displej není dostatečně chytrý, aby věděl, jak ukázat velká čísla, musí být výslovně řečeno, co má dělat. Tato metoda používá nějakou jednoduchou logiku k zobrazení příslušného čísla pro každý znak.

Konečná použitá metoda se nazývá showCountdown. Tím se spustí počítadlo na 20 a sníží se o jednu každou sekundu. Pokud to dosáhne nuly, bzučí třikrát, což znamená, že čas vypršel.

Tady je celý ten kód sestavený dohromady:

#include // include display library #include // include pitch TM1637 * _display = new TM1637 (12, 13); // vytvoření objektu zobrazení, 12 = CLK (hodiny), 13 = D10 (data) // hudba int songState = 0; int melodie [] = NOTE_F4, NOTE_E4, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_A3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_C4, 0, NOTE_C4, NOTE_A3, NOTE_A3, NOTE_A3, NOTE_A3, NOTE_A3 NOTE_C4, NOTE_C4, NOTE_A3, NOTE_AS3, NOTE_AS3, NOTE_AS4, NOTE_C4, NOTE_D4, 0, NOTE_AS3, NOTE_G3, NOTE_G3, NOTE_G3, NOTE_FS3, NOTE_G3, NOTE_E4, NOTE_D4, NOTE_AS3, NOTE_A3, NOTE_A3, NOTE_A3 NOTE_C4, NOTE_A3, NOTE_A3, NOTE_A3, NOTE_G3, NOTE_A3, NOTE_A4, NOTE_F4, NOTE_F4, NOTE_C4, NOTE_B3, NOTE_G4, NOTE_G4, NOTE_G4, NOTE_G4, 0, NOTE_G4, NOTE_E4, NOTE_G4, NOTE_G4, NOTE_G4, NOTE_G4, NOTE_G4, NOTE_G4, NOTE_G4 NOTE_FS4, NOTE_G4, NOTE_C4, NOTE_B3, NOTE_C4, NOTE_B3, NOTE_C4, 0; int tempo [] = 8, 16, 8, 16, 8, 16, 8, 16, 16, 16, 16, 8, 16, 8, 3, 12, 16, 16, 16, 8, 16, 8, 16, 8, 16, 8, 16, 8, 16, 4, 12, 12, 16, 16, 16, 8, 16, 8, 16, 8, 16, 8, 16, 8, 16, 4, 12, 12, 16, 16, 16, 8, 16, 8, 16, 8, 16, 8, 16, 8, 16, 4, 16, 12, 17, 17, 17, 17, 8, 12, 17, 17, 17, 8, 16, 8, 16, 8, 16, 8, 1; // neblokující nastavení // volné hraní nepodepsané dlouho předchozíMillis1 = 0; // časová slova poslední změna konst. dlouhý interval1 = 1500; // interval mezi změnou // hudba nepodepsaná dlouho předchozíMillis2 = 0; // čas naposledy změněný konst. dlouhý interval2 = 100; // interval mezi poznámkami int displayStatus = 0; // sledovat, co je zobrazeno int mode = 0; // sledujte herní režim - změna na 0 nebo 1 pro různé režimy odpočítávání bool = false; nepodepsané dlouhé předchozíMillis3 = 0; // čas poslední změněné konstantní dlouhé intervaly3 = 1000; // interval mezi odpočtem int count = 20; // režim nastavení časovače výzvy () [//] vložte svůj instalační kód, abyste jej mohli spustit jednou: pinMode (9, INPUT); // nastavovací obvod pinMode (10, VÝSTUP); // setup bzučák 1 pinMode (11, VÝSTUP); // setup bzučák 2 pinMode (2, INPUT); // tlačítko nastavení _display-> set (5); // set jas _display-> point (false); // odstranit dvojtečku _display-> init (); // start display void loop () // sem vložte svůj hlavní kód, aby se opakoval: if (mode == 0) // challenge mode if (digitalRead (2) == HIGH) delay (25); if (digitalRead (2) == HIGH) odpočítávání = true; // stop odpočítávání else countdown = false; // stop odpočítávání if (odpočítávání) showCountdown (); // advance countdown else // free play toggleFreePlay ();  if (digitalRead (10) == HIGH) delay (25); if (digitalRead (10) == HIGH) while (digitalRead (10) == HIGH) buzz (11, NOTE_B0, 1000/24);  jinak zpívat ();  void showCountdown () // odpočítávání zbývajícího času bez znaménkaMillis = millis (); // aktuální čas if (currentMillis - previousMillis3> = interval3) previousMillis3 = currentMillis; --spočítat; showNumber (count); if (count == 0) // game over countdown = false; počet = 20; // reset odpočítávání // buzz 3krát buzz (11, NOTE_B0, 1000/24); zpoždění (100); buzz (11, NOTE_B0, 1000/24); zpoždění (100); buzz (11, NOTE_B0, 1000/24);  void showNumber (int number) // show number (maximum 99) on display _display-> display (0, 25); // write - to segment 1 _display-> display (3, 25); // write - pro segment 4 // zápis čísla do středu displeje, pokud (number == 10) _display-> display (1,1); _display-> display (2,0);  jinak if (číslo> 9) _display-> display (1,1); int newVal = číslo - 10; _display-> display (2, newVal);  else _display-> display (1,0); _display-> display (2, number);  void toggleFreePlay () // rolování mezi slovy bez blokování nepodepsaného dlouhého prouduMillis = millis (); // aktuální čas if (currentMillis - previousMillis1> = interval1) previousMillis1 = currentMillis; if (displayStatus == 1) showPlay (); else showFree ();  void showPlay () // napište "PLAY" na displej _display-> displej (0, 21); // zapisuje P do segmentu 1 _zobrazení-> displej (1, 18); // zapište L do segmentu 2 - zobrazení (2, 10); // zapíše A do segmentu 3 _zobrazení-> displej (3, 4); // napište Y do segmentu 4 displayStatus = 2;  void showFree () // napište "Free" na displej _display-> display (0, 15); // zapište F do segmentu 1 _zobrazení-> displej (1, 23); // zapis r do segmentu 2 _zobrazení-> displej (2, 14); // zapište E do segmentu 3 - zobrazení (3, 14); // napište E do segmentu 4 displayStatus = 1;  void buzz (int targetPin, dlouhá frekvence, dlouhá délka) / * Příklad funkce bzučáku Rob Faludi http://www.faludi.com https://gist.github.com/AnthonyDiGirolamo/1405180 * / dlouhé zpožděníValue = 1000000 / frekvence / 2; // vypočítat hodnotu zpoždění mezi přechody / / / 1 sekundy v hodnotě mikrosekund, děleno frekvencí, pak rozdělit na polovinu, protože / / / / existují dvě fáze pro každý cyklus dlouhé numCycles = frekvence * délka / 1000; // spočítejte počet cyklů pro správné načasování //// násobte frekvenci, což je skutečně cyklus za sekundu, počtem sekund, na které / /// získáte celkový počet cyklů, za které budete produkovat (dlouhý i = 0; i = interval2) previousMillis2 = currentMillis; int noteDuration = 1000 / tempo [songState]; buzz (10, melodie [songState], noteDuration); int pauseBetweenNotes = noteDuration; zpoždění (pauseBetweenNotes); // zastavení přehrávání tónu: buzz (10, 0, noteDuration); ++ songState; // znovu spustit skladbu, pokud je dokončena, pokud (songState> 79) songState = 14; // přeskočit intro   

Uložte tento soubor jako “buzzwire” (Soubor> Uložit jako) a poté jej nahrajte na svou tabuli (Soubor> Nahrát). Pokud si nejste jisti, jak nahrát Arduino, nebo že kód vypadá trochu děsivě, podívejte se na našeho průvodce Arduino pro začátečníky Začínáme s Arduino: Průvodce pro začátečníky Začínáme s Arduino: Průvodce pro začátečníky Arduino je open-source platforma pro prototypování elektroniky založená na flexibilním, snadno použitelném hardwaru a softwaru. Je určen pro umělce, designéry, fandy a kohokoli, kdo má zájem o vytváření interaktivních objektů nebo prostředí. . Když je vše v pořádku, měli byste nyní mít svou vlastní hru s bzučákem - v pohodě!

Pokud jste si něco přečetli po přečtení tohoto, ráda bych to viděla - dejte mi vědět v komentářích níže!




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.