Përmbajtje:
- Hapi 1: Hapi 1: Unaza LED me prekje të kapur
- Hapi 2: Hapi 2: Shtimi i zërit
- Hapi 3: Hapi shtesë: Bërja e trungut 'Arduino gati'
Video: Arduino MusicStump: Prekje e lehtë, e kapur dhe një zile: 3 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Një pemë interaktive me një unazë LED në krye, një zile për të bërë zë dhe një sensor prekës brenda që ndryshon ngjyrën kur e prekni. Për ta bërë këtë gjë të vogël argëtuese do t'ju duhet sa vijon:
Elektronikë:- 1x Arduino Uno
- kabllo 15x
- 1x hekur bashkues me majë të rrumbullakët
- 1x prekje 8-çelësash Adafruit (CAP1188)
- 1 x kabllo energjie Arduino
- Unazë 1x 8 LED
- 1x Zile
- 1x armë me zam të nxehtë
-Shkarkoni bibliotekën e CAP1188
- Shkarkoni bibliotekën e Adafruit Neopixel
Extra (zorrë):
- 1x trungu i pemës
- 1x shkop për brenda
- pjatë druri për t'i vendosur të gjitha në/brenda
- Mbushje të kafshëve të mbushura për pjesën e jashtme
Ju gjithashtu mund të përdorni diçka tjetër si jashtë, jini krijues!
Tani le të fillojmë…
Hapi 1: Hapi 1: Unaza LED me prekje të kapur
Tani nëse jeni me fat unaza juaj LED tashmë ka kunja të bashkangjitura në të. Nëse jo është koha për të bashkuar!
Gjërat që do të përdorim për këtë projekt janë:
- DI (Hyrja dixhitale, kunja 6
- 5V (për energji, pin 5V)
- GND (toka, pin GND)
Kjo është unaza LED tani për tani. Tani prekja robëruese.
Vendoseni atë në një tabelë buke dhe lidhni gjithçka si më poshtë: SDA/MISO në pin (analoge në) A4SCK në pin (analog në) A5VIN në (fuqi) 5VGND në një kabllo GND pin1x në C1 (në prekjen Captive vetë)
Tani për të testuar ngarkoni kodin e mëposhtëm në Arduino tuaj:
// Julia Emmink // Kodi i ndriçimit dhe prekjes për pemën ndërvepruese 19 /// Krijuar me përdorimin e Adafruit Neopixel dhe Adafruit captive touch (CAP1188) (do të instalohet) dhe LED po ndizet pa vonesë
// NEOPIXEL
#përfshi
#define PIXELSPIN 6 // Ku e keni lidhur Unazën LED
#përcaktoni NUMPIXELS 8 // Shuma e LED -ve që janë në unazën tuaj #përcaktoni KALIBRIMTIMIN 20000
Piksela Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
piksele të gjata të panënshkruara Intervali = 500; // koha që duhet të presim
ngjyra e panënshkruar e gjatëWipePreviousMillis = 0; teatër i gjatë i panënshkruarChasePreviousMillis = 0; ylber i gjatë i panënshkruarPreviousMillis = 0; ylber i gjatë i panënshkruarCyclesPrecomeMillis = 0;
int theaterChaseQ = 0;
uint16_t aktualePixel = 0; // me çfarë pikseli po operojmë
// Prek
#përfshi #përfshi #përfshi
// Reset Pin përdoret për I2C ose SPI
#përcaktoni CAP1188_RESET 9
// PIN CS përdoret për softuer ose harduer SPI
#përcaktoni CAP1188_CS 10
// Këto janë të përcaktuara për softuerin SPI, për harduerin SPI, kontrolloni tuajin
// Kunjat SPI të bordit në dokumentacionin Arduino #përcaktoni CAP1188_MOSI 11 #përcaktoni CAP1188_MISO 12 #përcaktoni CAP1188_CLK 13
// Përdorni I2C, pa pin të rivendosur!
Kapak Adafruit_CAP1188 = Adafruit_CAP1188 ();
void setup () {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ aktualePixel = 0; piksele.filloj (); // Kjo inicializon bibliotekën NeoPixel. piksele.shfaq (); // Kjo dërgon ngjyrën e azhurnuar të pikselit në harduer.
// Prek
Serial.fillo (300); Serial.println ("Testi CAP1188!");
nëse (! cap.begin ()) {
Serial.println ("CAP1188 nuk u gjet"); ndërsa (1); } Serial.println ("CAP1188 u gjet!"); }
lak void () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~ uint8_t prekur = kapak. Prekur (); nëse (e prekur == 0) {nëse ((pa shenjë e gjatë) (milis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (piksele. Ngjyra (0, 255, 125)); }} else {if ((pa shenja të gjata) (milis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (piksele. Ngjyra (100, 0, 150)); }}
}
ngjyra e pavlefshme Fshij (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ // Heq qafe pikselët e ngjyrave.setPixelColor (aktualePixel, c); pixels.setPixelColor (aktualePixel - 1, pixel. Color (0, 0, 0)); piksele.shfaq (); aktualePixel ++; nëse (aktualePixel == NUMPIXELS) {aktualePixel = 0; pixels.setPixelColor (7, pixel. Color (0, 0, 0));
}
}
Provojeni dhe argëtohuni! Siç mund ta shihni kur prekni kordonin C1 ngjyra ndryshon. (Nëse nuk është hera e parë, thjesht shkëputni Arduino -n tuaj nga priza dhe futeni përsëri në kompjuterin tuaj.)
Hapi 2: Hapi 2: Shtimi i zërit
Me përdorimin e një mësimi të dobishëm e bëra këtë. Udhëzimi është si më poshtë:
github.com/xitangg/-Pirates-of-the-Caribbe…
Koha për të kapur zilen tuaj! Vendosni (-) të ziles në një nga kunjat GND dhe (+) në pin 10
Bëhet fjalë për këtë, tani është koha për të ekzekutuar përsëri kodin dhe për të dëgjuar atë melodinë e mrekullueshme të Piratëve të Karaibeve! Tani argëtohuni duke testuar!
// Julia Emmink // Kodi i dritës, prekjes dhe muzikës për pemën ndërvepruese 2018-01-19 // Krijuar me përdorimin e Adafruit Neopixel dhe Captive Touch (CAP1188) (do të instalohet) dhe LED po ndizet pa vonesë
// NEOPIXEL ~~~~~~~~~~~~~~~~~~#përfshijnë
#përcaktoni PIXELSPIN 6
#përcaktoni NUMPIXELS 8 #përcaktoni KALIBRIMTIMIN 20000
Piksela Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
piksele të gjata të panënshkruara Intervale = 500; // koha që duhet të presim
ngjyra e panënshkruar e gjatëWipePreviousMillis = 0; teatër i gjatë i panënshkruarChasePreviousMillis = 0; ylber i gjatë i panënshkruarPreviousMillis = 0; ylber i gjatë i panënshkruarCyclesPreciousMillis = 0;
int theaterChaseQ = 0;
uint16_t aktualePixel = 0; // me çfarë pikseli po operojmë
// MUZIK
const int zile = 10; // Përcaktoni kunjin 10, mund të përdorni kunjat e tjera PWM (5, 6 ose 9) // Shënimi kunjat 3 dhe 11 nuk mund të përdoren kur përdorni funksionin e tonit në Arduino Uno const int songspeed = 1.5; // Ndrysho në 2 për një version më të ngadalshëm të këngës, sa më i madh numri aq më i ngadalshëm është kënga // ************************** ************** #përcakto NOTE_C4 262 // Përcaktimi i frekuencës së shënimeve #përcakto NOTE_D4 294 #përcakto NOTE_E4 330 #përcakto NOTE_F4 349 #define NOTE_G4 392 #përcakto NOTE_A4 440 #përcakto NOTE_B4 494 #define 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 shënime = {// Shënimi i këngës, 0 është pushim/impuls 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}; // ************************************* kohëzgjatja int = { / /kohëzgjatja e secilës shënim (në ms) Shënimi tremujor është vendosur në 250 ms 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125};
// Prek
#përfshi #përfshi #përfshi
// Reset Pin përdoret për I2C ose SPI
#përcaktoni CAP1188_RESET 9
// PIN CS përdoret për softuer ose harduer SPI
#përcaktoni CAP1188_CS 10
// Këto janë të përcaktuara për softuerin SPI, për harduerin SPI, kontrolloni tuajin
// Kunjat SPI të bordit në dokumentacionin Arduino #përcaktoni CAP1188_MOSI 11 #përcaktoni CAP1188_MISO 12 #përcaktoni CAP1188_CLK 13
// Përdorni I2C, pa pin të rivendosur!
Adafruit_CAP1188 kapak = Adafruit_CAP1188 ();
void setup () {
// MUZIK (për (int i = 0; i <203; i ++) {// 203 është numri i përgjithshëm i notave muzikore në kënga int prisni = kohëzgjatja * shpejtësia e këngëve; toni (zile, shënime , prit); // toni (kunja, frekuenca, kohëzgjatja);} // vonesa përdoret në mënyrë që të mos shkojë në lakin tjetër para se të përfundojë tingulli // Ju mund të klikoni rivendosjen në Arduino për të riprodhuar këngën // NEOPIXEL ~~~ ~~~~~~~~~~~~~~~ aktualePixel = 0; piksele.filloj (); // Kjo inicializon bibliotekën NeoPixel. piksele.shfaq (); // Kjo dërgon ngjyrën e azhurnuar të pikselit në harduer.
// Prek
Serial.filloj (300); Serial.println ("Testi CAP1188!"); nëse (! cap.begin ()) {Serial.println ("CAP1188 nuk u gjet"); ndërsa (1); } Serial.println ("CAP1188 u gjet!");
}
lak void () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~ uint8_t prekur = kapak. Prekur (); nëse (e prekur == 0) {nëse ((pa shenjë e gjatë) (milis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (piksele. Ngjyra (0, 255, 125)); }} else {if ((pa shenja të gjata) (milis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (piksele. Ngjyra (100, 0, 150)); }}
për (int i = 0; i = pixelsInterval) {
colorWipePreviousMillis = millis (); colorWipe (piksele. Ngjyra (0, 255, 125)); }} else {if ((pa shenjë të gjatë) (milis () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (piksele. Ngjyra (100, 0, 150)); }}
vonesë (pritje);
}
}
ngjyra e pavlefshme Fshij (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ // Heq qafe pikselët e ngjyrave.setPixelColor (aktualePixel, c); pixels.setPixelColor (aktualePixel-1, pixel. Color (0, 0, 0)); piksele.shfaq (); aktualePixel ++; nëse (aktualePixel == NUMPIXELS) {aktualePixel = 0; pixels.setPixelColor (7, pixel. Color (0, 0, 0));
}
}
Hapi 3: Hapi shtesë: Bërja e trungut 'Arduino gati'
Nëse vendosni të përdorni një trung peme, duhet të bëni sa më poshtë.
- Merrni një trung peme (e mora një nga një pemë e vjetër e Krishtlindjes falas)
- Matni Arduino -n tuaj dhe shihni se si dëshironi të keni instalime elektrike në trungun e pemës
- Hiqeni trungun (kam përdorur një makinë stërvitore nga shkolla)
- Lërini skajet e përafërta
- Shtoni detaje argëtuese të vogla
Detajet që shtova ishte një logo e vogël që e bëra me një prestar lazer. Unë gjithashtu i vendosa të gjitha pajisjet e mia elektronike brenda në një shkop brenda pemës sime dhe shtova mbushje të kafshëve të mbushura në pjesën e jashtme për të lënë dritën dhe për të dhënë atë butësinë e vogël shtesë.
Recommended:
Si të bëni një zile derë pa prekje, Zbulimi i temperaturës së trupit, GY-906, 433MHz duke përdorur Arduino: 3 hapa
Si të bëni një zile derë pa prekje, Zbulimi i temperaturës së trupit, GY-906, 433MHz duke përdorur Arduino: Sot ne do të bëjmë një zile derë pa prekje, ajo do të zbulojë temperaturën e trupit tuaj. Në situatën e tanishme, isshtë shumë e rëndësishme të dini nëse temperatura e trupit të dikujt është më e lartë se normale, kur dikush është duke bërë shaka. Ky projekt do të tregojë dritë të Kuqe nëse zbulon ndonjë
DIY Geiger Counter Me një ESP8266 dhe një ekran me prekje: 4 hapa (me fotografi)
DIY Geiger Counter Me një ESP8266 dhe një ekran me prekje: PPRDITSIM: VERSION I RI DHE I PRORMIRSUAR ME WIFI DHE TIPARE T OTHER TJERA T AD SHTUAR KETU kam projektuar dhe ndërtuar një Counter Geiger - një pajisje që mund të zbulojë rrezatimin jonizues dhe të paralajmërojë përdoruesin e tij për nivelet e rrezikshme të rrezatimit të ambientit me të gjitha klikim shumë i njohur jo
Ora me zile: Zile speciale, Shumë efektive: 3 hapa
Ora me zile: Zile speciale, Shumë efektive: Përshëndetje të gjithëve! Është për mua hera e parë që postoj një udhëzues, më falni për nivelin tim të ulët në anglisht :) Këtu është një zgjim për të ndihmuar ata që kthehen të flenë në mëngjes. Parimi është mjaft i thjeshtë, në vend që të zgjohesh nga një zile ose
ÇELWST E TOKCHS - Si të bëni një ndërprerës me prekje duke përdorur një tranzistor dhe tabelë: 4 hapa
ÇELWST E TOKCHS | Si të bëni një ndërprerës me prekje duke përdorur një tranzistor dhe tabelë buke .: Çelësi i prekjes është një projekt shumë i thjeshtë i bazuar në aplikimin e transistorëve. Në këtë projekt përdoret transistori BC547 i cili vepron si ndërprerës i prekjes. SIGURISHT P TOR T W SHIKUAR VIDEO -n E CILA DO T G JAPI TY DETAJET E PLOTA PR PROJEKTIN
DIY MusiLED, LED të sinkronizuara me muzikë me aplikacionin Windows & Linux me një klik (32-bit & 64-bit). Lehtë për t’u rikrijuar, e lehtë për t’u përdorur, e lehtë për t’u portuar .: 3 hapa
DIY MusiLED, LED të sinkronizuara me muzikë me aplikacionin Windows & Linux me një klik (32-bit & 64-bit). Lehtë për t'u rikrijuar, e lehtë për t'u përdorur, e lehtë për t'u transferuar.: Ky projekt do t'ju ndihmojë të lidhni 18 LED (6 të kuqe + 6 blu + 6 të verdhë) në bordin tuaj Arduino dhe të analizoni sinjalet e Kartës së Zërit të kompjuterit tuaj në kohë reale dhe t'i transmetoni ato në LED për t'i ndezur ato sipas efekteve të rrahjes (Snare, High Hat, Kick)