İçindekiler:

Çocuk MP3 Müzik Kutusu: 6 Adım (Resimli)
Çocuk MP3 Müzik Kutusu: 6 Adım (Resimli)

Video: Çocuk MP3 Müzik Kutusu: 6 Adım (Resimli)

Video: Çocuk MP3 Müzik Kutusu: 6 Adım (Resimli)
Video: Gezegenler - Eğitici Çocuk Şarkıları 2024, Kasım
Anonim
Çocuklar MP3 Müzik Kutusu
Çocuklar MP3 Müzik Kutusu
Çocuklar MP3 Müzik Kutusu
Çocuklar MP3 Müzik Kutusu

Arduino ile ilgili yeni kendin yap projeleri ararken, Çocuklar için RFID tabanlı MP3 çalarlar hakkında güzel fikirler buldum. Ve piyasada harika bir profesyonel oyuncak kutusu var - bu adamlar yönetiyor. Akıllı fikirlerinden harika bir iş çıkardılar. Kontrol edin - sayfalarını bulacaksınız!

İki çocuğum gitgide daha fazla sesli kitap ve müzik dinlemeye başladığından ve hala tüm kullanım güçlükleriyle birlikte eski güzel kompakt diskleri kullanmaya başladığından, onu harika bir birey yapmak için bazı güzel özelliklere sahip böyle bir MP3 çalar kutusu oluşturmaya karar verdim. onlar için oyuncak. Yakın zamanda ilk 3D yazıcımı satın aldıktan sonra, bu proje 3D baskıya da dalmak için iyi bir oyun alanı gibi görünüyordu.

Böylece konsept aşamasına başladım - hangi özellikleri uygulamak isterim - RFID, MP3 Çalar, WLAN (daha sonra iptal edilir), IMU kontrolü, LCD ekran, Alarmclock, kablosuz şarj… Biraz araştırma yapmam gerekiyordu, hangi bileşenlere ihtiyacım olacaktı. Hangi bileşenleri yeniden kullanabilirim? Hala bir IMU, LCD modülüm ve bazı Arduino nanolarım vardı.

Lehimleme ve ölçüm konusunda biraz tecrübe ile montaj, çalışma seanslarından sonra 1-2 içinde yapılabilir.

Bir taban, bir kapak plakası ve bir şarj istasyonundan oluşan Kutunun baskısı biraz zaman alıyor (yazıcı ve dilimleyici ayarlarına bağlı olarak 12+ saat), ancak bunu lehimleme sırasında yaptım.

Adım 1: Bileşenler

Bileşenler
Bileşenler

Bu arada bileşenler gerçekten ana akımdır. İşte bu proje için kullandığım bileşenlerin bir listesi.

1. LCD Ekran 1602 2x16 Büyük Karakterler 5 V 122*44 MM mavi

2. RFID okuyucu - NFC RFID-RC522 RF IC

3. MP3 Çalar - DFPlayer Mini MP3 Çalar Modülü MP3 Ses Kod Çözme Kartı Arduino İçin Destekleyen TF Kartı U- Disk IO/Seri Bağlantı Noktası/AD

4. Hoparlör - 4 ohm 3 Watt 53MM Kare Hoparlör 36MM Harici Manyetik Köpük Kenar Simli Kapak

5. Mikro SD Kart 8GB

6. MPU6050 3 Eksenli Analog Jiroskop Sensörü

7. MINI USB NANO V3.0 CH340 5 V 16 Mt Atmega328 Mikro Kontrol Kartı (neredeyse tüm pinler kullanıldı!)

8. DS3231 Hassas RTC - Alarmclock modülü

9. Güç Bankası JETech 3400 mAh

10. Evrensel DIY PCBA Qi Kablosuz Şarj Alıcı Modülü - Mavi + Siyah

11. Prototip PCB Kartı Protoboard Kalaylı Evrensel Breadboard Prototipleme Lehimsiz FR4 PCB Çift Taraflı 5x7 cm 50x70mm FR4

12. 1x 2N 3904: Transistör NPN TO-92 40V 0, 2A 0, 5W

13. Baz akımı sınırlamak için 1x1kOhm direnç, 3x220Ohm 0, 5 w (vat miktarını karşılamak için paralel! - daha yüksek özellikli bir direnç kullanılabilir, bunlardan vardı) emitör ve kollektör arasındaki akım yükü için. Arduino ve DFplayer arasındaki TX ve RX hattı için gürültüyü kesmek için 2x1kOhms - Burada bir sorunum yoktu.

14. Bazı standart DIY elektronik malzemeleri - havya, lehim, kesme makinesi, konektörler, kablolar…

14. Çok fazla enerji ve bir araya getirmek için birkaç saat:)

Yukarıdaki bileşenlerin toplam fiyatı ~30-35€ - çoğunlukla aliexpress.com ve dx.com'dan. Nakliye biraz zaman alıyor, ancak fiyat harika.

2. Adım: Elektronik Bağlantı

Elektronik Bağlantı
Elektronik Bağlantı
Elektronik Bağlantı
Elektronik Bağlantı
Elektronik Bağlantı
Elektronik Bağlantı

Bir düzen çizmedim, Fritzing veya benzeri herhangi bir kullanışlı araç kullanmadım. Muhtemelen daha sonraki bir zamanda. Aşağıdaki açıklama bağlantıyı gösterir. Bahsedilmeyen tüm pinler bağlı değildir.

Lehimleme sırasında hatların bağlantılarını ölçmeye devam ettim, ayrıca monte edilen bileşenlerle son kontrol yapıldı. Her şey bir araya getirildikten sonra tek bir kötü bağlantı aramak zorunda kalmaktan daha sinir bozucu bir şey yoktur. En çok GND ve voltaj + ile ilgilenir.

Herhangi bir bileşenin pin düzenine google üzerinden ulaşılabilir.

LCD Ekran

LED----GND

LED+--- 220Ohm'dan 5V güç bankasına

DB7 --- Arduino D2

DB6 --- Arduino D3

DB5 --- Arduino D7

DB4 --- Arduino D8

E---Arduino A1/Pin 15

R/W --- GND

RS --- Arduino A0/Pin 14

V0--- 10Kohm potansiyometre Rx (kontrast ayarlamak için)

VDD --- Güç Bankası + 5V

VSS---GND

DFPlayer MP3 oynatıcı

VCC---+5V Güç Bankası

RX --- yazılım seri Arduino D5 (gürültü sorunları olması durumunda potansiyel olarak 1kOhm direnç üzerinden)

TX --- yazılım seri Arduino D9 (gürültü sorunları olması durumunda potansiyel olarak 1kOhm direnç üzerinden)

SPK1 --- Hoparlör +

GND --- Güç Bankası GND

SPK2 --- Hoparlör -

Meşgul --- Arduino A7

GND --- GND

NFC522 RFID okuyucu

3.3V --- Arduino 3.3V

GND --- GND

MISO --- Arduino D12

MOSI --- Arduino D11

SCK --- Arduino D13

SDA --- Arduino D10

IMU 6050 jiroskop sensörü

VCC --- Arduino 3.3V

GND --- GND Güç Bankası

SCL --- Arduino A5/SCL

SDA --- Arduino A4/SDA

ADO---+3.3V (Yüksek sinyal) I2C adresi 0x69 için

DS3231 Gerçek zaman saati

3, 3V --- Arduino 3.3V

SDA --- Arduino A4/SDA

SCL --- Arduino A5/SCL

GND---GND

Mevcut yük Tetikleyici

2N3904 yayıcı -- GND

2N3904 tabanı -- 1kOhm üzerinden Arduino D6'ya

2N3904 toplayıcı - 3x220Ohms üzerinden (paralel! - daha yüksek özellikli bir direnç kullanılabilir, bende bunlar vardı) +5V'a

Taşınabilir şarj aleti

Güç bankasının V+ ve GND hatları, bir dişi USB konektörü aracılığıyla gemideki güç konektörüne bağlanır ve Arduino'nun Vin/GND'sine bağlanır). Güç bankası, kapak plakasındaki mikro anahtar ile açılır. Bir yük durumunu simüle etmek ve açmak için bir mikro anahtarı V+'a bir yük direnci aracılığıyla GND'ye lehimledim. Bundan sonra mevcut yük kapanmasını engeller.

+5V -- Kart üzerindeki güç konektörü +5V

GND -- GND kartındaki güç konektörü

+5V güç bankası -- yük direnci -- mikro anahtar Pin A

GND -- mikro anahtar pimi B

Adım 3: Elektronik Montaj

Elektronik Montaj
Elektronik Montaj
Elektronik Montaj
Elektronik Montaj
Elektronik Montaj
Elektronik Montaj

Kart bileşenleri - MP3 çalar, RTC, IMU, Arduino soketlere monte edilmiştir. Seçme ve yukarı/aşağı tuşları, RFID, LCD ve güç, daha sonra kutuya sığacak kadar uzun, kendinden lehimli 'bant kablolar' ile bağlanır.

Güç bankasını açmak için kullanılan mikro anahtar, sabit kapak plakasıdır - resimlerde gösterilmemiştir.

Kurulumu test etmek için sabit bir güç kaynağı kullandım.

Montaj sırasında her bileşeni ayrı ayrı test ettim -> bileşenler için örnek Arduino çizimleri burada çok yardımcı oluyor.

Güç bankasının düşük akımla çalışan bir otomatik kapanması olduğundan, 70 Ohm'luk bir dirençle 100 ms boyunca her 15 saniyede bir transistör kontrollü bir yük tepe noktası ekledim (aslında yeterli watt için 3 paralel 220 Ohm, bu sadece kısa bir tepe noktası ama üç direnç akımı paylaşacak ve bu nedenle özelliklerin üzerinde çalıştırılmayacaktır).

Daha sonra Mini DFPlayer'ın sürekli olarak > 70mA çektiği ortaya çıktı. Powerbank otomatik kapanmasını kutuyu kapatmak için de kullandığım için (artık mevcut yükü tetiklemeyerek) şimdi bunu yeniden düşünmem gerekiyor.

Akımı düşürmek için Arduino ve DFplayer'ın uyku modunda hala sorun yaşıyorum - kapanmayı etkinleştirmek için akım eşiğin altına düşmüyor. Geri bildirim hoş geldiniz.

Not: İlk kutumun elektroniklerini öldürdüğüm için ikinci kutu için başka bir powerbank sipariş etmek zorunda kaldım. Ve şuraya bakın - bu güç bankası, yük akımını tetiklemeyi bıraktıktan 10 saniye sonra kapanıyor -> kapatma şimdi çalışıyor.

Kablosuz şarj alıcısı, powerbank şarj usb'sine takılır. Şarj cihazı tabanı, 3D yazıcımla basılmış bir şarj kutusuna yerleştirilmiştir.

4. Adım: Yazılım

Yazılım
Yazılım

github'da mevcut yazılım

Programlama eğlencelidir, hızlı bir örnek çekirdeği ile başlamayı ve daha fazla gelişmeyi seviyorum. Sonuç olarak spesifikasyonları, özellik planlamasını ve yapılandırılmış program planlarını gerçekten yapmadığım için, bazı çalışan ama gerçekten zarif olmayan kodlarla sonuçlanıyorum. Bu her zaman yapılacak bir şeydir -> daha çok nesnelere gidin,.h ve.cpp'de ayırın …

Bununla birlikte, bir şeyi hızlı bir şekilde çalıştırmak istiyorum, bu yüzden çoğu durumda oraya en verimli yoldan ulaşamıyorum.

Ama harika olan şu ki - HW çalışır çalışmaz kişi her türlü şeyi yapmaya başlayabilir.

Birkaç kitaplık gerekli olan arduino IDE'yi kullandım - basitçe arduino IDE kitaplık yöneticisi ile yapılır.

Yani yazılımın şu anki sürümüm şunları destekliyor:

Karşılama mesajı

Hacim (hah)

Önceki/sonraki şarkıya geçmek için kutunun sola/sağa eğilmesi ve eğer RFID devre dışı bırakılmışsa ileri geri bir sonraki klasöre geçiş.

Duraklat/Oynat (ahh)

Başlatın, yeni RFID öğrenin - klasör sonraki RFID sonraki SD kart klasörüne göre atanır. Veriler Arduino EEPROM'da saklanır

RFID'ye atanan klasörü oynat - öğrenme işlevi aracılığıyla RFID'den klasöre atama

Kaydedilen ayarları etkinleştirmek için parametreleri yükleyin ve kaydedin. Fabrika ayarları:)

Saat ve tarih ayarı.

Alarmı açma/kapama, alarm saatini ve dakikasını ayarlama, alarm için sabit bir şarkı çalma.

RFID'yi kapatın - onsuz mp3 çalın.

Listemde biraz daha fikir var - hala uygulanacak

Sıcaklığı göster (RTC bunu yapabilir - kuvars üzerindeki etkiyi telafi etmek için sıcaklığı ölçer)

Sarsıldığında gülmeye başla, Alarm için şarkı ayarla

Öğrenme modunda RFID'ye hangi klasörün atanacağını seçin

Klasör atamasını ve RFID çipinde çalınan son şarkıyı saklayın - kutular arasında yeniden kullanılabilirlik (Bir tane daha yapıyorum - iki çocuk hatırladı….?)

kapatmayı etkinleştir - bu şu anda USB'ye bağlanmadan çalışmıyor -> Powerbank aracılığıyla mevcut yük bu ayarda azaltıldı.

SD karttaki klasör yapısı hakkında bilgi

Çocuklarım için bazı mp3 sesli kitaplarım ve müziklerim vardı. Bu yüzden şarkıları doğru isimlendirmeye dönüştürmek için bazı linux betikleri kullandım. Klasörler sırayla iki basamaklı sayılarla adlandırılmalıdır (yani "00", "01", "02"…). Oradaki şarkılar sırayla üç basamaklı sayılarla adlandırılmalıdır (yani "001.mp3", "002.mp3", …).

Açılış-karşılama mp3'üm ("Merhaba, ben senin oyuncak kutunuyum…") "99" klasöründe "001.mp3" olarak saklanıyor.

Komut dosyası aptal bir kanıt değildir ve orijinallerde değil, yalnızca bir 'kopya' dizininde kullanılmalıdır.

#!/bin/bashlet i=1 *.mp3 içindeki dosya için do if (($i < 10)); ardından mv "$file" "00${i}.mp3" elif (($i < 100)); sonra mv "$file" "0${i}.mp3" başka bir mv "$file" "${i}.mp3" fi i++ yapalım

Adım 5: Kutunun Basılması ve Birleştirilmesi

Kutunun Basılması ve Montajı
Kutunun Basılması ve Montajı
Kutunun Basılması ve Montajı
Kutunun Basılması ve Montajı
Kutunun Basılması ve Montajı
Kutunun Basılması ve Montajı

Şimdi HW ve SW çalışıyor - bir BOX'a ihtiyacım var!

Başlangıç için harika bir yer Tinkercad - bayıldım! Kullanımı basit ve istediğiniz her şeyi elde edersiniz. Büyük bir topluluk ve akıllı "Tinkerers" dan birçok harika örnek üzerine inşa etmek.

Kişi buna sonsuza kadar kolayca girebilir - burada bir değişiklik, yeni bir yuva, delik, … yeni tasarım, ….

Ama sonuçta şu anki kutu tasarımından tamamen memnunum. Ayrıca şarj cihazının mp3 kutusunu şarj etmek için yerleştirmesi için bir taban kutusu da yaptım. buraya bakın

Baskı zaman alıyor (~8-12 saat ve daha fazla) ve farklı çizgi kalınlıklarıyla test ettim, Sonunda yazıcı standartlarında kaldım. Mevcut kutular için prototip (başlangıçta eski tasarıma dayalı olarak basılmış) kutuları kullanıyorum, ancak en son tasarımın bazı yeni özellikleri, bağlantıları, yapılacaklar listemde başka bir öğe oluşturan bütünler var.

Ve henüz yapılacak çok önemli bir şey var: kutu için güzel kıyafetler alın - ama bu karımın alanı olacak - kutunun yeni kıyafetlerini sabırsızlıkla bekliyorum - yakında…

Çıktılar soğuduktan ve kutunun dışında elektroniklerin temel testi yapıldıktan hemen sonra son montajın yapılması gerekiyordu.

Parçaları sabitlemek için sıcak tutkal kullandım - Kapak plakasına sabitlenmiş mikro anahtar, LCD ve RFID alıcı. Bileşenleri önceden sabitlemek için çift taraflı bant kullandım ve ardından bazı son sabitleme noktalarını yerleştirmek için sıcak tutkal kullandım.

Baz kutusu ile aynı. İlk önce şarj alıcı plakasını kutunun zeminine sabitleyin - çift taraflı bant burada iyi bir iş çıkardı - kutuyu şarj cihazı tabanının üstüne koyarken şarj bobinine yeterince yakın olacak şekilde tabanın ortasına ayarlanması gerekiyor.

Ardından powerbank, tekrar çift taraflı ön sabitleyin, ardından 'stratejik' noktalara biraz sıcak tutkal koyun. Hoparlör, hazırlanan montaj yerlerinde güzel ve sıkı bazı yapışkan noktalarla sabitlenebilir.

Son olarak tahta - 3D baskı tasarımına bazı mini montaj pedleri ekledim, böylece tahta - yine - bazı stratejik sıcak tutkal noktaları ile düzgün bir şekilde takıldı. Çıngırak her şeyi parçalamamalı - bu yüzden buna biraz dikkat ettim.

Ve son olarak, mevcut bazı mini vidaları kullanın (baskı tasarımım bazı 3M vida montajlarını içeriyordu, ancak bunlar gerçek vidalar için gerçekten harika değiller)

Adım 6: Bitmiş Kutu - Henüz Kıyafetsiz

Image
Image
Bitmiş Kutu - Henüz Giysisiz
Bitmiş Kutu - Henüz Giysisiz
Bitmiş Kutu - Henüz Giysisiz
Bitmiş Kutu - Henüz Giysisiz

Ve işte çocuklarım için bitmiş iki kutu. Zaten bazı beta testleri yaptılar ve bazı yazılım hataları buldular;-).

Ayrıca 20 paket RFID M3 çıkartması aldım.

Şimdi tüm olası küçük figürleri toplamam ve MP3 kutusu için jeton çalmalarını sağlamam gerekiyor. Baba ve çocuklar için eğlence:)

Önerilen: