
İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:14

Üstte bir LED halkası, ses çıkarmak için bir zil ve içinde dokunduğunuzda rengi değiştiren sabit bir dokunma sensörü bulunan etkileşimli bir ağaç. Bu eğlenceli küçük şeyi yapmak için aşağıdakilere ihtiyacınız olacak:
Elektronik: - 1x Arduino Uno
- 15x kablo
- Yuvarlak uçlu 1x havya
- 1 adet Adafruit 8 tuşlu sabit dokunuş (CAP1188)
- 1x Arduino güç kablosu
- 1x 8 LED halka
- 1x Zil
- 1x sıcak tutkal tabancası
- CAP1188 kütüphanesini indirin
- Adafruit Neopixel kütüphanesini indirin
Ekstra (gövde):
- 1x ağaç kütüğü
- İç kısım için 1x çubuk
- hepsini yerleştirmek için ahşap tabak
- Dışarısı için doldurulmuş hayvan dolgusu
Dışarıda başka bir şey de kullanabilirsiniz, yaratıcı olun!
Şimdi başlayalım…
Adım 1: Adım 1: Tutsak Dokunma ile LED Halka

Şimdi, eğer şanslıysanız, LED halkanızda zaten ona bağlı pimler var. Değilse, lehimleme zamanı!
Bu proje için kullanacağımız şeyler:
- DI (Dijital giriş, pin 6~
- 5V (güç için, 5V pin)
- GND (Toprak, GND pimi)
Şimdilik LED halkası bu. Şimdi tutsak dokunuş.
Bir devre tahtasına yerleştirin ve her şeyi aşağıdaki gibi bağlayın: Pin içinde SDA/MISO (analog giriş) Pin içinde A4SCK (analog giriş) A5VIN giriş (güç) 5VGND bir GND pin1x kablosunda C1'de (Captive touch'ın kendisinde)
Şimdi test etmek için aşağıdaki kodu Arduino'nuza yükleyin:
// Julia Emmink// Etkileşimli ağaç için ışık ve dokunma kodu 19/// Adafruit Neopixel ve Adafruit sabit dokunuş (CAP1188) (kurulacak) kullanılarak yapılmıştır ve LED gecikme olmadan yanıp söner
// NEOPİKSEL ~~~~~~~~~~~~~~~~~~
#Dahil etmek
#define PIXELSPIN 6 // LED Halkayı bağladığınız yer
#define NUMPIXELS 8 //Halkanızdaki LED'lerin miktarı #define CALIBRATIONTIME 20000
Adafruit_NeoPixel piksel = Adafruit_NeoPixel(NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
işaretsiz uzun pikselAralık = 500; // beklememiz gereken süre
imzasız uzun colorWipePreviousMillis = 0; imzasız uzun tiyatroChasePreviousMillis = 0; imzasız uzun gökkuşağıÖncekiMillis = 0; imzasız uzun gökkuşağıDöngülerÖncekiMillis = 0;
int theatreChaseQ = 0;
uint16_t currentPixel = 0;// hangi piksel üzerinde çalışıyoruz
// DOKUNMAK ~~~~~~~~~~~~~~~~~~~~~~
#include #include #include
// I2C veya SPI için Reset Pin kullanılır
#define CAP1188_RESET 9
// CS pini yazılım veya donanım SPI için kullanılır
#define CAP1188_CS 10
// Bunlar yazılım SPI'si için tanımlanmıştır, donanım SPI'si için
// Arduino belgelerinde kartın SPI pinleri #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// I2C kullanın, sıfırlama pini yok!
Adafruit_CAP1188 cap = Adafruit_CAP1188();
geçersiz kurulum() {
// NEOPİKSEL ~~~~~~~~~~~~~~~~~ mevcutPixel = 0; piksel.begin(); // Bu, NeoPixel kitaplığını başlatır. piksel.göster(); // Bu, güncellenen piksel rengini donanıma gönderir.
// DOKUNMAK ~~~~~~~~~~~~~~~~~~~~~~
Seri.başla(300); Serial.println("CAP1188 testi!");
if (!cap.begin()) {
Serial.println("CAP1188 bulunamadı"); iken (1); } Serial.println("CAP1188 bulundu!"); }
boşluk döngüsü () {
// DOKUNMATİK + NEOPİKSEL ~~~~~~~~~~~~~~~~~~~~~ uint8_t dokundu = cap.touched(); if (dokunuldu == 0) { if ((unsigned long)(millis() - colorWipePreviousMillis) >= pikselInterval) { colorWipePreviousMillis = millis(); colorWipe(pixels. Color(0, 255, 125)); } } else { if ((unsigned long)(millis() - colorWipePreviousMillis) >= pikselInterval) { colorWipePreviousMillis = millis(); colorWipe(pixels. Color(100, 0, 150)); } }
}
geçersiz colorWipe(uint32_t c) {
// NEOPİKSEL ~~~~~~~~~~~~~~~~~ // Piksel renginden kurtulur.setPixelColor(currentPixel, c); piksel.setPixelColor(currentPixel - 1, piksel. Color(0, 0, 0)); piksel.göster(); geçerliPixel++; if (currentPixel == NUMPIXELS) { currentPixel = 0; piksel.setPixelColor(7, piksel. Renk(0, 0, 0));
}
}
Test edin ve eğlenin! Gördüğünüz gibi C1 kablosuna dokunduğunuzda renk değişiyor. (İlk seferde olmazsa, Arduino'nuzu fişten çekin ve bilgisayarınıza tekrar takın.)
Adım 2: Adım 2: Ses Ekleme
Kullanışlı bir öğretici kullanarak bunu yaptım. Öğretici aşağıdadır:
github.com/xitangg/-Pirates-of-the-Caribbe…
Zilinizi kapma zamanı! Zil sesini (-) GND pinlerinden birine ve (+) pinini 10~ pinine koyun.
Bu kadar, şimdi kodu tekrar çalıştırmanın ve o güzel Karayip Korsanları melodisini duymanın zamanı geldi! Şimdi iyi eğlenceler test edin!
// Julia Emmink// Etkileşimli ağaç için ışık, dokunma ve müzik kodu 2018-01-19// Adafruit Neopixel ve Captive Touch (CAP1188) (kurulacak) kullanılarak yapılmıştır ve LED gecikme olmadan yanıp söner
// NEOPİKSEL ~~~~~~~~~~~~~~~~~#include
#define PIXELSPIN 6
#define NUMPIXELS 8 #define CALIBRATIONTIME 20000
Adafruit_NeoPixel piksel = Adafruit_NeoPixel(NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
işaretsiz uzun pikselAralık=500; // beklememiz gereken süre
imzasız uzun colorWipePreviousMillis=0; imzasız uzun tiyatroChasePreviousMillis=0; imzasız uzun gökkuşağıÖncekiMillis=0; imzasız uzun gökkuşağıDöngülerÖncekiMillis=0;
int theatreChaseQ = 0;
uint16_t currentPixel = 0;// hangi piksel üzerinde çalışıyoruz
// MÜZİK ~~~~~~~~~~~~~~~~~~~~~~
const int buzzer = 10; //Pin 10'u tanımlayın, diğer PWM pinlerini (5, 6 veya 9) kullanabilir // Not 3 ve 11 pinleri Arduino'da tone fonksiyonu kullanılırken kullanılamaz Uno const int şarkı hızı = 1.5; //Şarkının daha yavaş versiyonu için 2'ye değiştirin, sayı ne kadar büyükse şarkı o kadar yavaş //****************************** ************** #define NOTE_C4 262 //Nota frekansını tanımlama #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 notlar = { //Şarkının notası, 0 bir dinlenme/nabızdır 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 süre = { / /her notanın süresi (ms cinsinden) Çeyrek Nota 250 ms olarak ayarlanmıştır 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125};
// DOKUNMAK ~~~~~~~~~~~~~~~~~~~~~~
#include #include #include
// I2C veya SPI için Reset Pin kullanılır
#define CAP1188_RESET 9
// CS pini yazılım veya donanım SPI için kullanılır
#define CAP1188_CS 10
// Bunlar yazılım SPI'si için tanımlanmıştır, donanım SPI'si için
// Arduino belgelerinde kartın SPI pinleri #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// I2C kullanın, sıfırlama pini yok!
Adafruit_CAP1188 cap = Adafruit_CAP1188();
geçersiz kurulum() {
// MÜZİK ~~~~~~~~~~~~~~~~~~~~~ for (int i=0;i<203;i++){ //203, içindeki toplam nota sayısıdır şarkı int bekle = süre * şarkı hızı; ton(buzzer, notlar, bekleyin); //ton(pin, frekans, süre);} //Ton çalma bitmeden sonraki döngüye gitmemesi için gecikme kullanılır //Şarkıyı tekrar çalmak için Arduino'da reset'e tıklayabilirsiniz // NEOPIXEL ~~~ ~~~~~~~~~~~~~~~ mevcutPixel = 0; piksel.begin(); // Bu, NeoPixel kitaplığını başlatır. piksel.göster(); // Bu, güncellenen piksel rengini donanıma gönderir.
// DOKUNMAK ~~~~~~~~~~~~~~~~~~~~~~
Seri.başla(300); Serial.println("CAP1188 testi!"); if (!cap.begin()) { Serial.println("CAP1188 bulunamadı"); iken (1); } Serial.println("CAP1188 bulundu!");
}
boşluk döngüsü () {
// DOKUNMATİK + NEOPİKSEL ~~~~~~~~~~~~~~~~~~~~~ uint8_t dokundu = cap.touched(); if (dokunuldu == 0) { if ((unsigned long)(millis() - colorWipePreviousMillis) >= pikselInterval) { colorWipePreviousMillis = millis(); colorWipe(pixels. Color(0, 255, 125)); } } else { if ((unsigned long)(millis() - colorWipePreviousMillis) >= pikselInterval) { colorWipePreviousMillis = millis(); colorWipe(pixels. Color(100, 0, 150)); } }
for (int i=0;i= pikselAralık) {
colorWipePreviousMillis = millis(); colorWipe(pixels. Color(0, 255, 125)); } } else { if ((unsigned long)(millis() - colorWipePreviousMillis) >= pikselInterval) { colorWipePreviousMillis = millis(); colorWipe(pixels. Color(100, 0, 150)); }}
gecikme(bekle);
}
}
geçersiz colorWipe(uint32_t c){
// NEOPİKSEL ~~~~~~~~~~~~~~~~~ // Pixellerden kurtulur.setPixelColor(currentPixel, c); piksel.setPixelColor(currentPixel-1, piksel. Color(0, 0, 0)); piksel.göster(); geçerliPixel++; if(currentPixel == NUMPIXELS){ currentPixel = 0; piksel.setPixelColor(7, piksel. Renk(0, 0, 0));
}
}
Adım 3: Ek Adım: Stump'ı 'Arduino'ya Hazır' hale getirmek



Bir ağaç kütüğü kullanmaya karar verirseniz, aşağıdakileri yapmanız gerekir.
- Bir ağaç kütüğü alın (eski bir Noel ağacından ücretsiz aldım)
- Arduino'nuzu ölçün ve kabloların ağaç kütüğünde nasıl olmasını istediğinizi görün
- Güdük oymak (okuldan bir matkap makinesi kullandım)
- Pürüzlü kenarları zımparalayın
- Eğlenceli küçük ayrıntılar ekleyin
Eklediğim detaylar lazer kesici ile yaptığım küçük bir logoydu. Ayrıca tüm elektronik eşyalarımı ağacımın içindeki bir çubuğa yerleştirdim ve ışığın geçmesine izin vermek ve o küçük ekstra yumuşaklığı vermek için dışına doldurulmuş hayvan dolgusu ekledim.
Önerilen:
Arduino Araba Geri Geri Park Uyarı Sistemi - Adım Adım: 4 Adım

Arduino Araba Geri Geri Park Uyarı Sistemi | Adım Adım: Bu projede Arduino UNO ve HC-SR04 Ultrasonik Sensör kullanarak basit bir Arduino Araba Geri Park Sensörü Devresi tasarlayacağım. Bu Arduino tabanlı Araba Ters uyarı sistemi, Otonom Navigasyon, Robot Mesafesi ve diğer menzil r
Konuşma/Sesli Bildirim Uyarı Sistemini Yapın: 4 Adım

Konuşma/Sesli Bildirim Uyarı Sistemini Yapın: Bu projemizde Konuşan/Sesli Bildirim ve Uyarı Sistemi yaptık. Bu projede en az iki sensör kullanılabilir
Sesli Sohbet Sesli Mobil Oyunlar Nasıl Kaydedilir *Kök Yok: 4 Adım

Sesli Sohbet Sesi ile Mobil Oyunlar Nasıl Kaydedilir * Root yok: Bugün PUBG gibi mobil oyunların büyük başarısı nedeniyle birçok insan bunu yayınlamak istiyor ancak ekranınızı kaydedebilmenize rağmen büyük bir sorun var ama android dozu izin vermiyor sesli sohbetinizi kaydetmeniz için. Ya sesinizi kaydedebilirsiniz
Microbit Gun Hafif Sesli Oyuncak: 5 Adım

Microbit Gun Light Sound Thing Toy: Bu sadece benim bileşenlerimi ve malzemelerimi denemek ve kullanmak ve benim için oynamak ve bir şeyler yapmak zorunda kalma kaşıntımı kaşımak için yapılmış basit bir oyuncak. Bir oyuncak olarak kastedildiğim için gerçekçi görünmesini sağlamadım ve sadece genel olması için yaptım
Sesli Uyarı: 18 Adım

Sesli Uyarı: Tasarladığım PCB'nin adı Sesli Uyarı. Bu kart, bir stereo ses kaynağı ile bir FM vericisi veya amplifikatörü gibi bir stereo ses tüketicisi arasına yerleştirilmiştir. Kart kablosuz olarak şifreli bir mesaj aldığında, ses akışına girer