Proses manufaktur
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
|
Cara menggunakan SERIAL MP3 PLAYER V1.0 dari CATALEX:
#include
#define ARDUINO_RX 5//harus terhubung ke TX modul Serial MP3 Player #define ARDUINO_TX 6//hubungkan ke RX modul SoftwareSerial mySerial(ARDUINO_RX, ARDUINO_TX);//init protokol serial, beri tahu ke myserial yang pinnya TX dan RX
#define
barang-barang dari lembar data:////////////////////////////////////////////////////// /////////////////////////////////////// //semua perintah yang dibutuhkan dalam datasheet( http://geekmatic.in.ua/pdf/Catalex_MP3_board.pdf) static int8_t Send_buf[8] ={0};//Pemutar MP3 tidak memahami perintah dalam string 8 int //0X7E FF 06 perintah 00 00 00 EF; (if command =01 urutan lagu berikutnya) #define NEXT_SONG 0X01 #define PREV_SONG 0X02 #define CMD_PLAY_W_INDEX 0X03 //DATA DIPERLUKAN (jumlah lagu) #define VOLUME_UP_ONE 0X04 #define VOLUME_DOWN_DOWN_ONE 0X05 IS volume dari 0 hingga 30(0x1E)) #define SET_DAC 0X17 #define CMD_PLAY_WITHVOLUME 0X22 //data diperlukan 0x7E 06 22 00 xx yy EF;(xx volume)(yy jumlah lagu) #define CMD_SEL_DEV 0X09 //PILIH PENYIMPANAN PERANGKAT, DATA DIPERLUKAN #define DEV_TF 0X02 //HELLO,IM DATA DIPERLUKAN #define SLEEP_MODE_START 0X0A #define SLEEP_MODE_WAKEUP 0X0B #define CMD_RESET 0X0C//CHIP RESET #define 0X CMD_PLAYUM PEMUTAR ULANG DIJEDA #define CMD_PLAY_WITHFOLDER 0X0F//DATA DIPERLUKAN, 0x7E 06 0F 00 01 02 EF;(memutar lagu dengan direktori \01\002xxxxxx.mp3 #define STOP_PLAY 0X16 #define PLAY_FOLDER diperlukan 06 17 0x17// E 00 01 XX EF;(memutar folder 01)(nilai xx kami tidak peduli) #define SET_CYCLEPLAY 0X19//data diperlukan 00 mulai; 01 close #define SET_DAC 0X17//data diperlukan 00 mulai DAC OUTPUT;01 DAC tidak ada output //////////////////////////// ////////////////////////////////////////////////////////////////// ////
0x7E FF aa bb 00 xx yy EF
Dimana:
aa
adalah nomor versi, cukup masukkan 0x06;bb
adalah perintah kontrol sebenarnya yang tercantum di poin sebelumnyaxx
adalah data pertamayy
adalah data kedua
Dan ini adalah fungsi aktual yang membangun array. Kita hanya perlu memilih salah satu dari #defined
perintah dan masukkan nilai data.
void sendCommand(int8_t command, int16_t dat) { delay(20); Kirim_buf[0] =0x7e; //byte awal Send_buf[1] =0xff; //versi Send_buf[2] =0x06; //jumlah byte perintah tanpa byte awal dan byte akhir Send_buf[3] =perintah; // Send_buf[4] =0x00;//0x00 =tidak ada umpan balik, 0x01 =umpan balik Send_buf[5] =(int8_t)(dat>> 8);//datah Send_buf[6] =(int8_t)(dat); //datal Send_buf[7] =0xef; //mengakhiri byte for(uint8_t i=0; i<8; i++)// { mySerial.write(Send_buf[i]); } }
Ke dalam fungsi pengaturan, kita perlu memilih perangkat yang tepat untuk TF dan memberinya waktu untuk menyelesaikan (proses ajaib asinkron):
void setup() { mySerial.begin(9600);//Mulai Serial com untuk monitor serial kita! delay(500);//Tunggu inisialisasi chip selesai sendCommand(CMD_SEL_DEV, DEV_TF);//pilih penundaan kartu TF(200);//tunggu 200ms }
Dalam pengulangan, saya memainkan lagu sederhana berlabel 001:
void loop() { sendCommand(CMD_PLAY_WITHVOLUME, 0X0F01);//memutar lagu pertama dengan penundaan kelas volume 15(1000000);//program akan mengirimkan opsi putar setiap 100 detik ke chip catalex }
Cara mengunggah lagu ke kartu SD:
Seperti yang mereka katakan di lembar data dengan bahasa Inggris yang sangat buruk:
Chip Mp3 membaca .mp3
atau .wav
diindeks abjad, jadi jika kita membuat folder dengan nama 01, 02. Dan lagu dengan nama 001xxxxx.mp3
, 002xxxx.mp3
. Kami yakin dengan lagu/folder yang kami gunakan.
Di sini Anda memiliki perpustakaan suara gratis.
SELAMAT MERETAK!
EKSTRA:
kode yang sama tetapi menggunakan serial perangkat keras (saya harus melakukannya untuk papan STM32 saya)
//code disusun ulang oleh Javier Muñoz 10/11/2016 tanya saya di [email protected]#include#define ARDUINO_RX 5//harus terhubung ke TX dari Modul Serial MP3 Player#define ARDUINO_TX 6//sambungkan ke RX dari modulSoftwareSerial mySerial(ARDUINO_RX, ARDUINO_TX);//init serial protocol, beri tahu myserial yang pinnya TX dan RX/////////// ////////////////////////////////////////////////////////////////// ////////////////////////semua perintah yang diperlukan dalam lembar data(http://geekmatic.in.ua/pdf/Catalex_MP3_board.pdf)statis int8_t Send_buf[8] ={0};//Pemutar MP3 tidak memahami perintah dalam string 8 int //0X7E FF 06 perintah 00 00 00 EF;(jika perintah =01 urutan lagu berikutnya) #define NEXT_SONG 0X01 #define PREV_SONG 0X02 #define CMD_PLAY_W_INDEX 0X03 //DATA DIPERLUKAN (jumlah lagu)#define VOLUME_UP_ONE 0X04#define VOLUME_DOWN_ONE 0X05#define CMD_SET_VOLUME 0X06//DATA DIPERLUKAN (jumlah volume dari 0E hingga 30)#define 0E hingga 30 cm D_PLAY_WITHVOLUME 0X22 //data dibutuhkan 0x7E 06 22 00 xx yy EF;(xx volume)(yy jumlah lagu)#define CMD_SEL_DEV 0X09 //PILIH PERANGKAT PENYIMPANAN, DATA DIBUTUHKAN #define DEV_TF 0X02 //HALO,IM DATA REQUIRED #menentukan SLEEP_MODE_START 0X0A#menentukan SLEEP_MODE_WAKEUP 0X0B#menentukan CMD_RESET 0X0C//CHIP RESET#menentukan CMD_PLAY 0X0D //LANJUTKAN PEMUTARAN#menentukan CMD_PAUSE 0X0E //FLAYBACK IS DIJEDA_#define;(memutar lagu dengan direktori \01\002xxxxxx.mp3#define STOP_PLAY 0X16#define PLAY_FOLDER 0X17// diperlukan data 0x7E 06 17 00 01 XX EF;(mainkan folder 01)(nilai xx kami tidak peduli)#define SET_CYCLEPLAY 0X19//data diperlukan 00 mulai; 01 close#define SET_DAC 0X17//data diperlukan 00 mulai DAC OUTPUT;01 DAC tidak ada output//////////////////////////// ////////////////////////////////////////////////////////////////// ////void setup(){ Serial.begin(9600);//Mulai serial coms kami untuk serial monitor di pcmySerial.begin(9600);//Mulai serial coms kami untuk THE MP3delay(500);//Tunggu inisialisasi chip selesai sendCommand(CMD_SEL_DEV, DEV_TF);//pilih penundaan kartu TF(200);//tunggu 200ms}void loop(){sendCommand(CMD_PLAY_WITHVOLUME, 0X0F01);//memutar lagu pertama dengan volume 15 classdelay (1000000);//program akan mengirimkan opsi putar setiap 100 detik ke chip catalex}void sendCommand(int8_t command, int16_t dat){ delay(20); Kirim_buf[0] =0x7e; //byte awal Send_buf[1] =0xff; //versi Send_buf[2] =0x06; //jumlah byte perintah tanpa byte awal dan byte akhir Send_buf[3] =perintah; // Send_buf[4] =0x00;//0x00 =tidak ada umpan balik, 0x01 =umpan balik Send_buf[5] =(int8_t)(dat>> 8);//datah Send_buf[6] =(int8_t)(dat); //datal Send_buf[7] =0xef; //mengakhiri byte for(uint8_t i=0; i<8; i++)// { mySerial.write(Send_buf[i]);//send bit to serial mp3 Serial.print(Send_buf[i],HEX);/ /send bit to serial monitor di pc } Serial.println();}
Proses manufaktur
Komponen dan persediaan Arduino UNO × 1 Pemutar mp3 serial Arduino dari catalex Anda juga memerlukan kartu SD, dan soket kartu SD (besar ke kecil) untuk pc × 1 Sensor Ultrasonik - HC-SR04 (Generik) × 2 beberapa speaker dengan input jack mp3 × 1 Tentang
Selamat datang di Tutorial Arduino kelima dari Seri Tutorial Arduino kami. Dalam tutorial ini kita akan mempelajari cara kerja Komunikasi Serial dan membuat beberapa contoh untuk pemahaman yang lebih baik. Ini adalah Video Tutorial Langkah demi Langkah yang mudah diikuti. Selain itu, di bawah video
Dalam proyek ini, saya akan menunjukkan cara membuat Pemutar Musik MP3 Layar Sentuh Arduino dan Jam Alarm. Anda dapat menonton video berikut atau membaca tutorial tertulis di bawah ini. Ringkasan Layar utama menampilkan jam besar, informasi tanggal dan suhu, serta dua tombol untuk Pemutar Musik da
Arduino Serial:Komunikasi Serial oleh Arduino Latar Belakang Komunikasi Serial: Ketika mikrokontroler atau mikroprosesor perlu berkomunikasi dengan dunia luar, maka mereka menyediakan data dalam bentuk paket 8 bit, jadi jika satu sistem perlu berkomunikasi dengan yang lain, maka total 8 kabel kabel