Obsah:
- Krok 1: Krok 1: LED kroužek s dotykovým ovládáním
- Krok 2: Krok 2: Přidání zvuku
- Krok 3: Další krok: Příprava pahýlu na „Arduino Ready“
Video: Arduino MusicStump: Light, Captive Touch a bzučák: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Interaktivní strom s prstencem LED v horní části, bzučákem vytvářejícím zvuk a zajetým dotykovým senzorem uvnitř, který při dotyku mění barvu. K vytvoření této zábavné maličkosti budete potřebovat následující:
Elektronika:- 1x Arduino Uno
- 15x kabely
- 1x páječka s kulatým hrotem
- 1x Adafruit 8 kláves pro zajetí (CAP1188)
- 1x napájecí kabel Arduino
- 1x 8 LED kroužek
- 1x bzučák
- 1x horká lepicí pistole
-Stáhněte si knihovnu CAP1188
- Stáhněte si knihovnu Adafruit Neopixel
Extra (pouzdro):
- 1x pařez
- 1x tyč uvnitř
- dřevěný talíř pro umístění na/dovnitř
- Plněné zvířecí nádivky zvenčí
Můžete také použít něco jiného jako venku, buďte kreativní!
Nyní začněme…
Krok 1: Krok 1: LED kroužek s dotykovým ovládáním
Pokud máte štěstí, má váš prsten LED již připojené kolíky. Pokud ne, je čas pájet!
Věci, které pro tento projekt použijeme, jsou:
- DI (digitální vstup, pin 6 ~
- 5V (pro napájení, 5V pin)
- GND (uzemnění, GND pin)
To je prozatím LED kroužek. Nyní zajetí dotek.
Umístěte jej na prkénko a připojte vše následujícím způsobem: SDA/MISO v pinu (analogový vstup) A4SCK v pinu (analogový vstup) A5VIN v (napájení) 5VGND v pinu GND1x kabel na C1 (na samotném dotykovém dotyku)
Nyní vyzkoušejte nahrání následujícího kódu do vašeho Arduina:
// Julia Emmink // Světelný a dotykový kód pro interaktivní strom 19 /// Vyrobeno s použitím Adafruit Neopixel a Adafruit captive touch (CAP1188) (má být nainstalován) a LED bliká bez zpoždění
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~
#zahrnout
#define PIXELSPIN 6 // Kde jste připojili LED kroužek
#define NUMPIXELS 8 // Množství LED diod, které jsou na vašem prstenu #define CALIBRATIONTIME 20 000
Pixely Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
bez znaménka dlouhé pixely Interval = 500; // čas, na který musíme počkat
nepodepsané dlouhé colorWipePreviousMillis = 0; nepodepsané dlouhé divadloChasePreviousMillis = 0; nepodepsaná dlouhá duhaPreviousMillis = 0; nepodepsané dlouhé rainbowCyclesPreviousMillis = 0;
int divadloChaseQ = 0;
uint16_t currentPixel = 0; // na jakém pixelu pracujeme
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~~
#include #include #include
// Resetovací pin se používá pro I2C nebo SPI
#define CAP1188_RESET 9
// CS pin se používá pro softwarové nebo hardwarové SPI
#define CAP1188_CS 10
// Jsou definovány pro software SPI, pro hardware SPI, zkontrolujte svůj
// SPI piny desky v dokumentaci Arduino #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Použijte I2C, žádný resetovací pin!
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
neplatné nastavení () {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ currentPixel = 0; pixely.begin (); // Tím se inicializuje knihovna NeoPixel. pixely.show (); // Tím se na hardware odešle aktualizovaná barva pixelu.
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~~
Serial.begin (300); Serial.println („test CAP1188!“);
if (! cap.begin ()) {
Serial.println ("CAP1188 nebyl nalezen"); zatímco (1); } Serial.println ("CAP1188 nalezen!"); }
prázdná smyčka () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~~~ uint8_t dotkl = cap.touched (); if (touched == 0) {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixely. Barva (0, 255, 125)); }} else {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixely. Color (100, 0, 150)); }}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~ // Zbaví barevných pixelů.setPixelColor (currentPixel, c); pixely.setPixelColor (currentPixel - 1, pixely. Color (0, 0, 0)); pixely.show (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixely.setPixelColor (7, pixely. Color (0, 0, 0));
}
}
Vyzkoušejte a bavte se! Jak vidíte, když se dotknete kabelu C1, barva se změní. (Pokud tomu tak není poprvé, jednoduše odpojte Arduino a připojte jej zpět k počítači.)
Krok 2: Krok 2: Přidání zvuku
S využitím šikovného tutoriálu jsem to udělal. Níže naleznete návod:
github.com/xitangg/-Pirates-of-the-Caribbe…
Čas chytit bzučák! Vložte (-) bzučáku do jednoho z pinů GND a (+) do pinu 10 ~
To je o tom, teď je čas spustit kód znovu a slyšet tu nádhernou melodii Pirátů z Karibiku! Nyní se bavte s testováním!
// Julia Emmink // Světelný, dotykový a hudební kód pro interaktivní strom 2018-01-19 // Vyrobeno s použitím Adafruit Neopixel a Captive Touch (CAP1188) (má být nainstalován) a LED bliká bez zpoždění
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~#include
#define PIXELSPIN 6
#define NUMPIXELS 8 #define CALIBRATIONTIME 20000
Pixely Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
bez znaménka dlouhé pixely Interval = 500; // čas, na který musíme počkat
nepodepsané dlouhé colorWipePreviousMillis = 0; nepodepsané dlouhé divadloChasePreviousMillis = 0; nepodepsaná dlouhá duhaPreviousMillis = 0; nepodepsané dlouhé rainbowCyclesPreviousMillis = 0;
int divadloChaseQ = 0;
uint16_t currentPixel = 0; // na jakém pixelu pracujeme
// HUDBA ~~~~~~~~~~~~~~~~~~~~~~~
konstantní bzučák = 10; // Definujte pin 10, můžete použít jiné PWM piny (5, 6 nebo 9) // Poznámka piny 3 a 11 nelze použít při použití funkce tónu v Arduino Uno const int písně rychlost = 1,5; // Změňte na 2 pro pomalejší verzi skladby, čím větší číslo, tím je skladba pomalejší // ************************** ************* #define NOTE_C4 262 // Definování frekvence not #define NOTE_D4 294 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_G4 392 #define NOTE_A4 440 #define NOTE_B4 494 #define NOTE_C5 523 #define NOTE_D5 587 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_G5 784 #define NOTE_A5 880 #define NOTE_B5 988 // ************************ ****************** int poznámky = {// Poznámka k písni, 0 je klid/puls NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, NOTE_A4, NOTE_G4, NOTE_A4, 0}; // *********************************** int trvání = { / /doba trvání každé noty (v ms) Quarter Note je nastavena na 250 ms 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125};
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~~
#include #include #include
// Resetovací pin se používá pro I2C nebo SPI
#define CAP1188_RESET 9
// CS pin se používá pro softwarové nebo hardwarové SPI
#define CAP1188_CS 10
// Jsou definovány pro software SPI, pro hardware SPI, zkontrolujte svůj
// SPI piny desky v dokumentaci Arduino #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Použijte I2C, žádný resetovací pin!
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
neplatné nastavení () {
// HUDBA ~~~~~~~~~~~~~~~~~~~~~~ pro (int i = 0; i <203; i ++) {// 203 je celkový počet not v skladba čekání = doba trvání * rychlost skladby; tón (bzučák, poznámky , počkejte); // tón (pin, frekvence, doba trvání);} // zpoždění se používá, aby nepřešlo na další smyčku, než se dokončí přehrávání tónu // Kliknutím na resetovat na Arduinu můžete skladbu přehrát // NEOPIXEL ~~~ ~~~~~~~~~~~~~~~ currentPixel = 0; pixely.begin (); // Tím se inicializuje knihovna NeoPixel. pixely.show (); // Tím se na hardware odešle aktualizovaná barva pixelu.
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~~
Serial.begin (300); Serial.println („test CAP1188!“); if (! cap.begin ()) {Serial.println ("CAP1188 nebyl nalezen"); zatímco (1); } Serial.println ("CAP1188 nalezen!");
}
prázdná smyčka () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~~~ uint8_t dotkl = cap.touched (); if (touched == 0) {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixely. Barva (0, 255, 125)); }} else {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixely. Color (100, 0, 150)); }}
pro (int i = 0; i = pixelInterval) {
colorWipePreviousMillis = milis (); colorWipe (pixely. Barva (0, 255, 125)); }} else {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixely. Color (100, 0, 150)); }}
zpoždění (čekání);
}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~ // Zbaví barevných pixelů.setPixelColor (currentPixel, c); pixely.setPixelColor (aktuálníPixel-1, pixely. Color (0, 0, 0)); pixely.show (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixely.setPixelColor (7, pixely. Color (0, 0, 0));
}
}
Krok 3: Další krok: Příprava pahýlu na „Arduino Ready“
Pokud se rozhodnete použít pařez, musíte udělat následující.
- Získejte pařez (jeden mám ze starého vánočního stromku zdarma)
- Změřte si Arduino a uvidíte, jak chcete mít kabeláž v pařezu
- Vydlabat pařez (ze školy jsem použil vrtačku)
- Zdrsněte hrubé hrany
- Přidejte zábavné malé detaily
Podrobnosti, které jsem přidal, bylo malé logo, které jsem vytvořil pomocí laserové řezačky. Také jsem dovnitř složil veškerou svou elektroniku na klacek uvnitř svého stromu a zvenčí jsem přidal vycpané zvířecí náplně, aby dovnitř pronikalo světlo a dodalo té malé extra měkkosti.
Doporučuje:
Použijte bzučák na Magicbit [Magicblocks]: 4 kroky
Použijte bzučák na Magicbit [Magicblocks]: Tento tutoriál vás naučí používat bzučák na Magicbit pomocí Magicblocks. Jako vývojovou desku v tomto projektu, který je založen na ESP32, používáme magicbit. V tomto projektu lze tedy použít jakoukoli vývojovou desku ESP32
Dálkově ovládaný bzučák pro ztracené a nalezené: 4 kroky
Dálkově ovládaný bzučák pro ztracené a nalezené: Tento dvoudílný obvod se skládá z bzučáku a ovladače. Připojte bzučák k položce, kterou můžete často ztrácet, a pomocí tlačítka a knoflíku hlasitosti na ovladači aktivujte bzučák, když se položka ztratí. Bzučák a ovladač
Kvízový bzučák pomocí ATMEGA328P (Arduino) DIY: 3 kroky
Kvízový bzučák pomocí ATMEGA328P (Arduino) DIY: V bzučákovém kole kvízových soutěží je otázka otevřena všem týmům. Osoba, která zná odpověď, nejprve zasáhne bzučák a poté na otázku odpoví. Někdy dva nebo více hráčů zasáhne bzučák téměř současně a je to
Kvízový bzučák využívající časovač IC 555: 4 kroky
Quiz Buzzer Using 555 Timer IC: Tento projekt byl sponzorován LCSC.com. Společnost LCSC má velký závazek nabízet široký výběr originálních, vysoce kvalitních elektronických součástek za nejlepší cenu. LCSC se stal nejrychleji se rozvíjejícím internetovým obchodem s elektronickými součástkami v Chi
Bzučák světelného senzoru Arduino: 3 kroky
Bzučák světelného senzoru Arduino: Tento design se používá k umístění do tmavého místa a při otevření tmavé oblasti zazní zvukový alarm. Používá rezistor citlivý na světlo a je tichý, když je tma, a když je světlo, vydává hluk. To vám pomůže chránit vaše