Spisu treści:

Pozytywka MP3 dla dzieci: 6 kroków (ze zdjęciami)
Pozytywka MP3 dla dzieci: 6 kroków (ze zdjęciami)

Wideo: Pozytywka MP3 dla dzieci: 6 kroków (ze zdjęciami)

Wideo: Pozytywka MP3 dla dzieci: 6 kroków (ze zdjęciami)
Wideo: Pozytywka - Leśni 2024, Listopad
Anonim
Pozytywka MP3 dla dzieci
Pozytywka MP3 dla dzieci
Pozytywka MP3 dla dzieci
Pozytywka MP3 dla dzieci

Szukając nowych projektów DIY wokół arduino, znalazłem kilka fajnych pomysłów na odtwarzacze MP3 dla dzieci oparte na RFID. A na rynku jest jedno świetne profesjonalne pudełko na zabawki – ci faceci rządzą. Zrobili świetny biznes ze swojego inteligentnego pomysłu. Sprawdź - znajdziesz ich stronę!

Ponieważ dwójka moich dzieci coraz częściej zaczyna słuchać audiobooków i muzyki i nadal używa starych, dobrych płyt kompaktowych z całą trudną obsługą, postanowiłem zbudować taki odtwarzacz MP3 z kilkoma fajnymi funkcjami, aby uczynić go wspaniałym indywidualnym zabawka dla nich. Po tym, jak niedawno kupiłem swoją pierwszą drukarkę 3D, ten projekt wydawał się być dobrym placem zabaw, aby również zanurzyć się w druk 3D.

Zacząłem więc od fazy koncepcyjnej - jakie funkcje chciałbym wdrożyć - RFID, odtwarzacz MP3, WLAN (anulowane później), sterowanie IMU, wyświetlacz LCD, budzik, ładowanie bezprzewodowe… Musiałem zrobić trochę badań, jakich komponentów będę potrzebować. Jakie komponenty mogę ponownie wykorzystać? Miałem jeszcze IMU, moduł LCD, trochę Arduino nanos.

Przy pewnym doświadczeniu w lutowaniu i pomiarach montaż można wykonać w ciągu 1-2 po sesjach roboczych.

Wydruk Boxa składającego się z podstawy, nakładki i stacji ładującej zajmuje trochę czasu (12+ godzin w zależności od ustawień drukarki i krajalnicy), ale zrobiłem to podczas lutowania.

Krok 1: Komponenty

składniki
składniki

W międzyczasie komponenty są naprawdę popularne. Oto lista komponentów, których użyłem w tym projekcie.

1. Wyświetlacz LCD 1602 2x16 dużych znaków 5 V 122*44 MM niebieski

2. Czytnik RFID-NFC RFID-RC522 RF IC

3. Odtwarzacz MP3-moduł odtwarzacza DFPlayer Mini MP3 Płyta dekodowania głosu MP3 dla Arduino obsługująca kartę TF U-Disk IO/Port szeregowy/AD

4. Głośnik - 4 omy 3 waty 53 mm kwadratowy głośnik 36 mm zewnętrzna magnetyczna piankowa krawędź srebrzysta nasadka

5. Karta Micro SD 8 GB

6. MPU6050 3-osiowy analogowy czujnik żyroskopowy

7. Płytka mikrokontrolera MINI USB NANO V3.0 CH340 5 V 16 Mt Atmega328 (prawie wszystkie piny używane!)

8. DS3231 Precision RTC - moduł budzika

9. Powerbank JETech 3400 mAh

10. Uniwersalny moduł odbiornika bezprzewodowej ładowarki PCBA Qi DIY - niebieski + czarny

11. Płytka prototypowa Płytka prototypowa Płytka uniwersalna cynowana Prototypowanie bez lutowania FR4 PCB dwustronna 5x7 cm 50x70mm FR4

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

13. Rezystor 1x1kOhm ograniczający prąd bazowy, 3x220Ohm 0,5 W (równolegle! aby zapewnić moc - można użyć rezystora o wyższej specyfikacji, miałem takie) dla obciążenia prądowego między emiterem a kolektorem. 2x1kOhms dla linii TX i RX między Arduino a DFplayerem w celu zabicia hałasu - tutaj nie miałem problemu.

14. Niektóre standardowe elementy elektroniki dla majsterkowiczów - lutownica, lut, clipper, złącza, kable…

14. Dużo energii i kilka godzin na montaż:)

Całkowita cena powyższych komponentów ~30-35€ - głównie z aliexpress.com i dx.com. Wysyłka zajmuje trochę czasu, ale cena jest świetna.

Krok 2: Łączność elektroniki

Łączność elektroniczna
Łączność elektroniczna
Łączność elektroniczna
Łączność elektroniczna
Łączność elektroniczna
Łączność elektroniczna

Nie rysowałem układu, ani nie używałem żadnego podręcznego narzędzia, takiego jak Fritzing lub podobnego. Prawdopodobnie w późniejszym czasie. Poniższy opis przedstawia łączność. Wszystkie piny, które nie są wymienione, nie są połączone.

Podczas lutowania na bieżąco mierzyłem łączność linii, wykonywano również kontrolę końcówek z zamontowanymi komponentami. Nie ma nic bardziej irytującego niż szukanie jednego złego połączenia po zmontowaniu. Najbardziej zależy na GND i napięciu +.

Układ pinów dowolnego komponentu jest dostępny w google.

Wyświetlacz LCD

LED ---- GND

LED+--- Przez powerbank 220Ohm do 5V

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 potencjometr Rx (do regulacji kontrastu)

VDD --- Powerbank + 5 V

VSS---GND

Odtwarzacz MP3 DFPlayer

VCC --- + 5 V Powerbank

RX--- oprogramowanie szeregowe Arduino D5 (potencjalnie przez rezystor 1kOhm w przypadku problemów z hałasem)

TX--- oprogramowanie szeregowe Arduino D9 (potencjalnie przez rezystor 1kOhm w przypadku problemów z hałasem)

SPK1---Głośnik +

GND --- Powerbank GND

SPK2---Głośnik -

Zajęty --- Arduino A7

GND --- GND

Czytnik RFID NFC522

3,3 V --- Arduino 3,3 V

GND --- GND

MISO --- Arduino D12

MOSI --- Arduino D11

SCK --- Arduino D13

SDA---Arduino D10

Czujnik żyroskopowy IMU 6050

VCC --- Arduino 3.3 V

GND --- GND Powerbank

SCL --- Arduino A5/SCL

SDA --- Arduino A4/SDA

ADO---+3.3V (sygnał wysoki) dla adresu I2C 0x69

DS3231 Zegar czasu rzeczywistego

3, 3 V --- Arduino 3,3 V

SDA --- Arduino A4/SDA

SCL --- Arduino A5/SCL

GND --- GND

Aktualny wyzwalacz obciążenia

Emiter 2N3904 -- GND

Baza 2N3904 - przez 1kOhm do Arduino D6

Kolektor 2N3904 - przez 3x220Ohm (równolegle! - można zastosować rezystor o wyższej specyfikacji, ja miałem) do +5V

Powerbank

Linie V+ i GND Powerbanku podłączone przez żeńskie złącze USB do złącza zasilania na płycie i podłączenia do Vin/GND Arduino). Powerbank włączany jest mikroprzełącznikiem w pokrywie. Przylutowałem mikroprzełącznik do V+ przez rezystor obciążenia do GND, aby zasymulować stan obciążenia i włączyć go. Następnie bieżące obciążenie uniemożliwia jego wyłączenie.

+5V -- złącze zasilania na płycie +5V

GND-złącze zasilania na płycie GND

+5V powerbanku -- rezystor obciążenia -- mikroprzełącznik Pin A

GND -- mikroprzełącznik pin B

Krok 3: Montaż elektroniki

Montaż elektroniki
Montaż elektroniki
Montaż elektroniki
Montaż elektroniki
Montaż elektroniki
Montaż elektroniki

W podstawkach montowane są elementy płytki - odtwarzacz MP3, RTC, IMU, Arduino. Klawisze wyboru i góra/dół, RFID, wyświetlacz LCD i zasilanie są połączone za pomocą samolutowanych „kabli taśmowych” wystarczająco długich, aby zmieścić się później w pudełku.

Mikroprzełącznik do włączania powerbanku jest na stałe na pokrywie - nie pokazano na zdjęciach.

Do przetestowania konfiguracji użyłem stałego zasilacza.

Podczas montażu przetestowałem każdy komponent indywidualnie -> przykładowe szkice Arduino dla komponentów są tutaj bardzo pomocne.

Ponieważ powerbank miał automatyczne wyłączanie działające przy niskim natężeniu prądu, włączyłem szczyt obciążenia sterowany tranzystorem co 15 sekund przez 100 ms za pośrednictwem rezystora 70 Ohm (w rzeczywistości 3 równoległe 220 Ohm, aby zapewnić wystarczającą moc, to tylko krótki szczyt, ale trzy rezystory będą dzielić prąd, a zatem nie będą działać powyżej specyfikacji).

Później okazało się, że Mini DFPlayer ciągnie >70mA w sposób ciągły. Ponieważ używałem automatycznego wyłączania powerbanku również do wyłączania skrzynki (poprzez nie wyzwalanie już aktualnego obciążenia), teraz muszę to ponownie przemyśleć.

Nadal mam problemy z trybem uśpienia Arduino i DFplayer, aby obniżyć prąd - prąd nie spada poniżej progu, aby umożliwić wyłączenie. Opinie mile widziane.

Uwaga: do drugiego Boxa musiałem zamówić inny powerbank, ponieważ zabiłem elektronikę mojego pierwszego. I spójrz tutaj - ten powerbank wyłącza się 10 sekund po tym, jak przestanę wyzwalać prąd obciążenia -> teraz działa wyłączanie.

Odbiornik ładowania bezprzewodowego jest podłączony do gniazda USB ładującego powerbank. Podstawa ładowarki jest wbudowana w pudełko z ładowarką, wydrukowane na mojej drukarce 3D.

Krok 4: Oprogramowanie

Oprogramowanie
Oprogramowanie

Oprogramowanie dostępne na github

Programowanie to świetna zabawa, lubię zaczynać od szybkiego zestawu przykładów i dalej się rozwijać. Ponieważ tak naprawdę nie robię konsekwentnych specyfikacji, planowania funkcji i ustrukturyzowanych planów programów, kończę z pewnym działającym, ale niezbyt eleganckim kodem. To zawsze jest do zrobienia -> przejdź bardziej do obiektów, oddziel w.h i.cpp…

Jednak chcę, aby wszystko działało szybko, więc w wielu przypadkach nie docieram do celu najbardziej wydajną ścieżką.

Ale świetne jest to, że jak tylko sprzęt zacznie działać, można zacząć robić różne rzeczy.

Użyłem arduino IDE, kilka wymaganych bibliotek - po prostu zrobione za pomocą menedżera bibliotek arduino IDE.

Więc moja aktualna wersja oprogramowania obsługuje:

Wiadomość powitalna

Objętość (tak)

Przechylenie pudełka w lewo/w prawo, aby przejść do poprzedniego/następnego utworu i jeśli RFID jest wyłączone, do następnego folderu w tę iz powrotem.

Wstrzymaj/odtwórz (duh)

Zainicjuj, naucz się nowego RFID - folder jest przypisywany na podstawie kolejnego folderu RFID na karcie SD. Dane są przechowywane w pamięci EEPROM Arduino

Odtwórz folder przypisany do RFID - przypisanie RFID do folderu za pomocą funkcji uczenia

Załaduj i zapisz parametry, aby umożliwić zapisanie ustawień. Przywrócenie ustawień fabrycznych:)

Ustawienie zegara i daty.

Włącz/wyłącz alarm, ustawiając godzinę i minutę alarmu, odtwarzając ustaloną piosenkę dla alarmu.

Wyłącz RFID - odtwarzaj mp3 bez niego.

Jeszcze kilka pomysłów na mojej liście - jeszcze do realizacji

Pokaż temperaturę (RTC może to zrobić - mierzy temperaturę, aby skompensować wpływ na kwarc)

Zacznij się śmiać, gdy zostaniesz wstrząśnięty, Ustaw piosenkę na alarm

Wybierz, który folder jest przypisany do RFID w trybie uczenia

Przypisanie folderu do przechowywania i ostatnia piosenka odtwarzana na chipie RFID - możliwość ponownego użycia między pudełkami (buduję kolejny - pamiętasz dwoje dzieci….?)

enable off-off - to nie działa teraz bez podłączenia do USB -> prąd obciążenia przez Powerbank jest zredukowany w tym ustawieniu.

Informacje o strukturze folderów na karcie SD

Miałem zapisane audiobooki mp3 i muzykę dla moich dzieci. Użyłem więc kilku skryptów linuksowych, aby przekształcić piosenki we właściwe nazewnictwo. Foldery należy nazywać w kolejności dwucyfrowych liczb (np. „00”, „01”, „02”…). Utwory tam muszą być nazwane kolejno trzycyfrowymi numerami (np. "001.mp3", "002.mp3", …).

Mój powitalny plik mp3 („Witaj, jestem twoim pudełkiem z zabawkami…”) jest przechowywany w folderze „99” jako „001.mp3”.

Skrypt nie jest idiotoodporny i powinien być używany tylko w katalogu 'copy', a nie na oryginałach.

#!/bin/bashlet i=1 dla pliku w *.mp3 do if (($i < 10)); następnie mv "$plik" "00${i}.mp3" elif (($i < 100)); then mv "$plik" "0${i}.mp3" else mv "$plik" "${i}.mp3" fi let i++ gotowe

Krok 5: Drukowanie i montaż pudełka

Drukowanie i montaż pudełka
Drukowanie i montaż pudełka
Drukowanie i montaż pudełka
Drukowanie i montaż pudełka
Drukowanie i montaż pudełka
Drukowanie i montaż pudełka

Więc teraz sprzęt i oprogramowanie działają - potrzebuję BOX!

Świetnym miejscem na początek jest Tinkercad - uwielbiam to! Prosty w użyciu i masz wszystko, czego chcesz. Opierając się na ogromnej społeczności i wielu świetnych przykładach od sprytnych „Tinkerers”.

Spokojnie można się w to wciągnąć na zawsze – tu jedna zmiana, tam nowe mocowanie, otwór, … nowy design, ….

Ale na koniec jestem całkowicie zadowolony z obecnego projektu pudełka. Zbudowałem też skrzynkę bazową na ładowarkę, na której można umieścić pudełko z mp3 do… ładowania. Spójrz tutaj

Drukowanie zajmuje dużo czasu (~8-12 godzin i więcej) i testowałem z różnymi grubościami linii. Na koniec pozostałem przy standardach drukarek. Do obecnych pudełek używam pudełek prototypowych (początkowo wydrukowanych na podstawie starszego projektu), jednak najnowszy projekt ma kilka nowych funkcji, mocowań, otworów, które stanowią kolejną pozycję na mojej liście rzeczy do zrobienia.

I jeszcze jedna bardzo ważna rzecz do zrobienia: zdobądź trochę fajnych ciuchów do pudełka - ale to będzie domena mojej żony - czekam na nowe ciuchy do pudełka - już niedługo…

Jak tylko wydruki ostygną i podstawowy test elektroniki zostanie wykonany poza pudełkiem, należało wykonać ostateczny montaż.

Do mocowania części użyłem gorącego kleju - mikroprzełącznik, wyświetlacz LCD i odbiornik RFID przymocowane do pokrywy. Użyłem taśmy dwustronnej do wstępnego zamocowania elementów, a następnie użyłem gorącego kleju, aby umieścić w nich końcowe punkty mocowania.

To samo z pudełkiem podstawowym. Najpierw przymocuj płytkę odbiornika ładowania do podłoża skrzynki - taśma dwustronna sprawdziła się tutaj - należy dopasować do środka podstawy, aby była wystarczająco blisko cewki ładującej podczas umieszczania skrzynki na podstawie podstawy ładowarki.

Następnie powerbank, ponownie wstępnie przymocuj obustronnie, a następnie nałóż trochę gorącego kleju na „strategiczne” punkty. Głośnik można było przymocować kilkoma ładnymi punktami klejenia na przygotowanych mocowaniach - ładnie i ciasno.

W końcu deska – do projektu druku 3D dołączyłem kilka mini padów montażowych, więc deska była tam ładnie dopasowana – znowu – kilka strategicznych punktów gorącego kleju. Grzechotanie nie powinno rozbijać rzeczy - więc poświęciłem temu trochę uwagi.

I na koniec użyj kilku dostępnych mini śrub (mój nadruk zawierał kilka mocowań śrubowych 3M, ale nie są one zbyt dobre dla prawdziwych śrub)

Krok 6: Gotowe pudełko – jeszcze bez ubrań

Image
Image
Gotowe Pudełko – Jeszcze Bez Ubrania
Gotowe Pudełko – Jeszcze Bez Ubrania
Gotowe Pudełko – Jeszcze Bez Ubrania
Gotowe Pudełko – Jeszcze Bez Ubrania

A oto dwa gotowe pudełka dla moich dzieci. Przeprowadzili już testy beta i znaleźli kilka błędów w oprogramowaniu;-).

Kupiłem też 20 paczek naklejek RFID M3.

Teraz muszę zebrać wszystkie możliwe małe figurki i sprawić, by grały w żetony do pudełka MP3. Zabawa dla ojca i dzieci:)

Zalecana: