Mündəricat:
- Addım 1: Adım 1: Captive Touch ilə LED Üzük
- Addım 2: Adım 2: Səs əlavə edin
- Addım 3: Əlavə Addım: Kökü 'Arduino Hazır' etmək
Video: Arduino MusicStump: İşıq, Captive Touch və Buzzer: 3 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Yuxarıda LED halqası olan, interaktiv bir ağac, səs çıxarmaq üçün bir səs siqnalı və toxunduqda rəngi dəyişdirən içəridə bir toxunma sensoru. Bu əyləncəli kiçik şeyi etmək üçün aşağıdakılara ehtiyacınız olacaq:
Elektronika: 1x Arduino Uno
- 15x kabel
- Dairəvi uclu 1x lehimləmə dəmiri
- 1 x Adafruit 8 düyməli əsir toxunuşu (CAP1188)
- 1 ədəd Arduino elektrik kabeli
- 1x8 LED üzük
- 1x Buzzer
- 1 ədəd isti yapışqan tabancası
-CAP1188 kitabxanasını yükləyin
- Adafruit Neopixel kitabxanasını yükləyin
Əlavə (korpus):
- 1 ədəd ağac kötüyü
- İçəridə 1x çubuq
- hamısını yerləşdirmək üçün taxta plitə
- Xaricdən doldurulmuş heyvan içliyi
Kənarda başqa bir şey də istifadə edə bilərsiniz, yaradıcı olun!
İndi başlayaq…
Addım 1: Adım 1: Captive Touch ilə LED Üzük
İndi şanslısınızsa, LED üzüyünüzə artıq sancaqlar bağlanmışdır. Əks təqdirdə, lehimləmə vaxtıdır!
Bu layihə üçün istifadə edəcəyimiz şeylər bunlardır:
- DI (Rəqəmsal giriş, pin 6 ~
- 5V (güc üçün, 5V pin)
- GND (Torpaq, GND pin)
Hal -hazırda LED üzüyü budur.
Çörək taxtasına qoyun və hər şeyi aşağıdakı kimi bağlayın: SDA/MISO pində (analogda) A4SCK -da (analogda) A5VIN -də (gücdə) 5VGND -də C1 -də GND pin1x kabelində (Captive touch -ın özündə)
İndi test etmək üçün aşağıdakı kodu Arduino -ya yükləyin:
// Julia Emmink // İnteraktiv ağac üçün işıq və toxunma kodu 19 /// Adafruit Neopixel və Adafruit əsir toxunuşu (CAP1188) (quraşdırılacaq) və LED gecikmədən yanıb -sönür.
// NEOPIXEL ~~~~~~~~~~~~~~~~~
#daxil edin
#dexin PIXELSPIN 6 // LED Üzüyünü bağladığınız yer
#define NUMPIXELS 8 // Üzüklərinizdə olan LEDlərin sayı #define CALIBRATIONTIME 20000
Adafruit_NeoPixel pikselləri = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
işarəsiz uzun piksellərarası = 500; // gözləməli olduğumuz vaxt
işarəsiz uzun colorWipePreviousMillis = 0; imzasız uzun teatrChasePreviousMillis = 0; işarəsiz uzun göy qurşağıPreviousMillis = 0; işarəsiz uzun göy qurşağıCyclesPreviousMillis = 0;
int teatrChaseQ = 0;
uint16_t currentPixel = 0; // hansı piksel üzərində işləyirik
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~
#daxil edin #daxil edin #daxil edin
// Sıfırlama Pin I2C və ya SPI üçün istifadə olunur
#define CAP1188_RESET 9
// CS pin proqram və ya hardware SPI üçün istifadə olunur
#CAP1188_CS 10 təyin edin
// Bunlar proqram SPI üçün, hardware SPI üçün yoxlanılır
// Arduino sənədlərində boardun SPI pinləri #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// I2C istifadə edin, sıfırlama pimi yoxdur!
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
boş quraşdırma () {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ cariPixel = 0; piksel.begin (); // Bu NeoPixel kitabxanasını işə salır. piksel.show (); // Bu, yenilənmiş piksel rəngini aparata göndərir.
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~
Serial.begin (300); Serial.println ("CAP1188 testi!");
if (! cap.begin ()) {
Serial.println ("CAP1188 tapılmadı"); isə (1); } Serial.println ("CAP1188 tapıldı!"); }
boşluq döngəsi () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~~ uint8_t toxundu = cap.touched (); if (toxunulmuş == 0) {if ((işarəsiz uzun) (milis () - colorWipePreviousMillis)> = piksellərarası) {colorWipePreviousMillis = millis (); colorWipe (piksel. Color (0, 255, 125)); }} başqa {əgər ((işarəsiz uzun) (millis () - colorWipePreviousMillis)> = piksellərarası) {colorWipePreviousMillis = millis (); colorWipe (piksel. Color (100, 0, 150)); }}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~ // Rəng piksellərindən xilas olur.setPixelColor (currentPixel, c); piksel.setPixelColor (currentPixel - 1, piksel. Color (0, 0, 0)); piksel.show (); currentPixel ++; əgər (currentPixel == NUMPIXELS) {currentPixel = 0; piksel.setPixelColor (7, piksel. Color (0, 0, 0));
}
}
Test edin və əylənin! Gördüyünüz kimi C1 kabelinə toxunduqda rəng dəyişir. (İlk dəfə deyilsə, Arduino -nu ayırın və yenidən kompüterinizə qoşun.)
Addım 2: Adım 2: Səs əlavə edin
Lazımlı bir dərsdən istifadə edərək bunu etdim. Dərslik aşağıda verilmişdir:
github.com/xitangg/-Pirates-of-the-Caribbe…
Səs siqnalınızı tutmağın vaxtı gəldi! Səs siqnalının (-) işarəsini GND pinlərindən birinə (+) isə pin 10-a daxil edin
Budur, indi kodu yenidən işlətməyin və o sevimli Pirates of the Caribbean melodiyasını eşitməyin vaxtıdır! İndi əyləncəli sınaq keçirin!
// Julia Emmink // İnteraktiv ağac üçün işıq, toxunma və musiqi kodu 2018-01-19 // Adafruit Neopixel və Captive Touch (CAP1188) (quraşdırılacaq) və LED gecikmədən yanıb -sönür.
// NEOPIXEL ~~~~~~~~~~~~~~~~~#daxildir
#PIXELSPIN 6 təyin edin
#define NUMPIXELS 8 #define CALIBRATIONTIME 20000
Adafruit_NeoPixel pikselləri = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
işarəsiz uzun piksellərarası = 500; // gözləməli olduğumuz vaxt
işarəsiz uzun colorWipePreviousMillis = 0; imzasız uzun teatrChasePreviousMillis = 0; işarəsiz uzun göy qurşağıPreviousMillis = 0; işarəsiz uzun göy qurşağıCyclesPreviousMillis = 0;
int teatrChaseQ = 0;
uint16_t currentPixel = 0; // hansı piksel üzərində işləyirik
// MÜZİK ~~~~~~~~~~~~~~~~~~~~~~
const int buzzer = 10; // Pin 10 -u təyin edin, digər PWM pinlərindən istifadə edə bilərsiniz (5, 6 və ya 9) // Arduino Uno const int songspeed = 1.5 -də ton funksiyasından istifadə edərkən qeyd pinləri 3 və 11 istifadə edilə bilməz; // Mahnının daha yavaş versiyası üçün 2 -yə dəyişin, sayı nə qədər çox olarsa, mahnı da o qədər yavaş olar // *************************** ************** #define NOTE_C4 262 // Qeyd tezliyinin təyin edilməsi #deffine NOTE_D4 294 #define NOTE_E4 330 #deineDEHTE_F4 349 #deffine NOTE_G4 392 #define NOTE_A4 440 #deffine NOTE_B4 494 #deffine NOTE_C5 523 #define NOTE_D5 587 #define NOTE_E5 659 #deffine NOTE_F5 698 #deffine NOTE_G5 784 #deffine NOTE_A5 880 #deffine NOTE_B5 988 // *********************** ****************** int notları = {// Mahnının notu, 0 istirahət/nəbzdir 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 müddəti = { / /hər notun müddəti (ms olaraq) Çeyrek Qeyd 250 ms 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125};
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~
#daxil edin #daxil edin #daxil edin
// Sıfırlama Pin I2C və ya SPI üçün istifadə olunur
#define CAP1188_RESET 9
// CS pin proqram və ya hardware SPI üçün istifadə olunur
#CAP1188_CS 10 təyin edin
// Bunlar proqram SPI üçün, hardware SPI üçün yoxlanılır
// Arduino sənədlərində boardun SPI pinləri #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// I2C istifadə edin, sıfırlama pimi yoxdur!
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
boş quraşdırma () {
// MUSIC ~~~~~~~~~~~~~~~~~~~~~~~ for (int i = 0; i <203; i ++) {// 203, musiqi notlarının ümumi sayıdır mahnı int gözləyin = müddəti * mahnı sürəti; ton (buzzer, notlar , gözləyin); // ton (pin, tezlik, müddət);} // gecikmə istifadə olunur, belə ki ton çalınanadək növbəti döngəyə keçmir // Mahnını yenidən oxumaq üçün Arduinoda sıfırlama düyməsini basa bilərsiniz // NEOPIXEL ~~~ ~~~~~~~~~~~~~~~~ currentPixel = 0; piksel.begin (); // Bu NeoPixel kitabxanasını işə salır. piksel.show (); // Bu, yenilənmiş piksel rəngini aparata göndərir.
// TOUCH ~~~~~~~~~~~~~~~~~~~~~~
Serial.begin (300); Serial.println ("CAP1188 testi!"); if (! cap.begin ()) {Serial.println ("CAP1188 tapılmadı"); isə (1); } Serial.println ("CAP1188 tapıldı!");
}
boşluq döngəsi () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~~ uint8_t toxundu = cap.touched (); if (toxunulmuş == 0) {if ((işarəsiz uzun) (milis () - colorWipePreviousMillis)> = piksellərarası) {colorWipePreviousMillis = millis (); colorWipe (piksel. Color (0, 255, 125)); }} başqa {if ((imzasız uzun) (millis () - colorWipePreviousMillis)> = piksellərarası) {colorWipePreviousMillis = millis (); colorWipe (piksel. Color (100, 0, 150)); }}
üçün (int i = 0; i = piksellərarası) {
colorWipePreviousMillis = millis (); colorWipe (piksel. Color (0, 255, 125)); }} başqa {if ((imzasız uzun) (millis () - colorWipePreviousMillis)> = piksellərarası) {colorWipePreviousMillis = millis (); colorWipe (piksel. Color (100, 0, 150)); }}
gecikmə (gözləmək);
}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~ // Rəng piksellərindən xilas olur.setPixelColor (currentPixel, c); piksel.setPixelColor (currentPixel-1, piksel. Color (0, 0, 0)); piksel.show (); currentPixel ++; əgər (currentPixel == NUMPIXELS) {currentPixel = 0; piksel.setPixelColor (7, piksel. Color (0, 0, 0));
}
}
Addım 3: Əlavə Addım: Kökü 'Arduino Hazır' etmək
Bir ağac kötükdən istifadə etmək qərarına gəlsəniz, aşağıdakıları etməlisiniz.
- Bir ağac kötüyü alın (köhnə bir Milad ağacından pulsuz aldım)
- Arduino -nuzu ölçün və ağac kötüyündə naqillərin necə olmasını istədiyinizi görün
- Kötüyü aç (məktəbdən bir qazma maşını istifadə etdim)
- Kobud kənarları zımpara edin
- Əyləncəli kiçik detallar əlavə edin
Əlavə etdiyim detallar lazer kəsici ilə hazırladığım kiçik bir logo idi. Ağacımın içərisindəki bir çubuğa bütün elektronik əşyalar yığdım və işığın keçməsi və bu kiçik əlavə yumşaqlığı təmin etmək üçün xaricinə doldurulmuş heyvan dolması əlavə etdim.
Tövsiyə:
Bluetooth Uzaqdan İdarə Edilən İşıq Açarı - Gücləndirmə. İşıq Açarı Hələ İşləyir, Əlavə Yazı yoxdur.: 9 Addım (Şəkillərlə)
Bluetooth Uzaqdan İdarə Edilən İşıq Açarı - Gücləndirmə. İşıq Açarı Hələ İşləyir, Əlavə Yazı yoxdur .: 25 Noyabr 2017 -ni yeniləyin - Yükün kilovatını idarə edə bilən bu layihənin Yüksək Güclü bir versiyası üçün BLE Nəzarətini Yüksək Güclü Yüklərə Baxın - Əlavə Kablolama Lazım deyil Yeniləmə 15 Noyabr 2017 - Bəzi BLE lövhələri / proqram yığınları
İşıq Sensorlu Hərəkət Aktivləşdirilmiş İşıq Açarı: 5 addım
İşıq Sensorlu Hərəkət Aktivləşdirilmiş İşıq Şalteri: Hərəkət aktiv işıq anahtarı həm evdə, həm də ofisdə bir çox tətbiqə malikdir. Bununla birlikdə, bu işığın yalnız gecə vaxtı tetiklenebilmesi üçün bir işıq sensoru əlavə etmənin bir üstünlüyü var
Masa İşıq Süs və Qapı İşıq İşarəsi: 8 Addım (Şəkillərlə)
Masa İşıq Süslənməsi və Qapı İşıq İşarəsi: Bu dərslik, işıq saçan bir masa bəzəyini necə proqramlaşdıracağınızı və quracağınızı göstərəcək. Bu işıqlar bir saat ərzində rənglərini dəyişir. Proqramlaşdırmağı və yanan qapı işarəsini necə quracağınızı da öyrənəcəksiniz. Qapıdan istifadə edə bilərsiniz
Musiqi Reaktiv İşıq -- Masaüstünü Möhtəşəm etmək üçün Super Sadə Musiqi Reaktiv İşıq Necə Hazırlanır: 5 Addım (Şəkillərlə)
Musiqi Reaktiv İşıq || Masaüstü Awsome etmək üçün Super Sadə Musiqi Reaktiv İşıq Necə Hazırlanır: Salam uşaqlar, bu gün çox maraqlı bir layihə hazırlayacağıq.Bu gün biz reaktiv musiqi yaradacağıq. Led parlaqlığını dəyişəcək. əslində aşağı tezlikli səs siqnalı olan bas. Qurmaq çox sadədir, biz
LED İşıq Çəkmə Qələmləri: İşıq Doodle çəkmək üçün Alətlər: 6 Addım (Şəkillərlə)
LED İşıq Çəkmə Qələmləri: İşıq Doodle Çəkmək üçün Alətlər: Həyat yoldaşım Lori fasiləsiz bir karandaşdır və illərdir uzun pozlama fotoqrafiyası ilə oynamışam. PikaPika yüngül sənət qrupundan və rəqəmsal kameraların asanlığından ilhamlanaraq, nə edə biləcəyimizi görmək üçün yüngül rəsm sənəti formasına keçdik