(Cette version a été marquée pour être traduite) |
|||
Ligne 4 : | Ligne 4 : | ||
|IsTranslation=0 | |IsTranslation=0 | ||
|Licences=Attribution (CC BY) | |Licences=Attribution (CC BY) | ||
− | |Description=<translate>Boite Réveil mp3 avec arduino uno</translate> | + | |Description=<translate><!--T:238--> Boite Réveil mp3 avec arduino uno</translate> |
|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=<translate><!--T:239--> Boites en contreplaqué contenant un réveil-mp3 et un écran fonctionnant grâce à un arduino uno</translate> |
}} | }} | ||
{{ {{tntn|Materials}} | {{ {{tntn|Materials}} | ||
− | |Material=<translate>Arduino uno | + | |Material=<translate><!--T:240--> |
+ | Arduino uno | ||
+ | <!--T:241--> | ||
Grove - MP3 v2.0 | Grove - MP3 v2.0 | ||
+ | <!--T:242--> | ||
Grove - RTC | Grove - RTC | ||
+ | <!--T:243--> | ||
Mini SD | Mini SD | ||
+ | <!--T:244--> | ||
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 | ||
+ | <!--T:245--> | ||
Plaque contreplaqué</translate> | Plaque contreplaqué</translate> | ||
− | |Tools=<translate>découpeuse lazer | + | |Tools=<translate><!--T:246--> |
+ | découpeuse lazer | ||
+ | <!--T:247--> | ||
imprimante 3d ultimaker 2</translate> | imprimante 3d ultimaker 2</translate> | ||
|Tuto_Attachments={{ {{tntn|Tuto Attachments}} | |Tuto_Attachments={{ {{tntn|Tuto Attachments}} | ||
Ligne 39 : | Ligne 47 : | ||
{{ {{tntn|Separator}}}} | {{ {{tntn|Separator}}}} | ||
{{ {{tntn|Tuto Step}} | {{ {{tntn|Tuto Step}} | ||
− | |Step_Title=<translate>decoupe</translate> | + | |Step_Title=<translate><!--T:248--> decoupe</translate> |
|Step_Content=<translate></translate> | |Step_Content=<translate></translate> | ||
}} | }} | ||
{{ {{tntn|Tuto Step}} | {{ {{tntn|Tuto Step}} | ||
− | |Step_Title=<translate>impression 3D</translate> | + | |Step_Title=<translate><!--T:249--> impression 3D</translate> |
− | |Step_Content=<translate>imprimante 3d ultimaker 2 | + | |Step_Content=<translate><!--T:250--> |
+ | imprimante 3d ultimaker 2 | ||
+ | <!--T:251--> | ||
Matière utilisée : PLA | Matière utilisée : PLA | ||
+ | <!--T:252--> | ||
Réglages : voir fichier config imp3D.png | Réglages : voir fichier config imp3D.png | ||
+ | <!--T:253--> | ||
Modèle : https://www.tinkercad.com/things/0svbwI2n4Ez-copy-of-megaphone/editv2</translate> | Modèle : https://www.tinkercad.com/things/0svbwI2n4Ez-copy-of-megaphone/editv2</translate> | ||
}} | }} | ||
{{ {{tntn|Tuto Step}} | {{ {{tntn|Tuto Step}} | ||
− | |Step_Title=<translate>code arduino</translate> | + | |Step_Title=<translate><!--T:254--> code arduino</translate> |
− | |Step_Content=<translate>// DECLARATIONS | + | |Step_Content=<translate><!--T:255--> |
+ | // DECLARATIONS | ||
+ | <!--T:256--> | ||
// Projet Réveil mp3 | // Projet Réveil mp3 | ||
+ | <!--T:257--> | ||
<nowiki>#</nowiki>include <Wire.h> | <nowiki>#</nowiki>include <Wire.h> | ||
+ | <!--T:258--> | ||
// Bibliothèque de gestion de l'horloge | // Bibliothèque de gestion de l'horloge | ||
+ | <!--T:259--> | ||
// ************************************ | // ************************************ | ||
+ | <!--T:260--> | ||
<nowiki>#</nowiki>include "DS1307.h" | <nowiki>#</nowiki>include "DS1307.h" | ||
+ | <!--T:261--> | ||
DS1307 clock; //define a object of DS1307 class | DS1307 clock; //define a object of DS1307 class | ||
+ | <!--T:262--> | ||
// 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) : | ||
+ | <!--T:263--> | ||
// static uint8_t buzzer_hour[5] = {}; | // static uint8_t buzzer_hour[5] = {}; | ||
+ | <!--T:264--> | ||
int buzzer_hour = 0; | int buzzer_hour = 0; | ||
+ | <!--T:265--> | ||
int buzzer_min = 0; | int buzzer_min = 0; | ||
+ | <!--T:266--> | ||
int current_hour = 0; | int current_hour = 0; | ||
+ | <!--T:267--> | ||
int current_min = 0; | int current_min = 0; | ||
+ | <!--T:268--> | ||
// MP3 | // MP3 | ||
+ | <!--T:269--> | ||
// *** | // *** | ||
+ | <!--T:270--> | ||
<nowiki>#</nowiki>include <SoftwareSerial.h> | <nowiki>#</nowiki>include <SoftwareSerial.h> | ||
+ | <!--T:271--> | ||
<nowiki>#</nowiki>include <MP3Player_KT403A.h> | <nowiki>#</nowiki>include <MP3Player_KT403A.h> | ||
+ | <!--T:272--> | ||
// define a SoftwareSerial class object that the name must be mp3, | // define a SoftwareSerial class object that the name must be mp3, | ||
+ | <!--T:273--> | ||
// but you can change the pin number according to the actual situation. | // but you can change the pin number according to the actual situation. | ||
+ | <!--T:274--> | ||
SoftwareSerial mp3(7, 3); | SoftwareSerial mp3(7, 3); | ||
+ | <!--T:275--> | ||
// INITIALISATION | // INITIALISATION | ||
+ | <!--T:276--> | ||
// ============== | // ============== | ||
+ | <!--T:277--> | ||
void setup() { | void setup() { | ||
+ | <!--T:278--> | ||
// Ouverture de la communication avec le PC : | // Ouverture de la communication avec le PC : | ||
+ | <!--T:279--> | ||
Serial.begin(9600); | Serial.begin(9600); | ||
+ | <!--T:280--> | ||
// Démarrage de l'horloge : | // Démarrage de l'horloge : | ||
+ | <!--T:281--> | ||
clock.begin(); | clock.begin(); | ||
+ | <!--T:282--> | ||
clock.fillByYMD(2018,07,01);//Ju 30,2018 | clock.fillByYMD(2018,07,01);//Ju 30,2018 | ||
+ | <!--T:283--> | ||
clock.fillByHMS(20,20,10);//15:00 00" | clock.fillByHMS(20,20,10);//15:00 00" | ||
+ | <!--T:284--> | ||
clock.fillDayOfWeek(SAT);//Saturday | clock.fillDayOfWeek(SAT);//Saturday | ||
+ | <!--T:285--> | ||
clock.setTime();//write time to the RTC chip | clock.setTime();//write time to the RTC chip | ||
+ | <!--T:286--> | ||
// Réglage des paramètres du lecteur MP3 : | // Réglage des paramètres du lecteur MP3 : | ||
+ | <!--T:287--> | ||
mp3.begin(9600); | mp3.begin(9600); | ||
+ | <!--T:288--> | ||
SelectPlayerDevice(0x02); // Select SD card as the player device. | SelectPlayerDevice(0x02); // Select SD card as the player device. | ||
+ | <!--T:289--> | ||
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]. | ||
+ | <!--T:290--> | ||
// Affichage : | // Affichage : | ||
+ | <!--T:291--> | ||
while(!Serial); | while(!Serial); | ||
+ | <!--T:292--> | ||
Serial.println("Entrer une heure d'alarme (HH:MM)"); | Serial.println("Entrer une heure d'alarme (HH:MM)"); | ||
+ | <!--T:293--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:294--> | ||
delay(100); | delay(100); | ||
+ | <!--T:295--> | ||
} | } | ||
+ | <!--T:296--> | ||
// BOUCLE PRINCIPALE | // BOUCLE PRINCIPALE | ||
+ | <!--T:297--> | ||
// ================= | // ================= | ||
+ | <!--T:298--> | ||
void loop(){ | void loop(){ | ||
+ | <!--T:299--> | ||
// Affichage de l'heure au format HH:MM | // Affichage de l'heure au format HH:MM | ||
+ | <!--T:300--> | ||
// ************************************ | // ************************************ | ||
+ | <!--T:301--> | ||
printTime(); | printTime(); | ||
+ | <!--T:302--> | ||
// Lecture d'une heure de réveil : | // Lecture d'une heure de réveil : | ||
+ | <!--T:303--> | ||
// ******************************* | // ******************************* | ||
+ | <!--T:304--> | ||
while (Serial.available() > 0) { | while (Serial.available() > 0) { | ||
+ | <!--T:305--> | ||
// cherche le prochain entier dans l'incoming serial stream : | // cherche le prochain entier dans l'incoming serial stream : | ||
+ | <!--T:306--> | ||
buzzer_hour = Serial.parseInt(); | buzzer_hour = Serial.parseInt(); | ||
+ | <!--T:307--> | ||
// do it again: | // do it again: | ||
+ | <!--T:308--> | ||
buzzer_min = Serial.parseInt(); | buzzer_min = Serial.parseInt(); | ||
+ | <!--T:309--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:310--> | ||
Serial.print("Vous avez saisi l'heure d'alarme suivante: "); | Serial.print("Vous avez saisi l'heure d'alarme suivante: "); | ||
+ | <!--T:311--> | ||
Serial.print(buzzer_hour); | Serial.print(buzzer_hour); | ||
+ | <!--T:312--> | ||
if(buzzer_min < 10) { | if(buzzer_min < 10) { | ||
+ | <!--T:313--> | ||
Serial.print(":0"); | Serial.print(":0"); | ||
+ | <!--T:314--> | ||
Serial.print(buzzer_min); | Serial.print(buzzer_min); | ||
+ | <!--T:315--> | ||
} | } | ||
+ | <!--T:316--> | ||
else { | else { | ||
+ | <!--T:317--> | ||
Serial.print(":"); | Serial.print(":"); | ||
+ | <!--T:318--> | ||
Serial.println(buzzer_min); | Serial.println(buzzer_min); | ||
+ | <!--T:319--> | ||
} | } | ||
+ | <!--T:320--> | ||
} | } | ||
+ | <!--T:321--> | ||
// 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 : | ||
+ | <!--T:322--> | ||
// *********************************************************** | // *********************************************************** | ||
+ | <!--T:323--> | ||
if ((buzzer_hour == current_hour) && (buzzer_min == current_min)) { | if ((buzzer_hour == current_hour) && (buzzer_min == current_min)) { | ||
+ | <!--T:324--> | ||
//if (1) { // condition pour tester le MP3 au besoin. | //if (1) { // condition pour tester le MP3 au besoin. | ||
+ | <!--T:325--> | ||
// Lecture : | // Lecture : | ||
+ | <!--T:326--> | ||
Serial.println("Alarme MP3 Playing"); | Serial.println("Alarme MP3 Playing"); | ||
+ | <!--T:327--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:328--> | ||
// 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 | ||
+ | <!--T:329--> | ||
PlayResume(); | PlayResume(); | ||
+ | <!--T:330--> | ||
delay(60000); | delay(60000); | ||
+ | <!--T:331--> | ||
PlayPause(); | PlayPause(); | ||
+ | <!--T:332--> | ||
// On nettoie l'heure du buzzer : | // On nettoie l'heure du buzzer : | ||
+ | <!--T:333--> | ||
buzzer_hour = 0; | buzzer_hour = 0; | ||
+ | <!--T:334--> | ||
buzzer_min = 0; | buzzer_min = 0; | ||
+ | <!--T:335--> | ||
// On propose à nouveau d'entrer un heure d'alarme : | // On propose à nouveau d'entrer un heure d'alarme : | ||
+ | <!--T:336--> | ||
Serial.println("Entrer une heure d'alarme (HH:MM)"); | Serial.println("Entrer une heure d'alarme (HH:MM)"); | ||
+ | <!--T:337--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:338--> | ||
delay(100); | delay(100); | ||
+ | <!--T:339--> | ||
} | } | ||
+ | <!--T:340--> | ||
delay(100); | delay(100); | ||
+ | <!--T:341--> | ||
} | } | ||
+ | <!--T:342--> | ||
// ==================================================== // | // ==================================================== // | ||
+ | <!--T:343--> | ||
// FONCTIONS APPELEES DANS LA BOUCLE PRINCIPALE // | // FONCTIONS APPELEES DANS LA BOUCLE PRINCIPALE // | ||
+ | <!--T:344--> | ||
// ==================================================== // | // ==================================================== // | ||
+ | <!--T:345--> | ||
// Fonction "printTime" : écrit l'heure sur le moniteur série | // Fonction "printTime" : écrit l'heure sur le moniteur série | ||
+ | <!--T:346--> | ||
void printTime() { | void printTime() { | ||
+ | <!--T:347--> | ||
clock.getTime(); | clock.getTime(); | ||
+ | <!--T:348--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:349--> | ||
current_hour = clock.hour; | current_hour = clock.hour; | ||
+ | <!--T:350--> | ||
current_min = clock.minute; | current_min = clock.minute; | ||
+ | <!--T:351--> | ||
Serial.print(clock.hour, DEC); | Serial.print(clock.hour, DEC); | ||
+ | <!--T:352--> | ||
if(clock.minute < 10) { | if(clock.minute < 10) { | ||
+ | <!--T:353--> | ||
Serial.print(":0"); | Serial.print(":0"); | ||
+ | <!--T:354--> | ||
Serial.print(clock.minute, DEC); | Serial.print(clock.minute, DEC); | ||
+ | <!--T:355--> | ||
} | } | ||
+ | <!--T:356--> | ||
else { | else { | ||
+ | <!--T:357--> | ||
Serial.print(":"); | Serial.print(":"); | ||
+ | <!--T:358--> | ||
Serial.print(clock.minute, DEC); | Serial.print(clock.minute, DEC); | ||
+ | <!--T:359--> | ||
} | } | ||
+ | <!--T:360--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:361--> | ||
delay (3000); | delay (3000); | ||
+ | <!--T:362--> | ||
}</translate> | }</translate> | ||
}} | }} | ||
Ligne 275 : | Ligne 395 : | ||
}} | }} | ||
{{ {{tntn|Notes}} | {{ {{tntn|Notes}} | ||
− | |Notes=<translate>Pour les libraries arduino : | + | |Notes=<translate><!--T:363--> |
+ | Pour les libraries arduino : | ||
+ | <!--T:364--> | ||
http://wiki.seeedstudio.com/Grove-MP3_v2.0/ | http://wiki.seeedstudio.com/Grove-MP3_v2.0/ | ||
+ | <!--T:365--> | ||
http://wiki.seeedstudio.com/Grove-RTC/</translate> | http://wiki.seeedstudio.com/Grove-RTC/</translate> | ||
}} | }} |
Auteur Cyriljak | Dernière modification 9/12/2019 par Clementflipo
Pas encore d'image
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
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #