(Cette version a été marquée pour être traduite) |
|||
Line 1: | Line 1: | ||
{{ {{tntn|Tuto Details}} | {{ {{tntn|Tuto Details}} | ||
+ | |SourceLanguage=none | ||
+ | |Language=fr | ||
+ | |IsTranslation=0 | ||
|Licences=Attribution (CC BY) | |Licences=Attribution (CC BY) | ||
− | |Description=<translate | + | |Description=<translate>Boite Réveil mp3 avec arduino uno</translate> |
|Area=Electronics, House, Music and Sound | |Area=Electronics, House, Music and Sound | ||
|Type=Creation | |Type=Creation | ||
Line 9: | Line 12: | ||
|Cost=50 | |Cost=50 | ||
|Currency=EUR (€) | |Currency=EUR (€) | ||
− | |||
− | |||
− | |||
}} | }} | ||
{{ {{tntn|Introduction}} | {{ {{tntn|Introduction}} | ||
− | |Introduction=<translate | + | |Introduction=<translate>Boites en contreplaqué contenant un réveil-mp3 et un écran fonctionnant grâce à un arduino uno</translate> |
}} | }} | ||
{{ {{tntn|Materials}} | {{ {{tntn|Materials}} | ||
− | |Material=<translate> | + | |Material=<translate>Arduino uno |
− | Arduino uno | ||
− | |||
Grove - MP3 v2.0 | Grove - MP3 v2.0 | ||
− | |||
Grove - RTC | Grove - RTC | ||
− | |||
Mini SD | Mini SD | ||
− | |||
N'importe quelle baffle mobile connectée au composant Grove - MP3 v2.0 par un mini jack | N'importe quelle baffle mobile connectée au composant Grove - MP3 v2.0 par un mini jack | ||
− | |||
Plaque contreplaqué</translate> | Plaque contreplaqué</translate> | ||
− | |Tools=<translate> | + | |Tools=<translate>découpeuse lazer |
− | découpeuse lazer | ||
− | |||
imprimante 3d ultimaker 2</translate> | 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}} | |
− | |Attachment= | + | |Attachment=Porte voix.stl |
− | + | }} | |
}} | }} | ||
{{ {{tntn|Separator}}}} | {{ {{tntn|Separator}}}} | ||
{{ {{tntn|Tuto Step}} | {{ {{tntn|Tuto Step}} | ||
− | |Step_Title=<translate | + | |Step_Title=<translate>decoupe</translate> |
|Step_Content=<translate></translate> | |Step_Content=<translate></translate> | ||
}} | }} | ||
{{ {{tntn|Tuto Step}} | {{ {{tntn|Tuto Step}} | ||
− | |Step_Title=<translate | + | |Step_Title=<translate>impression 3D</translate> |
− | |Step_Content=<translate> | + | |Step_Content=<translate>imprimante 3d ultimaker 2 |
− | imprimante 3d ultimaker 2 | ||
− | |||
Matière utilisée : PLA | Matière utilisée : PLA | ||
− | + | Réglages : voir fichier config imp3D.png | |
− | Réglages : voir fichier config imp3D.png</translate> | + | |
+ | Modèle : https://www.tinkercad.com/things/0svbwI2n4Ez-copy-of-megaphone/editv2</translate> | ||
}} | }} | ||
{{ {{tntn|Tuto Step}} | {{ {{tntn|Tuto Step}} | ||
− | |Step_Title=<translate | + | |Step_Title=<translate>code arduino</translate> |
− | |Step_Content=<translate> | + | |Step_Content=<translate>// DECLARATIONS |
− | // DECLARATIONS | ||
− | |||
// Projet Réveil mp3 | // Projet Réveil mp3 | ||
− | |||
<nowiki>#</nowiki>include <Wire.h> | <nowiki>#</nowiki>include <Wire.h> | ||
− | |||
// Bibliothèque de gestion de l'horloge | // Bibliothèque de gestion de l'horloge | ||
− | |||
// ************************************ | // ************************************ | ||
− | |||
<nowiki>#</nowiki>include "DS1307.h" | <nowiki>#</nowiki>include "DS1307.h" | ||
− | |||
DS1307 clock; //define a object of DS1307 class | 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) : | // 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] = {}; | // static uint8_t buzzer_hour[5] = {}; | ||
− | |||
int buzzer_hour = 0; | int buzzer_hour = 0; | ||
− | |||
int buzzer_min = 0; | int buzzer_min = 0; | ||
− | |||
int current_hour = 0; | int current_hour = 0; | ||
− | |||
int current_min = 0; | int current_min = 0; | ||
− | |||
// MP3 | // MP3 | ||
− | |||
// *** | // *** | ||
− | |||
<nowiki>#</nowiki>include <SoftwareSerial.h> | <nowiki>#</nowiki>include <SoftwareSerial.h> | ||
− | |||
<nowiki>#</nowiki>include <MP3Player_KT403A.h> | <nowiki>#</nowiki>include <MP3Player_KT403A.h> | ||
− | |||
// define a SoftwareSerial class object that the name must be mp3, | // define a SoftwareSerial class object that the name must be mp3, | ||
− | |||
// but you can change the pin number according to the actual situation. | // but you can change the pin number according to the actual situation. | ||
− | |||
SoftwareSerial mp3(7, 3); | SoftwareSerial mp3(7, 3); | ||
− | |||
// INITIALISATION | // INITIALISATION | ||
− | |||
// ============== | // ============== | ||
− | |||
void setup() { | void setup() { | ||
− | |||
// Ouverture de la communication avec le PC : | // Ouverture de la communication avec le PC : | ||
− | |||
Serial.begin(9600); | Serial.begin(9600); | ||
− | |||
// Démarrage de l'horloge : | // Démarrage de l'horloge : | ||
− | |||
clock.begin(); | clock.begin(); | ||
− | |||
clock.fillByYMD(2018,07,01);//Ju 30,2018 | clock.fillByYMD(2018,07,01);//Ju 30,2018 | ||
− | |||
clock.fillByHMS(20,20,10);//15:00 00" | clock.fillByHMS(20,20,10);//15:00 00" | ||
− | |||
clock.fillDayOfWeek(SAT);//Saturday | clock.fillDayOfWeek(SAT);//Saturday | ||
− | |||
clock.setTime();//write time to the RTC chip | clock.setTime();//write time to the RTC chip | ||
− | |||
// Réglage des paramètres du lecteur MP3 : | // Réglage des paramètres du lecteur MP3 : | ||
− | |||
mp3.begin(9600); | mp3.begin(9600); | ||
− | |||
SelectPlayerDevice(0x02); // Select SD card as the player device. | SelectPlayerDevice(0x02); // Select SD card as the player device. | ||
− | |||
SetVolume(0x0E); // Set the volume, the range is 0x00 to 0x1E [0 31]. | SetVolume(0x0E); // Set the volume, the range is 0x00 to 0x1E [0 31]. | ||
− | |||
// Affichage : | // Affichage : | ||
− | |||
while(!Serial); | while(!Serial); | ||
− | |||
Serial.println("Entrer une heure d'alarme (HH:MM)"); | Serial.println("Entrer une heure d'alarme (HH:MM)"); | ||
− | |||
Serial.println(" "); | Serial.println(" "); | ||
− | |||
delay(100); | delay(100); | ||
− | |||
} | } | ||
− | |||
// BOUCLE PRINCIPALE | // BOUCLE PRINCIPALE | ||
− | |||
// ================= | // ================= | ||
− | |||
void loop(){ | void loop(){ | ||
− | |||
// Affichage de l'heure au format HH:MM | // Affichage de l'heure au format HH:MM | ||
− | |||
// ************************************ | // ************************************ | ||
− | |||
printTime(); | printTime(); | ||
− | |||
// Lecture d'une heure de réveil : | // Lecture d'une heure de réveil : | ||
− | |||
// ******************************* | // ******************************* | ||
− | |||
while (Serial.available() > 0) { | while (Serial.available() > 0) { | ||
− | |||
// cherche le prochain entier dans l'incoming serial stream : | // cherche le prochain entier dans l'incoming serial stream : | ||
− | |||
buzzer_hour = Serial.parseInt(); | buzzer_hour = Serial.parseInt(); | ||
− | |||
// do it again: | // do it again: | ||
− | |||
buzzer_min = Serial.parseInt(); | buzzer_min = Serial.parseInt(); | ||
− | |||
Serial.println(" "); | Serial.println(" "); | ||
− | |||
Serial.print("Vous avez saisi l'heure d'alarme suivante: "); | Serial.print("Vous avez saisi l'heure d'alarme suivante: "); | ||
− | |||
Serial.print(buzzer_hour); | Serial.print(buzzer_hour); | ||
− | |||
if(buzzer_min < 10) { | if(buzzer_min < 10) { | ||
− | |||
Serial.print(":0"); | Serial.print(":0"); | ||
− | |||
Serial.print(buzzer_min); | Serial.print(buzzer_min); | ||
− | |||
} | } | ||
− | |||
else { | else { | ||
− | |||
Serial.print(":"); | Serial.print(":"); | ||
− | |||
Serial.println(buzzer_min); | Serial.println(buzzer_min); | ||
− | |||
} | } | ||
− | |||
} | } | ||
− | |||
// On compare l'heure réglée de l'alarme et l'heure actuelle : | // On compare l'heure réglée de l'alarme et l'heure actuelle : | ||
− | |||
// *********************************************************** | // *********************************************************** | ||
− | |||
if ((buzzer_hour == current_hour) && (buzzer_min == current_min)) { | if ((buzzer_hour == current_hour) && (buzzer_min == current_min)) { | ||
− | |||
//if (1) { // condition pour tester le MP3 au besoin. | //if (1) { // condition pour tester le MP3 au besoin. | ||
− | |||
// Lecture : | // Lecture : | ||
− | |||
Serial.println("Alarme MP3 Playing"); | Serial.println("Alarme MP3 Playing"); | ||
− | |||
Serial.println(" "); | Serial.println(" "); | ||
− | |||
// On lance le MP3 pendant 30 secondes et on le met en pause | // On lance le MP3 pendant 30 secondes et on le met en pause | ||
− | |||
PlayResume(); | PlayResume(); | ||
− | |||
delay(60000); | delay(60000); | ||
− | |||
PlayPause(); | PlayPause(); | ||
− | |||
// On nettoie l'heure du buzzer : | // On nettoie l'heure du buzzer : | ||
− | |||
buzzer_hour = 0; | buzzer_hour = 0; | ||
− | |||
buzzer_min = 0; | buzzer_min = 0; | ||
− | |||
// On propose à nouveau d'entrer un heure d'alarme : | // On propose à nouveau d'entrer un heure d'alarme : | ||
− | |||
Serial.println("Entrer une heure d'alarme (HH:MM)"); | Serial.println("Entrer une heure d'alarme (HH:MM)"); | ||
− | |||
Serial.println(" "); | Serial.println(" "); | ||
− | |||
delay(100); | delay(100); | ||
− | |||
} | } | ||
− | |||
delay(100); | delay(100); | ||
− | |||
} | } | ||
− | |||
// ==================================================== // | // ==================================================== // | ||
− | |||
// FONCTIONS APPELEES DANS LA BOUCLE PRINCIPALE // | // FONCTIONS APPELEES DANS LA BOUCLE PRINCIPALE // | ||
− | |||
// ==================================================== // | // ==================================================== // | ||
− | |||
// Fonction "printTime" : écrit l'heure sur le moniteur série | // Fonction "printTime" : écrit l'heure sur le moniteur série | ||
− | |||
void printTime() { | void printTime() { | ||
− | |||
clock.getTime(); | clock.getTime(); | ||
− | |||
Serial.println(" "); | Serial.println(" "); | ||
− | |||
current_hour = clock.hour; | current_hour = clock.hour; | ||
− | |||
current_min = clock.minute; | current_min = clock.minute; | ||
− | |||
Serial.print(clock.hour, DEC); | Serial.print(clock.hour, DEC); | ||
− | |||
if(clock.minute < 10) { | if(clock.minute < 10) { | ||
− | |||
Serial.print(":0"); | Serial.print(":0"); | ||
− | |||
Serial.print(clock.minute, DEC); | Serial.print(clock.minute, DEC); | ||
− | |||
} | } | ||
− | |||
else { | else { | ||
− | |||
Serial.print(":"); | Serial.print(":"); | ||
− | |||
Serial.print(clock.minute, DEC); | Serial.print(clock.minute, DEC); | ||
− | |||
} | } | ||
− | |||
Serial.println(" "); | Serial.println(" "); | ||
− | |||
delay (3000); | delay (3000); | ||
− | |||
}</translate> | }</translate> | ||
}} | }} | ||
Line 391: | Line 274: | ||
|Step_Content=<translate></translate> | |Step_Content=<translate></translate> | ||
}} | }} | ||
− | {{ {{tntn| | + | {{ {{tntn|Notes}} |
− | | | + | |Notes=<translate>Pour les libraries arduino : |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | http://wiki.seeedstudio.com/Grove-MP3_v2.0/ | |
− | |||
− | + | http://wiki.seeedstudio.com/Grove-RTC/</translate> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
{{ {{tntn|Tuto Status}} | {{ {{tntn|Tuto Status}} | ||
|Complete=Published | |Complete=Published | ||
}} | }} |
Author Cyriljak | Last edit 9/12/2019 by Clementflipo
No image yet
fr none Creation 0
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é
découpeuse lazer
imprimante 3d ultimaker 2
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
// DECLARATIONS
// Projet Réveil mp3
#include <Wire.h>
// Bibliothèque de gestion de l'horloge
// ************************************
#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
// ***
#include <SoftwareSerial.h>
#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);
}
Pour les libraries arduino :
http://wiki.seeedstudio.com/Grove-MP3_v2.0/
http://wiki.seeedstudio.com/Grove-RTC/
Published
You entered an invalid page name, with one or many of the following characters :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #