V1 MP3 en liaison série

Dependencies:   mbed

Committer:
vermaelen
Date:
Sat May 14 07:45:22 2022 +0000
Revision:
0:8dd35bae21bb
V1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vermaelen 0:8dd35bae21bb 1 #include "mbed.h"
vermaelen 0:8dd35bae21bb 2 #include "mp3.h"
vermaelen 0:8dd35bae21bb 3 //Serial mp3(PTE22,PTE23);
vermaelen 0:8dd35bae21bb 4 Serial mp3(D14,D15);
vermaelen 0:8dd35bae21bb 5 DigitalOut myled(LED1);
vermaelen 0:8dd35bae21bb 6 int choix;
vermaelen 0:8dd35bae21bb 7 int volume=16;
vermaelen 0:8dd35bae21bb 8
vermaelen 0:8dd35bae21bb 9 int main()
vermaelen 0:8dd35bae21bb 10 {
vermaelen 0:8dd35bae21bb 11 while(1) {
vermaelen 0:8dd35bae21bb 12 printf("1-play/pause 2-stop 3-next 4-previous\n\r");
vermaelen 0:8dd35bae21bb 13 printf("faites votre choix :");
vermaelen 0:8dd35bae21bb 14 scanf("%d",&choix);
vermaelen 0:8dd35bae21bb 15 printf("%d\n\n\n\r",choix);
vermaelen 0:8dd35bae21bb 16 switch(choix) {
vermaelen 0:8dd35bae21bb 17 case 1:
vermaelen 0:8dd35bae21bb 18 playpause();
vermaelen 0:8dd35bae21bb 19 break;
vermaelen 0:8dd35bae21bb 20 case 2:
vermaelen 0:8dd35bae21bb 21 stop();
vermaelen 0:8dd35bae21bb 22 break;
vermaelen 0:8dd35bae21bb 23 case 3:
vermaelen 0:8dd35bae21bb 24 next();
vermaelen 0:8dd35bae21bb 25 break;
vermaelen 0:8dd35bae21bb 26 case 4:
vermaelen 0:8dd35bae21bb 27 previous();
vermaelen 0:8dd35bae21bb 28 break;
vermaelen 0:8dd35bae21bb 29 case 9:
vermaelen 0:8dd35bae21bb 30 up();
vermaelen 0:8dd35bae21bb 31 break;
vermaelen 0:8dd35bae21bb 32 case 6:
vermaelen 0:8dd35bae21bb 33 down();
vermaelen 0:8dd35bae21bb 34 break;
vermaelen 0:8dd35bae21bb 35 case 5:
vermaelen 0:8dd35bae21bb 36 number(5);
vermaelen 0:8dd35bae21bb 37 break;
vermaelen 0:8dd35bae21bb 38 case 7:
vermaelen 0:8dd35bae21bb 39 number(7);
vermaelen 0:8dd35bae21bb 40 break;
vermaelen 0:8dd35bae21bb 41 }
vermaelen 0:8dd35bae21bb 42 myled.write(!myled.read());
vermaelen 0:8dd35bae21bb 43
vermaelen 0:8dd35bae21bb 44 }
vermaelen 0:8dd35bae21bb 45 }
vermaelen 0:8dd35bae21bb 46
vermaelen 0:8dd35bae21bb 47 void playpause()
vermaelen 0:8dd35bae21bb 48 {
vermaelen 0:8dd35bae21bb 49 mp3.putc(0x7E);
vermaelen 0:8dd35bae21bb 50 wait_ms(5);
vermaelen 0:8dd35bae21bb 51 mp3.putc(0x03);
vermaelen 0:8dd35bae21bb 52 wait_ms(5);
vermaelen 0:8dd35bae21bb 53 mp3.putc(0xAA);
vermaelen 0:8dd35bae21bb 54 wait_ms(5);
vermaelen 0:8dd35bae21bb 55 mp3.putc(0xAD);
vermaelen 0:8dd35bae21bb 56 wait_ms(5);
vermaelen 0:8dd35bae21bb 57 mp3.putc(0xEF);
vermaelen 0:8dd35bae21bb 58 wait_ms(5);
vermaelen 0:8dd35bae21bb 59 }
vermaelen 0:8dd35bae21bb 60
vermaelen 0:8dd35bae21bb 61 void stop()
vermaelen 0:8dd35bae21bb 62 {
vermaelen 0:8dd35bae21bb 63 mp3.putc(0x7E);
vermaelen 0:8dd35bae21bb 64 wait_ms(5);
vermaelen 0:8dd35bae21bb 65 mp3.putc(0x03);
vermaelen 0:8dd35bae21bb 66 wait_ms(5);
vermaelen 0:8dd35bae21bb 67 mp3.putc(0xAB);
vermaelen 0:8dd35bae21bb 68 wait_ms(5);
vermaelen 0:8dd35bae21bb 69 mp3.putc(0xAE);
vermaelen 0:8dd35bae21bb 70 wait_ms(5);
vermaelen 0:8dd35bae21bb 71 mp3.putc(0xEF);
vermaelen 0:8dd35bae21bb 72 wait_ms(5);
vermaelen 0:8dd35bae21bb 73 }
vermaelen 0:8dd35bae21bb 74
vermaelen 0:8dd35bae21bb 75 void next()
vermaelen 0:8dd35bae21bb 76 {
vermaelen 0:8dd35bae21bb 77 mp3.putc(0x7E);
vermaelen 0:8dd35bae21bb 78 wait_ms(5);
vermaelen 0:8dd35bae21bb 79 mp3.putc(0x03);
vermaelen 0:8dd35bae21bb 80 wait_ms(5);
vermaelen 0:8dd35bae21bb 81 mp3.putc(0xAC);
vermaelen 0:8dd35bae21bb 82 wait_ms(5);
vermaelen 0:8dd35bae21bb 83 mp3.putc(0xAF);
vermaelen 0:8dd35bae21bb 84 wait_ms(5);
vermaelen 0:8dd35bae21bb 85 mp3.putc(0xEF);
vermaelen 0:8dd35bae21bb 86 wait_ms(5);
vermaelen 0:8dd35bae21bb 87 }
vermaelen 0:8dd35bae21bb 88
vermaelen 0:8dd35bae21bb 89 void previous()
vermaelen 0:8dd35bae21bb 90 {
vermaelen 0:8dd35bae21bb 91 mp3.putc(0x7E);
vermaelen 0:8dd35bae21bb 92 wait_ms(5);
vermaelen 0:8dd35bae21bb 93 mp3.putc(0x03);
vermaelen 0:8dd35bae21bb 94 wait_ms(5);
vermaelen 0:8dd35bae21bb 95 mp3.putc(0xAD);
vermaelen 0:8dd35bae21bb 96 wait_ms(5);
vermaelen 0:8dd35bae21bb 97 mp3.putc(0xB0);
vermaelen 0:8dd35bae21bb 98 wait_ms(5);
vermaelen 0:8dd35bae21bb 99 mp3.putc(0xEF);
vermaelen 0:8dd35bae21bb 100 wait_ms(5);
vermaelen 0:8dd35bae21bb 101 }
vermaelen 0:8dd35bae21bb 102 void up()
vermaelen 0:8dd35bae21bb 103 {
vermaelen 0:8dd35bae21bb 104 int sum;
vermaelen 0:8dd35bae21bb 105 volume=volume+1;
vermaelen 0:8dd35bae21bb 106 if(volume>31)volume=31;
vermaelen 0:8dd35bae21bb 107 sum=178+volume;
vermaelen 0:8dd35bae21bb 108 printf("volume=%x sum=%x\n\r",(char)volume,(char)sum);
vermaelen 0:8dd35bae21bb 109 mp3.putc(0x7E);
vermaelen 0:8dd35bae21bb 110 wait_ms(5);
vermaelen 0:8dd35bae21bb 111 mp3.putc(0x04);
vermaelen 0:8dd35bae21bb 112 wait_ms(5);
vermaelen 0:8dd35bae21bb 113 mp3.putc(0xAE);
vermaelen 0:8dd35bae21bb 114 wait_ms(5);
vermaelen 0:8dd35bae21bb 115 mp3.putc((char)volume);
vermaelen 0:8dd35bae21bb 116 wait_ms(5);
vermaelen 0:8dd35bae21bb 117 mp3.putc((char)sum);
vermaelen 0:8dd35bae21bb 118 wait_ms(5);
vermaelen 0:8dd35bae21bb 119 mp3.putc(0xEF);
vermaelen 0:8dd35bae21bb 120 wait_ms(5);
vermaelen 0:8dd35bae21bb 121 }
vermaelen 0:8dd35bae21bb 122 void down()
vermaelen 0:8dd35bae21bb 123 {
vermaelen 0:8dd35bae21bb 124 int sum;
vermaelen 0:8dd35bae21bb 125 volume=volume-1;
vermaelen 0:8dd35bae21bb 126
vermaelen 0:8dd35bae21bb 127 if(volume<0)volume=0;
vermaelen 0:8dd35bae21bb 128
vermaelen 0:8dd35bae21bb 129 sum=volume+178;
vermaelen 0:8dd35bae21bb 130 printf("volume=%x sum=%x\n\r",(char)volume,(char)sum);
vermaelen 0:8dd35bae21bb 131 mp3.putc(0x7E);
vermaelen 0:8dd35bae21bb 132 wait_ms(5);
vermaelen 0:8dd35bae21bb 133 mp3.putc(0x04);
vermaelen 0:8dd35bae21bb 134 wait_ms(5);
vermaelen 0:8dd35bae21bb 135 mp3.putc(0xAE);
vermaelen 0:8dd35bae21bb 136 wait_ms(5);
vermaelen 0:8dd35bae21bb 137 mp3.putc((char)volume);
vermaelen 0:8dd35bae21bb 138 wait_ms(5);
vermaelen 0:8dd35bae21bb 139 mp3.putc((char)sum);
vermaelen 0:8dd35bae21bb 140 wait_ms(5);
vermaelen 0:8dd35bae21bb 141 mp3.putc(0xEF);
vermaelen 0:8dd35bae21bb 142 wait_ms(5);
vermaelen 0:8dd35bae21bb 143 }
vermaelen 0:8dd35bae21bb 144
vermaelen 0:8dd35bae21bb 145 void number(int nb)
vermaelen 0:8dd35bae21bb 146 {
vermaelen 0:8dd35bae21bb 147 int sum=nb+5+0+0xA2;
vermaelen 0:8dd35bae21bb 148 printf("Ok, jouons la piste %d\n\r",nb);
vermaelen 0:8dd35bae21bb 149 mp3.putc(0x7E);
vermaelen 0:8dd35bae21bb 150 wait_ms(5);
vermaelen 0:8dd35bae21bb 151 mp3.putc(0x05);
vermaelen 0:8dd35bae21bb 152 wait_ms(5);
vermaelen 0:8dd35bae21bb 153 mp3.putc(0xA2);
vermaelen 0:8dd35bae21bb 154 wait_ms(5);
vermaelen 0:8dd35bae21bb 155 mp3.putc(0x00);
vermaelen 0:8dd35bae21bb 156 wait_ms(5);
vermaelen 0:8dd35bae21bb 157 mp3.putc((char)nb);
vermaelen 0:8dd35bae21bb 158 wait_ms(5);
vermaelen 0:8dd35bae21bb 159 mp3.putc((char)sum);
vermaelen 0:8dd35bae21bb 160 wait_ms(5);
vermaelen 0:8dd35bae21bb 161 mp3.putc(0xEF);
vermaelen 0:8dd35bae21bb 162 wait_ms(5);
vermaelen 0:8dd35bae21bb 163 }