Obsah:
- Krok 1: Krok 1: Prstenec LED s dotykovým ovládaním
- Krok 2: Krok 2: Pridanie zvuku
- Krok 3: Ďalší krok: Príprava pňa na „Arduino“
Video: Arduino MusicStump: Ľahký, zajatý dotyk a bzučiak: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Interaktívny strom s prstencom LED v hornej časti, bzučiakom na vytváranie zvuku a vnútorným dotykovým senzorom, ktorý pri dotyku mení farbu. Na to, aby ste urobili túto zábavnú drobnosť, budete potrebovať:
Elektronika:- 1x Arduino Uno
- 15x káble
- 1x spájkovačka s okrúhlou špičkou
- 1x Adafruit 8-klávesový dotykový dotyk (CAP1188)
- 1x napájací kábel Arduino
- 1x 8 LED krúžok
- 1x bzučiak
- 1x horúca lepiaca pištoľ
-Stiahnite si knižnicu CAP1188
- Stiahnite si knižnicu Adafruit Neopixel
Extra (plášť):
- 1x peň
- 1x tyčinka do vnútra
- drevený tanier, ktorý to všetko položí na/do
- Plnená zvieracia plnka zvonku
Môžete tiež použiť niečo iné ako vonku, buďte kreatívni!
Teraz začnime…
Krok 1: Krok 1: Prstenec LED s dotykovým ovládaním
Ak máte šťastie, k vášmu LED prsteňu už sú pripevnené kolíky. Ak nie, je čas spájkovať!
V tomto projekte použijeme tieto veci:
- DI (digitálny vstup, kolík 6 ~
- 5V (pre napájanie, 5V pin)
- GND (uzemnenie, kolík GND)
To je zatiaľ LED krúžok. Teraz dotyk v zajatí.
Umiestnite ho na nepájivú dosku a všetko zapojte nasledovne: SDA/MISO v kolíku (analógový vstup) A4SCK v kolíku (analógový vstup) A5VIN v (napájanie) 5VGND v kolíku GND1x kábel na C1 (na samotnom dotyku)
Teraz vyskúšajte nahranie nasledujúceho kódu do vášho Arduina:
// Julia Emmink // Svetelný a dotykový kód pre interaktívny strom 19 /// Vyrobený s použitím adaptéra Adafruit Neopixel a Adafruit Captive Touch (CAP1188) (má byť nainštalovaný) a LED diódy bliká bez oneskorenia
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~
#zahrnúť
#define PIXELSPIN 6 // Kde ste pripojili LED krúžok
#define NUMPIXELS 8 // Množstvo LED diód, ktoré sú na vašom prstenci #define CALIBRATIONTIME 20 000
Pixely Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
bez znamienka dlhé pixelyInterval = 500; // čas, na ktorý musíme čakať
nepodpísané dlhé colorWipePreviousMillis = 0; nepodpísané dlhé divadloChasePreviousMillis = 0; dlhá dúha bez znamienkaPreviousMillis = 0; nepodpísané dlhé rainbowCyclesPreviousMillis = 0;
int divadloChaseQ = 0;
uint16_t currentPixel = 0; // na akom pixeli pracujeme
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~~
#include #include #include
// Reset Pin sa používa pre I2C alebo SPI
#define CAP1188_RESET 9
// Kolík CS sa používa pre softvér alebo hardvér SPI
#define CAP1188_CS 10
// Tieto sú definované pre softvér SPI, pre hardvérové SPI skontrolujte svoje
// SPI piny dosky v dokumentácii Arduino #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Použite I2C, žiadny resetovací kolík!
Čiapka Adafruit_CAP1188 = Adafruit_CAP1188 ();
neplatné nastavenie () {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ CurrentPixel = 0; pixely.begin (); // Tým sa inicializuje knižnica NeoPixel. pixely.show (); // Toto odošle aktualizovanú farbu pixelov na hardvér.
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~~
Serial.begin (300); Serial.println („test CAP1188!“);
if (! cap.begin ()) {
Serial.println ("CAP1188 nebol nájdený"); pričom (1); } Serial.println ("CAP1188 nájdený!"); }
prázdna slučka () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~užuž if (touched == 0) {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixely. Farba (0, 255, 125)); }} else {if ((bez znamienka) (millis () - colorWipePreviousMillis)> = PixelInterval) {colorWipePreviousMillis = millis (); colorWipe (pixely. Farba (100, 0, 150)); }}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~ // Zbaví sa farebných pixelov.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));
}
}
Vyskúšajte a zabavte sa! Ako vidíte, keď sa dotknete kábla C1, farba sa zmení. (Ak sa tak nestane prvýkrát, jednoducho odpojte Arduino a znova ho zapojte do počítača.)
Krok 2: Krok 2: Pridanie zvuku
S použitím šikovného tutoriálu som to urobil. Nasleduje návod:
github.com/xitangg/-Pirates-of-the-Caribbe…
Čas chytiť bzučiak! Vložte (-) bzučiaka do jedného z kolíkov GND a (+) do kolíka 10 ~
To je asi všetko, teraz je čas znova spustiť kód a vypočuť si tú nádhernú melódiu Pirátov z Karibiku! Teraz sa bavte s testovaním!
// Julia Emmink // Svetelný, dotykový a hudobný kód pre interaktívny strom 19. januára 2018 // Vyrobené s použitím adaptéra Adafruit Neopixel a Captive Touch (CAP1188) (má byť nainštalovaný) a LED diódy bliká bez oneskorenia
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~#include
#define PIXELSPIN 6
#define NUMPIXELS 8 #define CALIBRATIONTIME 20 000
Pixely Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
bez znamienka dlhé pixelyInterval = 500; // čas, na ktorý musíme čakať
nepodpísané dlhé colorWipePreviousMillis = 0; nepodpísané dlhé divadloChasePreviousMillis = 0; dlhá dúha bez znamienkaPreviousMillis = 0; nepodpísané dlhé rainbowCyclesPreviousMillis = 0;
int divadloChaseQ = 0;
uint16_t currentPixel = 0; // na akom pixeli pracujeme
// HUDBA ~~~~~~~~~~~~~~~~~~~~~~
konštantný bzučiak = 10; // Definujte pin 10, môžete použiť iné PWM piny (5, 6 alebo 9) // Poznámka piny 3 a 11 nie je možné použiť pri použití funkcie tónu v Arduino Uno const int SongSpeed = 1,5; // Zmeňte na 2 pre pomalšiu verziu skladby, čím vyššie číslo, tým je pieseň pomalšia // ************************** ************* #define NOTE_C4 262 // Definovanie frekvencie poznámok #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 tóny = {// Poznámka k piesni, 0 je odpočinok/pulz 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 trvanie = { / /trvanie každej noty (v ms) Quarter Note je nastavená 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 sa používa pre I2C alebo SPI
#define CAP1188_RESET 9
// Kolík CS sa používa pre softvér alebo hardvér SPI
#define CAP1188_CS 10
// Tieto sú definované pre softvér SPI, pre hardvérové SPI skontrolujte svoje
// SPI piny dosky v dokumentácii Arduino #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Použite I2C, žiadny resetovací kolík!
Čiapka Adafruit_CAP1188 = Adafruit_CAP1188 ();
neplatné nastavenie () {
// MUSIC ~~~~~~~~~~~~~~~~~~~~~~ for (int i = 0; i <203; i ++) {// 203 je celkový počet hudobných poznámok v skladba čakať, = trvanie * rýchlosť skladby; tón (bzučiak, poznámky , čakanie); // tón (pin, frekvencia, trvanie);} // oneskorenie sa používa, aby neprešlo do ďalšej slučky, kým sa prehrávanie tónu neskončí // Kliknutím na resetovať na Arduine prehráte skladbu // NEOPIXEL ~~~ ~~~~~~~~~~~~~~~ currentPixel = 0; pixely.begin (); // Tým sa inicializuje knižnica NeoPixel. pixely.show (); // Toto odošle aktualizovanú farbu pixelov na hardvér.
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~~
Serial.begin (300); Serial.println („test CAP1188!“); if (! cap.begin ()) {Serial.println ("CAP1188 not found"); pričom (1); } Serial.println ("CAP1188 nájdený!");
}
prázdna slučka () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~užuž if (touched == 0) {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixely. Farba (0, 255, 125)); }} else {if ((bez znamienka) (millis () - colorWipePreviousMillis)> = PixelInterval) {colorWipePreviousMillis = millis (); colorWipe (pixely. Farba (100, 0, 150)); }}
pre (int i = 0; i = interval pixelov) {
colorWipePreviousMillis = milis (); colorWipe (pixely. Farba (0, 255, 125)); }} else {if ((bez znamienka) (millis () - colorWipePreviousMillis)> = PixelInterval) {colorWipePreviousMillis = millis (); colorWipe (pixely. Farba (100, 0, 150)); }}
oneskorenie (čakanie);
}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~ // Zbaví sa farebných pixelov.setPixelColor (currentPixel, c); pixely.setPixelColor (aktuálnyPixel-1, pixely. Color (0, 0, 0)); pixely.show (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixely.setPixelColor (7, pixely. Color (0, 0, 0));
}
}
Krok 3: Ďalší krok: Príprava pňa na „Arduino“
Ak sa rozhodnete použiť peň, musíte urobiť nasledujúce.
- Získajte pahýľ (jeden mám zo starého vianočného stromčeka zadarmo)
- Zmerajte si Arduino a uvidíte, ako chcete mať kabeláž v pni stromu
- Vydlabte pahýľ (zo školy som použil vŕtačku)
- Hrubé hrany obrúste
- Pridajte zábavné malé detaily
Podrobnosti, ktoré som pridal, bolo malé logo, ktoré som vyrobil laserovou rezačkou. Celú svoju elektroniku som tiež poskladal dovnútra na palicu vo svojom strome a zvonku som pridal plnku z plyšových zvierat, aby svetlo preniklo dovnútra a dodalo tej malej extra jemnosť.
Odporúča:
Použite bzučiak na Magicbit [Magicblocks]: 4 kroky
Použite bzučiak na Magicbit [Magicblocks]: Tento tutoriál vás naučí používať bzučiak na Magicbit pomocou Magicblocks. V tomto projekte používame magicbit ako vývojovú dosku, ktorá je založená na ESP32. V tomto projekte je preto možné použiť akúkoľvek vývojovú dosku ESP32
Diaľkovo ovládaný bzučiak pre stratené a nájdené: 4 kroky
Diaľkovo ovládaný bzučiak pre stratené a nájdené: Tento dvojdielny obvod pozostáva z bzučiaka a ovládača. Pripojte bzučiak k položke, ktorú môžete často stratiť, a pomocou tlačidla a gombíka hlasitosti na ovládači aktivujte bzučiak, keď sa položka stratí. Bzučiak a ovládač
Kvízový bzučiak pomocou ATMEGA328P (Arduino) DIY: 3 kroky
Kvízový bzučiak pomocou ATMEGA328P (Arduino) DIY: V bzučiakovom kole kvízových súťaží je otázka otvorená pre všetky tímy. Osoba, ktorá pozná odpoveď, najskôr zazvoní a potom na otázku odpovie. Niekedy dvaja alebo viacerí hráči zasiahnu bzučiak takmer súčasne a je skutočne
Bzučiak svetelného senzora Arduino: 3 kroky
Bzučiak svetelného senzora Arduino: Tento dizajn sa používa na umiestnenie do tmavého miesta a pri každom otvorení tmavej oblasti zaznie zvuk alarmu. Používa odpor citlivý na svetlo a je tichý, keď je tma, a keď je svetlo, vytvára hluk. Pomôže vám to ochrániť
Ľahký robot: Ľahký nasledovník: 4 kroky
Ľahký robot: Ľahký sledovateľ: Žiadne programovanie ani mikročipy! Roboti, najúžasnejšia vec, aká existuje, najmä keď ju dokáže postaviť veľa ľudí! Tento robot som dostal od priateľa ako darček. ďakujem Rudolf. Tento robot každopádne používa 2 svetelné odpory na snímanie svetla a