Sisukord:
- 1. samm: 1. samm: LED -rõngas koos puudutusega
- 2. samm: 2. samm: heli lisamine
- 3. samm: täiendav samm: kännu „Arduino Ready” valmistamine
Video: Arduino MusicStump: kerge, kütkestav puudutus ja helisignaal: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
Interaktiivne puu, mille ülaosas on LED -rõngas, helisignaal ja helisignaal, mis muudab puudutamisel värvi. Selle lõbusa väikese asja tegemiseks vajate järgmist:
Elektroonika:- 1x Arduino Uno
- 15x kaablit
- 1x ümmarguse otsaga jootekolb
- 1x 8-klahviline Adafruit-puudutus (CAP1188)
- 1x Arduino toitekaabel
- 1x 8 LED -rõngas
- 1x helisignaal
- 1x kuuma liimipüstol
-Laadige alla CAP1188 raamatukogu
- Laadige alla Adafruit Neopixeli raamatukogu
Lisa (korpus):
- 1x kännu
- 1x kepp sees
- puidust taldrik, kuhu kõik sisse/sisse panna
- Täidisega loomade täidis väljast
Võite kasutada ka midagi muud kui väljas, olge loominguline!
Nüüd alustame…
1. samm: 1. samm: LED -rõngas koos puudutusega
Kui teil veab, on teie LED -rõngal juba tihvtid kinnitatud. Kui ei, siis on aeg jootmiseks!
Selle projekti jaoks kasutame järgmisi asju:
- DI (digitaalsisend, tihvt 6 ~
- 5V (toiteallika jaoks, 5V pin)
- GND (maapind, GND tihvt)
See on praegu LED -rõngas. Nüüd tabab puudutus.
Asetage see leivalauale ja ühendage kõik järgmiselt: SDA/MISO tihvtis (analoogsisend) A4SCK tihvt (analoogsisend) A5VIN sisend (toide) 5VGND GND tihvtiga 1x kaabel C1 juures (kinnipidamisel ise)
Nüüd proovige oma Arduinole üles laadida järgmine kood:
// Julia Emmink // Interaktiivse puu valgus- ja puutetundlik kood 19 /// Valmistatud Adafruit Neopixeli ja Adafruit'i vangistatud puute (CAP1188) (tuleb paigaldada) ja viivitamata vilkuva LED -i abil
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~
#kaasake
#define PIXELSPIN 6 // Kus ühendasite LED -rõnga
#define NUMPIXELS 8 // Teie rõngas olevate LED -ide hulk #define CALIBRATIONTIME 20000
Adafruit_NeoPixel pikslid = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
allkirjastamata pikad pikslidInterval = 500; // aeg, mida peame ootama
allkirjastamata pikk värvWipePreviousMillis = 0; allkirjastamata pikk teaterChasePreviousMillis = 0; allkirjastamata pikk vikerkaarPreviousMillis = 0; allkirjastamata pikk vikerkaarCyclesPreviousMillis = 0;
int TheaterChaseQ = 0;
uint16_t currentPixel = 0; // millist pikslit me opereerime
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~~
#kaasama #kaasama #kaasama
// Reset Pin kasutatakse I2C või SPI jaoks
#define CAP1188_RESET 9
// CS pin kasutatakse tarkvara või riistvara SPI jaoks
#define CAP1188_CS 10
// Need on määratletud tarkvara SPI jaoks, riistvara SPI jaoks kontrollige oma
// plaadi SPI -tihvtid Arduino dokumentatsioonis #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Kasutage I2C -d, ilma nööpnõelata!
Adafruit_CAP1188 kork = Adafruit_CAP1188 ();
tühine seadistus () {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ praegunePiksel = 0; pixels.begin (); // See initsialiseerib NeoPixeli kogu. pixels.show (); // See saadab riistvarale uuendatud pikslivärvi.
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~~
Seriaal.algus (300); Serial.println ("CAP1188 test!");
if (! cap.begin ()) {
Serial.println ("CAP1188 ei leitud"); samas (1); } Serial.println ("CAP1188 leitud!"); }
void loop () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~ uint8_t touch = cap.touched (); if (touched == 0) {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pikslit. Värv (0, 255, 125)); }} else {if ((allkirjastamata pikk) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pikslit. Värv (100, 0, 150)); }}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ // Vabaneb värvipikslitest.setPixelColor (currentPixel, c); pixels.setPixelColor (currentPixel - 1, pixels. Color (0, 0, 0)); pixels.show (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixels.setPixelColor (7, pikslit. Värv (0, 0, 0));
}
}
Testige ja nautige! Nagu näete C1 juhtme puudutamisel, muutub värv. (Kui see ei õnnestu esimest korda, ühendage Arduino vooluvõrgust lahti ja ühendage see uuesti arvutiga.)
2. samm: 2. samm: heli lisamine
Kasutades käepärast õpetust, tegin selle. Õpetus on järgmine:
github.com/xitangg/-Piraadid-of-the-Caribbe…
Aeg haarata oma helisignaal! Pange sumisti (-) ühte GND tihvti ja (+) tihvti 10 ~
See on kõik, nüüd on aeg kood uuesti käivitada ja kuulda seda kaunist Kariibi mere piraatide viisi! Nüüd nautige katsetamist!
// Julia Emmink // Valgus-, puudutus- ja muusikakood interaktiivsele puule 19.01.2018 // Valmistatud Adafruit Neopixeli ja Captive Touchi (CAP1188) abil (tuleb paigaldada) ning LED vilgub viivitamatult
// NEOPIXEL ~~~~~~~~~~~~~~~~~~#sisaldavad
#define PIXELSPIN 6
#defineeri NUMPIXELS 8 #defineeri CALIBRATIONTIME 20000
Adafruit_NeoPixel pikslid = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
allkirjastamata pikad pikslidInterval = 500; // aeg, mida peame ootama
allkirjastamata pikk värvWipePreviousMillis = 0; allkirjastamata pikk teaterChasePreviousMillis = 0; allkirjastamata pikk vikerkaarPreviousMillis = 0; allkirjastamata pikk vikerkaarCyclesPreviousMillis = 0;
int TheaterChaseQ = 0;
uint16_t currentPixel = 0; // millist pikslit me opereerime
// MUUSIKA ~~~~~~~~~~~~~~~~~~~~~~~
const int helisignaal = 10; // Määrake tihvt 10, saab kasutada teisi PWM -nööpnõelu (5, 6 või 9) // Märkus. Nööpnõelasid 3 ja 11 ei saa kasutada, kui kasutate toonifunktsiooni Arduino Uno const int laulukiirusel = 1,5; // Laulu aeglasema versiooni korral muutke väärtuseks 2, mida suurem number, seda aeglasem lugu // *************************** ************** #defineeri NOTE_C4 262 // Märkmete sageduse määratlemine #defineeri NOTE_D4 294 #defineeri NOTE_E4 330 #defineeri NOTE_F4 349 #defineeri NOTE_G4 392 #defineeri NOTE_A4 440 #defineeri NOTE_B4 494 #defineeri NOTE_C5 523 #defineeri NOTE_D5 587 #defineeri NOTE_E5 659 #defineeri NOTE_F5 698 #defineeri NOTE_G5 784 #defineeri NOTE_A5 880 #defineeri NOTE_B5 988 // *********************** ****************** int notes = {// Laulu märkus, 0 on puhkus/impulss 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}; // **************************************** kestus = { / /iga noodi kestus (ms) Veerandnoodiks on seatud 250 ms 125, 125, 250, 125, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125};
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~~
#kaasama #kaasama #kaasama
// Reset Pin kasutatakse I2C või SPI jaoks
#define CAP1188_RESET 9
// CS pin kasutatakse tarkvara või riistvara SPI jaoks
#define CAP1188_CS 10
// Need on määratletud tarkvara SPI jaoks, riistvara SPI jaoks kontrollige oma
// plaadi SPI -tihvtid Arduino dokumentatsioonis #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Kasutage I2C -d, ilma nööpnõelata!
Adafruit_CAP1188 kork = Adafruit_CAP1188 ();
tühine seadistus () {
// MUSIC ~~~~~~~~~~~~~~~~~~~~~~~ for (int i = 0; i <203; i ++) {// 203 on noodide koguarv lugu int ootama = kestus * laulukiirus; toon (helisignaal, noodid , oota); // toon (nööpnõel, sagedus, kestus);} // kasutatakse viivitust, nii et see ei lähe järgmisele ringile enne, kui toon on mängitud ~~~~~~~~~~~~~~~~ praegunePiksel = 0; pixels.begin (); // See initsialiseerib NeoPixeli kogu. pixels.show (); // See saadab riistvarale uuendatud pikslivärvi.
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~~
Seriaal.algus (300); Serial.println ("CAP1188 test!"); if (! cap.begin ()) {Serial.println ("CAP1188 ei leitud"); samas (1); } Serial.println ("CAP1188 leitud!");
}
void loop () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~ uint8_t touch = cap.touched (); if (touched == 0) {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pikslit. Värv (0, 255, 125)); }} else {if ((allkirjastamata pikk) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pikslit. Värv (100, 0, 150)); }}
jaoks (int i = 0; i = pixelsInterval) {
colorWipePreviousMillis = millis (); colorWipe (pikslit. Värv (0, 255, 125)); }} else {if ((allkirjastamata pikk) (millis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (pikslit. Värv (100, 0, 150)); }}
viivitus (oota);
}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ // Vabaneb värvipikslitest.setPixelColor (currentPixel, c); pixels.setPixelColor (currentPixel-1, pixels. Color (0, 0, 0)); pixels.show (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixels.setPixelColor (7, pikslit. Värv (0, 0, 0));
}
}
3. samm: täiendav samm: kännu „Arduino Ready” valmistamine
Kui otsustate puukännu kasutada, peate tegema järgmist.
- Hankige puu kännu (sain selle ühelt vanalt jõulupuult tasuta)
- Mõõtke oma Arduino ja vaadake, kuidas soovite juhtmestiku puu kännu külge panna
- Õõnestage kännu (kasutasin koolist pärit puurmasinat)
- Lihvige karmid servad ära
- Lisage lõbusaid väikeseid detaile
Lisatud üksikasjad olid väike logo, mille tegin laserlõikuriga. Samuti ladusin kogu oma elektroonika oma puu sees olevale pulgale ja lisasin väljast täidisega täidisega täidise, et valgus läbi lasta ja anda sellele väikesele täiendavale pehmusele.
Soovitan:
Asendage puudutus Microsoft 535 jaoks: 8 sammu
Microsoft 535 puudutuse asendamine: puutetundlik digilizer on mobiiltelefoni väga tundlik osa. See pidurdab väikeste esemete või pinnale kukkumise tõttu. Markete puudutuse asendamine on väga kulukas. Täna näitan teile, kuidas teie mobiiltelefoni puutetundlikku digilisaatorit asendada. Almo
Arduino viktoriini helisignaal: 8 sammu (piltidega)
Arduino viktoriini helisignaal: Tere! See on minu esimene juhendatav. Viktoriini helisignaali plaanid algasid, kui mu kolleeg, kes juhib ka mängusaadet, palus inimesi, kes võiksid viktoriinisummeri ehitada. Võtsin selle projekti enda kätte ja väheste sõprade (Blaze ja Errol) abiga
Mahtuvuslik puudutus PIC16F886 mikrokontrolleriga: 3 sammu
Mahtuvuslik puudutus PIC16F886 mikrokontrolleri abil: selles õpetuses käsitleme, kuidas saate kasutada PIC16F886 mikrokontrollerit mahtuvuse erinevuste tuvastamiseks. Seda saab hiljem kasutada puuteplaadi vajutamise tuvastamiseks. Enne selle tegemist on hea olla kursis pic -mikrokontrolleritega
Reaktsiooniaja mõõtja (visuaalne, heli ja puudutus): 9 sammu (piltidega)
Reaktsiooniaja mõõtja (visuaalne, heli ja puudutus): reaktsiooniaeg on aeg, mis kulub inimesel stiimuli tuvastamiseks ja vastuse saamiseks. Näiteks sportlase helireaktsiooniaeg on aeg, mis kulub püssilaskmise (võistluse alustamise) ja tema võistluse alustamise vahele. Reactio
Mahtuvuslik puudutus Evive'iga (Arduino -põhine kontroller): 6 sammu (piltidega)
Mahtuvuslik puudutus Evive'iga (Arduino -põhine kontroller): Kas teate, kuidas teie nutitelefoni puuteekraan töötab? Nutitelefonil on klaasekraani all hulk puuteandureid. Tänapäeval põhineb see mahtuvuslikul puutetundlikul tehnoloogial ja isegi õrnal puudutusel. Mahtuvuslik puudutus on tajutav