Réveil mp3 avec arduino : Différence entre versions

m (Enregistré en utilisant le bouton "Sauvegarder et continuer" du formulaire)
(7 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
{{ {{tntn|Tuto Details}}
 
{{ {{tntn|Tuto Details}}
 
|Licences=Attribution (CC BY)
 
|Licences=Attribution (CC BY)
|Description=<translate>Boite Réveil mp3 avec arduino uno</translate>
+
|Description=<!--T:238--> Boite Réveil mp3 avec Arduino uno.
 
|Area=Electronics, House, Music and Sound
 
|Area=Electronics, House, Music and Sound
 
|Type=Creation
 
|Type=Creation
Ligne 14 : Ligne 14 :
 
}}
 
}}
 
{{ {{tntn|Introduction}}
 
{{ {{tntn|Introduction}}
|Introduction=<translate>Boites en contreplaqué contenant un réveil-mp3 et un écran fonctionnant grâce à un arduino uno</translate>
+
|Introduction=<!--T:239--> Boites en contreplaqué contenant un réveil-mp3 et un écran fonctionnant grâce à un Arduino uno
 
}}
 
}}
 
{{ {{tntn|Materials}}
 
{{ {{tntn|Materials}}
|Material=<translate>Arduino uno
+
|Material=<!--T:240-->
 
+
* Arduino uno
Grove - MP3 v2.0
+
* Grove - MP3 v2.0
 
+
* Grove - RTC
Grove - RTC
+
* Mini SD
 
+
* N'importe quelle baffle mobile connectée au composant Grove - MP3 v2.0 par un mini jack
Mini SD
+
* Plaque contreplaqué
 
+
|Tools=<!--T:246-->
N'importe quelle baffle mobile connectée au composant Grove - MP3 v2.0 par un mini jack
+
* Découpeuse laser
 
+
* Imprimante 3d ultimaker 2
Plaque contreplaqué</translate>
 
|Tools=<translate>découpeuse lazer
 
 
 
imprimante 3d ultimaker 2</translate>
 
 
|Tuto_Attachments={{ {{tntn|Tuto Attachments}}
 
|Tuto_Attachments={{ {{tntn|Tuto Attachments}}
 
|Attachment=Bento Box V1 2018 - etage meteo.pdf
 
|Attachment=Bento Box V1 2018 - etage meteo.pdf
}}{{ {{tntn|Tuto Attachments}}}}{{ {{tntn|Tuto Attachments}}
+
}}{{ {{tntn|Tuto Attachments}}
|Attachment=Bento Box V1 2018 - etage meteo.pdf
+
|Attachment=Porte voix.stl
}}{{ {{tntn|Tuto Attachments}}}}
+
}}{{ {{tntn|Tuto Attachments}}
 +
|Attachment=Reveil mp3 avec arduino Cyriljak.ino
 +
}}
 
}}
 
}}
 
{{ {{tntn|Separator}}}}
 
{{ {{tntn|Separator}}}}
 
{{ {{tntn|Tuto Step}}
 
{{ {{tntn|Tuto Step}}
|Step_Title=<translate>decoupe</translate>
+
|Step_Title=<!--T:248--> Découpe
|Step_Content=<translate></translate>
+
|Step_Content=
 
}}
 
}}
 
{{ {{tntn|Tuto Step}}
 
{{ {{tntn|Tuto Step}}
|Step_Title=<translate>impression 3D</translate>
+
|Step_Title=<!--T:249--> Impression 3D
|Step_Content=<translate>imprimante 3d ultimaker 2
+
|Step_Content=<!--T:250-->
 +
Imprimante 3d ultimaker 2
  
 +
<!--T:251-->
 
Matière utilisée : PLA
 
Matière utilisée : PLA
  
Réglages : voir fichier config imp3D.png</translate>
+
<!--T:252-->
}}
+
Réglages : voir fichier config imp3D.png
{{ {{tntn|Tuto Step}}
 
|Step_Title=<translate>code arduino</translate>
 
|Step_Content=<translate>// DECLARATIONS
 
 
 
// Projet Réveil mp3
 
 
 
<nowiki>#</nowiki>include <Wire.h>
 
 
 
// Bibliothèque de gestion de l'horloge
 
 
 
// ************************************
 
 
 
<nowiki>#</nowiki>include "DS1307.h"
 
 
 
DS1307 clock; //define a object of DS1307 class
 
 
 
// Création des variables de stockage de l'heure et de l'heure du réveil (format HH:MM) :
 
 
 
// static uint8_t buzzer_hour[5] = {};
 
 
 
int buzzer_hour  = 0;
 
 
 
int buzzer_min   = 0;
 
 
 
int current_hour = 0;
 
 
 
int current_min  = 0;
 
 
 
// MP3
 
 
 
// ***
 
 
 
<nowiki>#</nowiki>include <SoftwareSerial.h>
 
 
 
<nowiki>#</nowiki>include <MP3Player_KT403A.h>
 
 
 
// define a SoftwareSerial class object that the name must be mp3,
 
 
 
// but you can change the pin number according to the actual situation.
 
 
 
SoftwareSerial mp3(7, 3);
 
 
 
// INITIALISATION
 
 
 
// ==============
 
 
 
void setup() {
 
 
 
 // Ouverture de la communication avec le PC :
 
 
 
 Serial.begin(9600); 
 
 
 
 // Démarrage de l'horloge :
 
 
 
 clock.begin();
 
 
 
 clock.fillByYMD(2018,07,01);//Ju  30,2018
 
 
 
 clock.fillByHMS(20,20,10);//15:00 00"
 
 
 
 clock.fillDayOfWeek(SAT);//Saturday
 
 
 
 clock.setTime();//write time to the RTC chip
 
 
 
 // Réglage des paramètres du lecteur MP3 :
 
 
 
 mp3.begin(9600);
 
 
 
 SelectPlayerDevice(0x02);   // Select SD card as the player device.
 
 
 
 SetVolume(0x0E);            // Set the volume, the range is 0x00 to 0x1E [0 31]. 
 
 
 
 // Affichage :
 
 
 
 while(!Serial);
 
 
 
 Serial.println("Entrer une heure d'alarme (HH:MM)");
 
 
 
 Serial.println(" ");
 
 
 
 delay(100);
 
 
 
}
 
 
 
// BOUCLE PRINCIPALE
 
 
 
// =================
 
 
 
void loop(){  
 
 
 
  // Affichage de l'heure au format HH:MM
 
 
 
  // ************************************
 
 
 
  printTime();  
 
 
 
  // Lecture d'une heure de réveil :
 
 
 
  // *******************************
 
 
 
  while (Serial.available() > 0) {
 
 
 
    // cherche le prochain entier dans l'incoming serial stream :
 
 
 
    buzzer_hour = Serial.parseInt();    
 
 
 
    // do it again:
 
 
 
    buzzer_min = Serial.parseInt();    
 
 
 
    Serial.println(" ");
 
 
 
    Serial.print("Vous avez saisi l'heure d'alarme suivante: ");
 
 
 
    Serial.print(buzzer_hour);    
 
 
 
    if(buzzer_min < 10) {
 
 
 
      Serial.print(":0");
 
 
 
      Serial.print(buzzer_min);
 
 
 
    }
 
 
 
    else {
 
 
 
      Serial.print(":");
 
 
 
      Serial.println(buzzer_min);
 
 
 
    }
 
 
 
  }    
 
 
 
  // On compare l'heure réglée de l'alarme et l'heure actuelle :
 
 
 
  // ***********************************************************
 
 
 
  if ((buzzer_hour == current_hour) && (buzzer_min == current_min)) {
 
 
 
  //if (1) { // condition pour tester le MP3 au besoin.
 
 
 
    // Lecture :
 
 
 
    Serial.println("Alarme MP3 Playing");
 
 
 
    Serial.println(" ");    
 
 
 
    // On lance le MP3 pendant 30 secondes et on le met en pause
 
 
 
    PlayResume();
 
 
 
    delay(60000);
 
 
 
    PlayPause();    
 
 
 
    // On nettoie l'heure du buzzer :
 
 
 
    buzzer_hour = 0;
 
 
 
    buzzer_min  = 0;    
 
 
 
    // On propose à nouveau d'entrer un heure d'alarme :
 
 
 
    Serial.println("Entrer une heure d'alarme (HH:MM)");
 
 
 
    Serial.println(" ");
 
 
 
    delay(100);
 
 
 
  }
 
 
 
  delay(100);
 
 
 
}
 
 
 
// ==================================================== //
 
 
 
//    FONCTIONS APPELEES DANS LA BOUCLE PRINCIPALE      //
 
 
 
// ==================================================== //
 
 
 
// Fonction "printTime" : écrit l'heure sur le moniteur série
 
 
 
void printTime() {
 
 
 
 clock.getTime();
 
 
 
 Serial.println(" ");
 
 
 
 current_hour = clock.hour;
 
 
 
 current_min  = clock.minute;
 
 
 
 Serial.print(clock.hour, DEC);
 
 
 
 if(clock.minute < 10) {
 
 
 
   Serial.print(":0");
 
 
 
   Serial.print(clock.minute, DEC);
 
 
 
 }
 
 
 
 else {
 
 
 
   Serial.print(":");
 
 
 
   Serial.print(clock.minute, DEC);
 
 
 
 }
 
 
 
 Serial.println(" ");
 
 
 
 delay (3000);
 
  
}</translate>
+
<!--T:253-->
 +
Modèle : https://www.tinkercad.com/things/0svbwI2n4Ez-copy-of-megaphone/editv2
 +
|Step_Picture_00=Porte_voix.stl
 
}}
 
}}
 
{{ {{tntn|Tuto Step}}
 
{{ {{tntn|Tuto Step}}
|Step_Title=<translate></translate>
+
|Step_Title=<!--T:254--> Code Arduino
|Step_Content=<translate></translate>
+
|Step_Content=<!--T:255--> Téléchargez le code Arduino dans l'onglet Fichier.
 
}}
 
}}
{{ {{tntn|Tuto Step}}
+
{{ {{tntn|Notes}}
|Step_Title=<translate>impression 3D</translate>
+
|Notes=<!--T:363-->
|Step_Content=<translate>imprimante 3d ultimaker 2
+
Pour les librairies Arduino :
 
 
Matière utilisée : PLA
 
 
 
Réglages : voir fichier config imp3D.png</translate>
 
}}
 
{{ {{tntn|Tuto Step}}
 
|Step_Title=<translate>code arduino</translate>
 
|Step_Content=<translate>// DECLARATIONS
 
 
 
// Projet Réveil mp3
 
 
 
<nowiki>#</nowiki>include <Wire.h>
 
 
 
// Bibliothèque de gestion de l'horloge
 
 
 
// ************************************
 
 
 
<nowiki>#</nowiki>include "DS1307.h"
 
 
 
DS1307 clock; //define a object of DS1307 class
 
 
 
// Création des variables de stockage de l'heure et de l'heure du réveil (format HH:MM) :
 
 
 
// static uint8_t buzzer_hour[5] = {};
 
 
 
int buzzer_hour  = 0;
 
 
 
int buzzer_min   = 0;
 
 
 
int current_hour = 0;
 
 
 
int current_min  = 0;
 
 
 
// MP3
 
 
 
// ***
 
 
 
<nowiki>#</nowiki>include <SoftwareSerial.h>
 
 
 
<nowiki>#</nowiki>include <MP3Player_KT403A.h>
 
 
 
// define a SoftwareSerial class object that the name must be mp3,
 
 
 
// but you can change the pin number according to the actual situation.
 
 
 
SoftwareSerial mp3(7, 3);
 
 
 
// INITIALISATION
 
 
 
// ==============
 
 
 
void setup() {
 
 
 
 // Ouverture de la communication avec le PC :
 
 
 
 Serial.begin(9600); 
 
 
 
 // Démarrage de l'horloge :
 
 
 
 clock.begin();
 
 
 
 clock.fillByYMD(2018,07,01);//Ju  30,2018
 
 
 
 clock.fillByHMS(20,20,10);//15:00 00"
 
 
 
 clock.fillDayOfWeek(SAT);//Saturday
 
 
 
 clock.setTime();//write time to the RTC chip
 
 
 
 // Réglage des paramètres du lecteur MP3 :
 
 
 
 mp3.begin(9600);
 
 
 
 SelectPlayerDevice(0x02);   // Select SD card as the player device.
 
 
 
 SetVolume(0x0E);            // Set the volume, the range is 0x00 to 0x1E [0 31]. 
 
 
 
 // Affichage :
 
 
 
 while(!Serial);
 
 
 
 Serial.println("Entrer une heure d'alarme (HH:MM)");
 
 
 
 Serial.println(" ");
 
 
 
 delay(100);
 
 
 
}
 
 
 
// BOUCLE PRINCIPALE
 
 
 
// =================
 
 
 
void loop(){  
 
 
 
  // Affichage de l'heure au format HH:MM
 
 
 
  // ************************************
 
 
 
  printTime();  
 
 
 
  // Lecture d'une heure de réveil :
 
 
 
  // *******************************
 
 
 
  while (Serial.available() > 0) {
 
 
 
    // cherche le prochain entier dans l'incoming serial stream :
 
 
 
    buzzer_hour = Serial.parseInt();    
 
 
 
    // do it again:
 
 
 
    buzzer_min = Serial.parseInt();    
 
 
 
    Serial.println(" ");
 
 
 
    Serial.print("Vous avez saisi l'heure d'alarme suivante: ");
 
 
 
    Serial.print(buzzer_hour);    
 
 
 
    if(buzzer_min < 10) {
 
 
 
      Serial.print(":0");
 
 
 
      Serial.print(buzzer_min);
 
 
 
    }
 
 
 
    else {
 
 
 
      Serial.print(":");
 
 
 
      Serial.println(buzzer_min);
 
 
 
    }
 
 
 
  }    
 
 
 
  // On compare l'heure réglée de l'alarme et l'heure actuelle :
 
 
 
  // ***********************************************************
 
 
 
  if ((buzzer_hour == current_hour) && (buzzer_min == current_min)) {
 
 
 
  //if (1) { // condition pour tester le MP3 au besoin.
 
 
 
    // Lecture :
 
 
 
    Serial.println("Alarme MP3 Playing");
 
 
 
    Serial.println(" ");    
 
 
 
    // On lance le MP3 pendant 30 secondes et on le met en pause
 
 
 
    PlayResume();
 
 
 
    delay(60000);
 
 
 
    PlayPause();    
 
 
 
    // On nettoie l'heure du buzzer :
 
 
 
    buzzer_hour = 0;
 
 
 
    buzzer_min  = 0;    
 
 
 
    // On propose à nouveau d'entrer un heure d'alarme :
 
 
 
    Serial.println("Entrer une heure d'alarme (HH:MM)");
 
 
 
    Serial.println(" ");
 
 
 
    delay(100);
 
 
 
  }
 
 
 
  delay(100);
 
 
 
}
 
 
 
// ==================================================== //
 
  
//    FONCTIONS APPELEES DANS LA BOUCLE PRINCIPALE      //
+
<!--T:364-->
 +
http://wiki.seeedstudio.com/Grove-MP3_v2.0/
  
// ==================================================== //
+
<!--T:365-->
 
+
http://wiki.seeedstudio.com/Grove-RTC/
// Fonction "printTime" : écrit l'heure sur le moniteur série
 
 
 
void printTime() {
 
 
 
 clock.getTime();
 
 
 
 Serial.println(" ");
 
 
 
 current_hour = clock.hour;
 
 
 
 current_min  = clock.minute;
 
 
 
 Serial.print(clock.hour, DEC);
 
 
 
 if(clock.minute < 10) {
 
 
 
   Serial.print(":0");
 
 
 
   Serial.print(clock.minute, DEC);
 
 
 
 }
 
 
 
 else {
 
 
 
   Serial.print(":");
 
 
 
   Serial.print(clock.minute, DEC);
 
 
 
 }
 
 
 
 Serial.println(" ");
 
 
 
 delay (3000);
 
 
 
}</translate>
 
}}
 
{{ {{tntn|Tuto Step}}
 
|Step_Title=<translate></translate>
 
|Step_Content=<translate></translate>
 
}}
 
{{ {{tntn|Notes}}
 
|Notes=<translate></translate>
 
 
}}
 
}}
 
{{ {{tntn|Tuto Status}}
 
{{ {{tntn|Tuto Status}}
|Complete=Published
+
|Complete=Draft
 
}}
 
}}

Version du 4 juillet 2018 à 11:10

Auteur avatarCyriljak | Dernière modification 9/12/2019 par Clementflipo

Pas encore d'image

Boite Réveil mp3 avec Arduino uno.
Difficulté
Moyen
Durée
10 heure(s)
Catégories
Électronique, Maison, Musique & Sons
Coût
50 EUR (€)
Autres langues :
français
Licence : Attribution (CC BY)

Introduction

Boites en contreplaqué contenant un réveil-mp3 et un écran fonctionnant grâce à un Arduino uno

Matériaux

  • Arduino uno
  • Grove - MP3 v2.0
  • Grove - RTC
  • Mini SD
  • N'importe quelle baffle mobile connectée au composant Grove - MP3 v2.0 par un mini jack
  • Plaque contreplaqué

Outils

  • Découpeuse laser
  • Imprimante 3d ultimaker 2

Étape 1 - Découpe

Étape 2 - Impression 3D

Imprimante 3d ultimaker 2

Matière utilisée : PLA

Réglages : voir fichier config imp3D.png

Modèle : https://www.tinkercad.com/things/0svbwI2n4Ez-copy-of-megaphone/editv2




Étape 3 - Code Arduino

Téléchargez le code Arduino dans l'onglet Fichier.

Notes et références

Pour les librairies Arduino :

http://wiki.seeedstudio.com/Grove-MP3_v2.0/

http://wiki.seeedstudio.com/Grove-RTC/

Commentaires

Draft