BASIC4MCU | 질문게시판 | 답변 : 초음파 센서와 네오픽셀, 서버모터, GROVE MP3
페이지 정보
작성자 master 작성일2018-12-18 21:49 조회8,713회 댓글2건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=7026
작성일
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-12-18 오후 9:53:44// by Ok-Hyun Park////--------------grove mp3 v2.0--------------------------//#include <SoftwareSerial.h>#include <MP3Player_KT403A.h>SoftwareSerial mp3(2,3);//static uint8_t recv_cmd[20];//void setup(){mp3.begin(9600);Serial.begin(9600); while(!Serial);Serial.println("Grove-Serial MP3 Demo");Serial.println("Input command: \r\n\r\n""P[]play music by default index\r\n""Pm[]play music in MP3 folder by index\r\n""Pf[][]play music by specify folder and index\r\n""p Pause\r\n""R Resume\r\n""N Next\r\n""L Previous\r\n""l Loop\r\n""I Increase volume\r\n""D Decrease volumern\r\n");delay(100);SelectPlayerDevice(0x02); // Select SD card as the player device.SetVolume(15); // 0~30}//uint8_t len=0;//void loop(){uint8_t i;//if(Serial.available()){byte chr=Serial.read(); // Serial.print(chr);if(chr=='\n'){recv_cmd[len]=0;// Print reveiced data// Serial.print("Received cmd: ");// for(i=0; i<len; i++){ Serial.print(recv_cmd[i]); Serial.print(" "); }// Serial.println();switch(recv_cmd[0]){case 'P':{if(recv_cmd[1]=='m'){ /***Play music in "MP3" folder by index*example: "Pm1"->./MP3/0001.mp3*/PlayMP3folder(recv_cmd[2]-'0');Serial.print("Play "); Serial.write(byte(recv_cmd[2])); Serial.println(".mp3 in MP3 folder");}else if(recv_cmd[1]=='f'){ /***Play specify folder and music*example: "Pf11"->./01/001.mp3*/SpecifyfolderPlay(recv_cmd[2]-'0',recv_cmd[3]-'0');Serial.print("Play "); Serial.write(byte(recv_cmd[3])); Serial.print("xxx.mp3");Serial.print(" in folder "); Serial.write(byte(recv_cmd[2])); Serial.println();}else{ /***Play music by default index*example: "P1"->./***.mp3*/SpecifyMusicPlay(recv_cmd[1]-'0');Serial.print("Play xxx.MP3 by index "); Serial.write(byte(recv_cmd[1])); Serial.println();}// Serial.println("Specify the music index to play");break;}case 'p': PlayPause(); Serial.println("Pause the MP3 player"); break;case 'R': PlayResume(); Serial.println("Resume the MP3 player"); break;case 'N': PlayNext(); Serial.println("Play the next song"); break;case 'L': PlayPrevious(); Serial.println("Play the previous song"); break;case 'l': PlayLoop(); Serial.println("Play loop for all the songs"); break;case 'I': IncreaseVolume(); Serial.println("Increase volume"); break;case 'D': DecreaseVolume(); Serial.println("Decrease volume"); break;}//for(i=0;i<8;i++)recv_cmd[i]=0; // clean data bufferlen=0;}else{recv_cmd[len++]=chr;}}//delay(100);// printReturnedData();}
일단 위에 올린 mp3 소스를 정리 했습니다.
잘 동작하는지 체크 해보세요
댓글 2
조회수 8,713손문일님의 댓글
손문일 작성일
chr=Serial.read(); // Serial.print(chr);에서 에러 납니다.
오류메세지
sketch_dec18b:34:5: error: 'chr' was not declared in this scope
chr=Serial.read(); // Serial.print(chr);
^
exit status 1
'chr' was not declared in this scope
master님의 댓글
master
데이터형 선언이 빠져서 생긴 오류입니다.
수정했으니 다시 돌려보세요