
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48

Interaktív fa, tetején LED -gyűrűvel, hangjelző hangjelzéssel és belső érintőérzékelővel, amely megváltoztatja a színt, amikor megérinti. Ennek a szórakoztató kis dolognak az elkészítéséhez a következőkre lesz szüksége:
Elektronika:- 1x Arduino Uno
- 15x kábel
- 1x forrasztópáka kerek véggel
- 1x 8 gombos Adafruit fogható érintés (CAP1188)
- 1x Arduino tápkábel
- 1x 8 LED gyűrű
- 1x csengő
- 1x forró ragasztópisztoly
-Töltse le a CAP1188 könyvtárát
- Töltse le az Adafruit Neopixel könyvtárát
Extra (burkolat):
- 1x fatönk
- 1x bot belsejébe
- fából készült tál, hogy mindezt be-/behelyezze
- Tömött állati töltelék külső használatra
Használhat mást is, mint kívül, legyen kreatív!
Most kezdjük…
1. lépés: 1. lépés: LED -gyűrű rögzített érintéssel

Ha szerencséje van, a LED -gyűrűhöz már csapok vannak rögzítve. Ha nem, akkor ideje forrasztani!
Ebben a projektben a következő dolgokat használjuk:
- DI (Digitális bemenet, 6 ~ érintkező
- 5V (tápellátáshoz, 5V pin)
- GND (föld, GND csap)
Ez egyelőre a LED -gyűrű. Most a ragadós érintés.
Helyezze be a kenyérsütő táblába, és kösse össze az alábbiakat: SDA/MISO a tűben (analóg bemenet) A4SCK a tűben (analóg bemenet) A5VIN bemenet (tápellátás) 5VGND a GND tűben
Most tesztelés céljából töltse fel az alábbi kódot Arduino készülékére:
// Julia Emmink // Fény és érintőkód az interaktív fához 19 /// Az Adafruit Neopixel és az Adafruit captive touch (CAP1188) (telepítendő) használatával készült, és a LED késedelem nélkül villog
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~
#befoglalni
#define PIXELSPIN 6 // A LED -gyűrű csatlakoztatásának helye
#define NUMPIXELS 8 // A gyűrűn lévő LED -ek száma #define CALIBRATIONTIME 20000
Adafruit_NeoPixel pixelek = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
unsigned long pixelsInterval = 500; // az idő, amire várnunk kell
unsigned long colorWipePreviousMillis = 0; előjel nélküli hosszú színházChasePreviousMillis = 0; előjel nélküli hosszú szivárványElőzőMillis = 0; előjel nélküli hosszú szivárványCyclesPreviousMillis = 0;
int TheaterChaseQ = 0;
uint16_t currentPixel = 0; // milyen képponton dolgozunk
// ÉRINTÉS ~~~~~~~~~~~~~~~~~~~~~~~~
#befoglalni #befoglalni #befoglalni
// A Reset Pin az I2C vagy az SPI esetében használatos
#define CAP1188_RESET 9
// A CS pin szoftveres vagy hardveres SPI -hez használatos
#define CAP1188_CS 10
// Ezek a szoftveres SPI -hez vannak definiálva, a hardveres SPI -hez, ellenőrizze
// tábla SPI csapjai az Arduino dokumentációjában #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Használjon I2C -t, nincs reset pin!
Adafruit_CAP1188 sapka = Adafruit_CAP1188 ();
void setup () {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ aktuálisPixel = 0; pixels.begin (); // Ezzel inicializálja a NeoPixel könyvtárat. pixels.show (); // Ez elküldi a frissített pixelszínt a hardvernek.
// ÉRINTÉS ~~~~~~~~~~~~~~~~~~~~~~~~
Sorozat.kezdet (300); Serial.println ("CAP1188 teszt!");
if (! cap.begin ()) {
Serial.println ("A CAP1188 nem található"); míg (1); } Serial.println ("CAP1188 megtalálva!"); }
void loop () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~ uint8_t touch = cap.touched (); if (megérintett == 0) {if ((előjel nélküli hosszú) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (0, 255, 125)); }} else {if ((előjel nélküli hosszú) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (100, 0, 150)); }}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~ // Megszabadul a színes pixelektől.setPixelColor (currentPixel, c); pixels.setPixelColor (currentPixel - 1, pixels. Color (0, 0, 0)); pixels.show (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixels.setPixelColor (7, pixels. Color (0, 0, 0));
}
}
Teszteld és érezd jól magad! Amint látja, amikor megérinti a C1 kábelt, a szín megváltozik. (Ha nem ez az első alkalom, húzza ki az Arduino csatlakozóját, és csatlakoztassa újra a számítógéphez.)
2. lépés: 2. lépés: Hang hozzáadása
Egy praktikus oktatóanyag segítségével elkészítettem ezt. Az oktatóanyag a következő:
github.com/xitangg/-Pirates-of-the-Caribbe…
Ideje felvenni a csengőt! Helyezze a zümmögő (-) jelét az egyik GND csapba, és a (+) jelzést a 10-es tűbe.
Nagyjából ennyi, most ideje újra futtatni a kódot, és hallani a Karib -tenger kalózai kedves dallamát! Most jó szórakozást a teszteléshez!
// Julia Emmink // Fény, érintés és zenei kód az interaktív fához 19.01.2018 // Az Adafruit Neopixel és a Captive Touch (CAP1188) (telepítendő) használatával készül, és a LED késedelem nélkül villog
// NEOPIXEL ~~~~~~~~~~~~~~~~~~#tartalmazza
#define PIXELSPIN 6
#define NUMPIXELS 8 #define CALIBRATIONTIME 20000
Adafruit_NeoPixel pixelek = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
unsigned long pixelsInterval = 500; // az idő, amire várnunk kell
unsigned long colorWipePreviousMillis = 0; előjel nélküli hosszú színházChasePreviousMillis = 0; előjel nélküli hosszú szivárványElőzőMillis = 0; előjel nélküli hosszú szivárványCyclesPreviousMillis = 0;
int TheaterChaseQ = 0;
uint16_t currentPixel = 0; // milyen képponton dolgozunk
// ZENE ~~~~~~~~~~~~~~~~~~~~~~~
const int zümmögő = 10; // Határozza meg a 10 -es tűt, használhat más PWM -csapokat (5, 6 vagy 9) // Megjegyzés: A 3. és a 11. tű nem használható, ha az Arduino Uno const hangszínfunkcióját használja a dallamsebesség = 1,5; // Váltson 2 -re a dal lassabb verziója esetén, minél nagyobb a szám, annál lassabb a dal // *************************** ************** #define NOTE_C4 262 // Megjegyzés gyakoriságának meghatározása #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 notes = {// A dal megjegyzése, a 0 pihenő/impulzus 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}; // ***************************************** időtartam = { / /minden hangjegy időtartama (ms -ban) A negyedéves jegyzet beállítása 250 ms 125, 125, 250, 125, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125};
// ÉRINTÉS ~~~~~~~~~~~~~~~~~~~~~~~~
#befoglalni #befoglalni #befoglalni
// A Reset Pin az I2C vagy az SPI esetében használatos
#define CAP1188_RESET 9
// A CS pin szoftveres vagy hardveres SPI -hez használatos
#define CAP1188_CS 10
// Ezek a szoftveres SPI -hez vannak definiálva, a hardveres SPI -hez, ellenőrizze
// tábla SPI csapjai az Arduino dokumentációjában #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Használjon I2C -t, nincs reset pin!
Adafruit_CAP1188 sapka = Adafruit_CAP1188 ();
void setup () {
// MUSIC ~~~~~~~~~~~~~~~~~~~~~~~ for (int i = 0; i <203; i ++) {// 203 a zenei jegyzetek teljes száma a dal int wait = időtartam * songpeed; hang (hangjelzés, hangjegyek , várakozás); // hang (pin, frekvencia, időtartam);} // késleltetés, így nem megy a következő ciklusra, mielőtt befejeződik a hang lejátszása // Az Arduino -n a reset gombra kattintva újra lejátszhatja a dalt // NEOPIXEL ~~~ ~~~~~~~~~~~~~~~ aktuális aktuális Pixel = 0; pixels.begin (); // Ezzel inicializálja a NeoPixel könyvtárat. pixels.show (); // Ez elküldi a frissített pixelszínt a hardvernek.
// ÉRINTÉS ~~~~~~~~~~~~~~~~~~~~~~~~
Sorozat.kezdet (300); Serial.println ("CAP1188 teszt!"); if (! cap.begin ()) {Serial.println ("A CAP1188 nem található"); míg (1); } Serial.println ("CAP1188 megtalálva!");
}
void loop () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~ uint8_t touch = cap.touched (); if (megérintett == 0) {if ((előjel nélküli hosszú) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (0, 255, 125)); }} else {if ((előjel nélküli hosszú) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (100, 0, 150)); }}
for (int i = 0; i = pixelsInterval) {
colorWipePreviousMillis = millis (); colorWipe (pixel. Color (0, 255, 125)); }} else {if ((előjel nélküli hosszú) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (100, 0, 150)); }}
késleltetés (várakozás);
}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~ // Megszabadul a színes pixelektől.setPixelColor (currentPixel, c); pixels.setPixelColor (currentPixel-1, pixels. Color (0, 0, 0)); pixels.show (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixels.setPixelColor (7, pixels. Color (0, 0, 0));
}
}
3. lépés: További lépés: A csonk „Arduino Ready” készítése



Ha úgy dönt, hogy fatuskót használ, akkor tegye a következőket.
- Szerezzen fatönköt (ingyen kaptam egy régi karácsonyfáról)
- Mérje meg Arduino készülékét, és nézze meg, hogyan szeretné a vezetéket a fatönkön elhelyezni
- Vágja ki a csonkot (én fúrógépet használtam az iskolából)
- Csiszolja le a durva széleket
- Adjon hozzá szórakoztató apró részleteket
A részletek, amelyeket hozzáadtam, egy kis logó volt, amelyet lézervágóval készítettem. Az összes elektronikámat is a fám belsejében lévő pálcára halmoztam, és kívül töltött plüssállat -tölteléket tettem hozzá, hogy átengedje a fényt, és ez a kis extra puhaság legyen.
Ajánlott:
Arduino+Blynk projekt vezérlő hangjelző: 8 lépés

Arduino+Blynk projektvezérlő hangjelző: A Blynk segítségével az IoT nagyon kényelmes módon lehetséges. Ebben a projektben nem használok semmilyen Bluetooth vagy Wifi modult vezeték nélküli kommunikációhoz. Ez lehetséges a Blynk alkalmazás használatával, amely segíthet saját alkalmazás tervezésében
Távvezérelt hangjelző az eltévedtek számára: 4 lépés

Távvezérelt zümmögés az eltévedtek számára: Ez a kétrészes áramkör egy hangjelzőből és egy vezérlőből áll. Csatlakoztassa a hangjelzőt egy olyan elemhez, amelyet gyakran elveszíthet, és a gomb és a hangerőszabályzó gomb segítségével aktiválja a zümmögőt, ha az elem elveszik. A zümmögő és a vezérlő
Versenyképes hangjelző rendszer: 5 lépés

Versenyképes zümmögőrendszer: Az ebben a projektben tervezett versenyképes zümmögőrendszer hasonlóan működik, mint a Regionális és Országos Tudományos Tálversenyeken használt zümmerező rendszerek. Ezt a projektet az inspirálta, hogy részt vettem középiskolám tudományos tálcsapatában három
Hangjelző játék: 4 lépés

Buzzer Wire Game: A Mr.Bean tévésorozatából híres drótzümmögő játékot minden korosztály gyermekei széles körben szeretik. Célunk az volt, hogy minden ott élő gyermekkel megtörténjen. Ez a könnyen elkészíthető barkácsprojekt könnyen hozzáférhető anyagokból és alacsony költségű
Arduino fényérzékelő hangjelző: 3 lépés

Arduino fényérzékelő zümmögő: Ezt a kialakítást sötét helyre kell elhelyezni, és riasztási zaj hallatszik, amikor kinyitja a sötét területet. Fényérzékeny ellenállást használ, és csendes, amikor sötét van, és zajt ad, ha világos. Ez segít megvédeni a