Πίνακας περιεχομένων:

AdaBox004 Music Player: 4 Βήματα
AdaBox004 Music Player: 4 Βήματα

Βίντεο: AdaBox004 Music Player: 4 Βήματα

Βίντεο: AdaBox004 Music Player: 4 Βήματα
Βίντεο: Adabox004 Unboxing 2024, Νοέμβριος
Anonim
Πρόγραμμα αναπαραγωγής μουσικής AdaBox004
Πρόγραμμα αναπαραγωγής μουσικής AdaBox004

Χρησιμοποίησα τα μέρη στο AdaBox004 για να φτιάξω ένα απλό πρόγραμμα αναπαραγωγής μουσικής. Συνδέεται σε μια θύρα USB και αρχίζει να παίζει τραγούδια τυχαία από την κάρτα micro SD. Είναι για το εργαστήριό μου για μια πηγή χωρίς φασαρία αισιόδοξων τραγουδιών.

Βήμα 1: Μέρη

AdaBox004 (https://www.adafruit.com/product/3370)

Βήμα 2: Φτιάξτε το Music Box

Φτιάξτε το Music Box
Φτιάξτε το Music Box
Φτιάξτε το Music Box
Φτιάξτε το Music Box

Οι γενικές οδηγίες βρίσκονται στον ιστότοπο AdaFruit στη διεύθυνση

Είναι σημαντικό να προσέξετε:

Κατά την ανάγνωση των οδηγιών του AdaBox004 είναι εύκολο να παραβλέψετε συνδέσμους προς ιστότοπους οδηγιών για τα εξαρτήματα. Φροντίστε να δώσετε προσοχή στα πράσινα κουτιά που έχουν συνδέσμους για το: Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266). Στην ενότητα "Χρήση του Arduino IDE" για τον πίνακα έχει συνδέσμους προς τα προγράμματα οδήγησης που θα χρειαστείτε για να συνδέσετε τον πίνακα και να κατεβάσετε τον κωδικό από το Arduino IDE, καθώς και οδηγίες για την προσθήκη του πίνακα ως επιλογή στο Arduino IDE.

Ομοίως, δώστε προσοχή στο σύνδεσμο για το Music Maker FeatherWing (https://learn.adafruit.com/adafruit-music-maker-featherwing/). Έχει οδηγίες για την εγκατάσταση των απαραίτητων βιβλιοθηκών στο Arduino.

Συνδέω το ποτενσιόμετρο ακριβώς όπως φαίνεται (https://learn.adafruit.com/adabox004/adding-a-volume-knob)-αλλά σημειώστε ότι μετακίνησα το Φτερό πιο πίσω στο ψωμί για να χωρέσει το καλώδιο USB.

Το λευκό κουτί συνοδεύεται από το κιτ. Απλώς χρησιμοποίησα μια διάτρηση για να κάνω τρύπες αρκετά μεγάλες για να χωρέσει το καλώδιο USB που περιλαμβάνεται. Είχα κάνει μια μικρή σχισμή με ένα μαχαίρι τσέπης στο διπλωμένο κουτί, έτσι ήξερα πού σε κάθε πίνακα να κόψω.

Για το άνοιγμα του ηχείου, εκτίμησα το κέντρο και το σημάδεψα με ένα μεγάλο ξένο νόμισμα (στην Κόστα Ρίκα 100 κολώνες για την ακρίβεια), έπειτα έκοψα τον κύκλο με ένα μαχαίρι χόμπι καταστήματος. Το ηχείο ήταν ευθυγραμμισμένο και σημάδεψα πού πρέπει να πάνε τα μικρά μπουλόνια με μια απότομη γροθιά.

Βήμα 3: Κωδικός προγράμματος αναπαραγωγής μουσικής

Τροποποίησα τον κωδικό του παραδείγματος για τη συσκευή αναπαραγωγής φτερών, αφαιρώντας τον κωδικό που δεν ίσχυε. Μπορείτε να το κόψετε και να το επικολλήσετε στο Arduino IDE και στη συνέχεια να το φορτώσετε στο φτερό σας.

Σημειώστε ότι δυσκολεύτηκα να προσπαθήσω να αναγνωρίσω τα αρχεία. Αυτό που έχω εδώ λειτουργεί, αλλά πρέπει να προσαρμόσετε τον κώδικα για να αλλάξετε τον αριθμό των διαθέσιμων τραγουδιών. Και σημειώστε ότι ο τρόπος που το έκανα θα δυσκολέψει να κάνω πάνω από 100 τραγούδια (000 - 099) επειδή επιλέγει μόνο 2 μεμονωμένα ψηφία. Θα μπορούσα να είχα επιλέξει τον πραγματικό αριθμό κομματιού, αλλά τότε θα έπρεπε να τον αναλύσω για να δημιουργήσω το σωστό όνομα αρχείου. Maybeσως σε κάποια μελλοντική επανάληψη.

Το αρχείο είναι επίσης διαθέσιμο στο GitHub στη διεύθυνση https://github.com/KFW/AdaBox004. Αν κάνω οποιεσδήποτε αλλαγές, εκεί θα είναι.

// AdaBox004_random_songs

// Ειδικά για χρήση με το φτερό του Adafruit, οι καρφίτσες έχουν προρυθμιστεί εδώ! // τροποποιημένο παράδειγμα feather_player για το έργο AdaBox 004 // αυτόνομο πρόγραμμα αναπαραγωγής που παίζει τυχαία τραγούδια από τη λίστα αναπαραγωγής // έβγαλε τον αχρησιμοποίητο κώδικα // είχε πρόβλημα να πάρει όνομα αρχείου συμβολοσειρά σε εργασία μετατροπή Τύπου συμβολοσειράς // αφού η κλήση λειτουργίας για αναπαραγωγή χρησιμοποιεί char array // αφού δοκίμασα διαφορετικές προσεγγίσεις αυτό είναι το kludge που βρήκα // τα κομμάτια ονομάζονται TRACK ##. mp3 // Έχω 60 τραγούδια στην κάρτα SD I Χρησιμοποιώ (000 - 059) // θα ήταν πιο έξυπνο να μετρήσω # αρχεία ή να βρω κάποιον άλλο τρόπο για να λάβω τυχαία το όνομα του αρχείου // Ωραία την επόμενη φορά

// περιλαμβάνει βιβλιοθήκες SPI, MP3 και SD

#συμπεριλάβω #συμπεριλάβω #συμπεριλάβω

// Αυτές είναι οι καρφίτσες που χρησιμοποιούνται

#define VS1053_RESET -1 // VS1053 pin reset (not used!) // Feather ESP8266 -using HUZZAH featherher #define VS1053_CS 16 // chip VS1053 select pin (output) #define VS1053_DCS 15 // VS1053 Data/command pin pin (VS1053 Data/command pin pin) έξοδος) #define CARDCS 2 // κάρτα επιλογής τσιπ κάρτας #define VS1053_DREQ 0 // VS1053 Αίτημα δεδομένων, ιδανικά πείρος διακοπής #define VOLUME_KNOB A0

int lastvol = 10;

int loopcounter = 0; long trackNumber? String trackString; char τραγούδι [13] = {'T', 'R', 'A', 'C', 'K', '0', '2', '0', '.', 'm', 'p', '3', '\ 0'};

Adafruit_VS1053_FilePlayer musicPlayer =

Adafruit_VS1053_FilePlayer (VS1053_RESET, VS1053_CS, VS1053_DCS, VS1053_DREQ, CARDCS);

void setup () {

// Serial.begin (115200); // απαιτείται μόνο για προβλήματα λήψης // ενώ (! Serial) {καθυστέρηση (1); } // Περιμένετε να ανοίξει η σειριακή θύρα, // Serial.println ("\ n / nAdafruit VS1053 Feather Test"); randomSeed (ESP.getCycleCount ()); // Το HUZZAH έχει μόνο 1 αναλογική καρφίτσα που χρησιμοποιείται ήδη // χρειαζόταν διαφορετικό τυχαίο σπόρο // αυτή η ιδέα από τη διεύθυνση https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin (); musicPlayer.sineTest (0x44, 500); // Δημιουργήστε έναν τόνο για να υποδείξετε ότι το VS1053 λειτουργεί SD.begin (CARDCS).

// Ρύθμιση έντασης για αριστερά, δεξιά κανάλια. χαμηλότεροι αριθμοί == πιο δυνατός όγκος!

musicPlayer.setVolume (lastvol, lastvol); musicPlayer.useInterrupt (VS1053_FILEPLAYER_PIN_INT); // DREQ int}

void loop () {

// ελέγχετε περιοδικά για να ρυθμίσετε την ένταση!

loopcounter ++; if (loopcounter> = 1000) {loopcounter = 0; int vol = 0; vol = analogRead (VOLUME_KNOB); vol /= 10; if (abs (vol - lastvol)> 3) {// Serial.println (vol); lastvol = τόμος; musicPlayer.setVolume (lastvol, lastvol); }}

// Παίξτε ένα αρχείο στο παρασκήνιο, ΑΠΑΙΤΕΙ να διακόπτει!

εάν (! musicPlayer.playingMusic) {trackNumber = random (6); // πρέπει να το κάνετε αυτό ένα ψηφίο τη φορά. πρώτο ψηφίο 0-5 char c = char (trackNumber + 48); // ASCII 48 είναι "0". πρέπει να αλλάξετε την τιμή για να αποκτήσετε το σωστό τραγούδι χαρακτήρων [6] = c; // αντικαταστήστε την τιμή δεκάδων στο track array trackNumber = random (10); // δεύτερο ψηφίο 0-9 c = char (trackNumber + 48); τραγούδι [7] = c; // Serial.println (τραγούδι); musicPlayer.startPlayingFile (τραγούδι); καθυστέρηση (10)? }}

Βήμα 4: Απολαύστε

Απλώς συνδέστε μια τροφοδοσία USB και απολαύστε τα αγαπημένα σας τραγούδια.

Η ένταση μπορεί να ρυθμιστεί με το ποτενσιόμετρο μέσα στο κουτί. Διαφορετικά δεν υπάρχουν έλεγχοι.

Συνιστάται: