m (Enregistré en utilisant le bouton "Sauvegarder et continuer" du formulaire) |
(Cette version a été marquée pour être traduite) |
||
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=<translate><!--T:1--> 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:2--> 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:3--> |
+ | Arduino uno | ||
+ | <!--T:4--> | ||
Grove - MP3 v2.0 | Grove - MP3 v2.0 | ||
+ | <!--T:5--> | ||
Grove - RTC | Grove - RTC | ||
+ | <!--T:6--> | ||
Mini SD | Mini SD | ||
+ | <!--T:7--> | ||
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:8--> | ||
Plaque contreplaqué</translate> | Plaque contreplaqué</translate> | ||
− | |Tools=<translate>découpeuse lazer | + | |Tools=<translate><!--T:9--> |
+ | découpeuse lazer | ||
+ | <!--T:10--> | ||
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:11--> 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:12--> impression 3D</translate> |
− | |Step_Content=<translate>imprimante 3d ultimaker 2 | + | |Step_Content=<translate><!--T:13--> |
+ | imprimante 3d ultimaker 2 | ||
+ | <!--T:14--> | ||
Matière utilisée : PLA | Matière utilisée : PLA | ||
+ | <!--T:15--> | ||
Réglages : voir fichier config imp3D.png</translate> | Réglages : voir fichier config imp3D.png</translate> | ||
}} | }} | ||
{{ {{tntn|Tuto Step}} | {{ {{tntn|Tuto Step}} | ||
− | |Step_Title=<translate>code arduino</translate> | + | |Step_Title=<translate><!--T:16--> code arduino</translate> |
− | |Step_Content=<translate>// DECLARATIONS | + | |Step_Content=<translate><!--T:17--> |
+ | // DECLARATIONS | ||
+ | <!--T:18--> | ||
// Projet Réveil mp3 | // Projet Réveil mp3 | ||
+ | <!--T:19--> | ||
<nowiki>#</nowiki>include <Wire.h> | <nowiki>#</nowiki>include <Wire.h> | ||
+ | <!--T:20--> | ||
// Bibliothèque de gestion de l'horloge | // Bibliothèque de gestion de l'horloge | ||
+ | <!--T:21--> | ||
// ************************************ | // ************************************ | ||
+ | <!--T:22--> | ||
<nowiki>#</nowiki>include "DS1307.h" | <nowiki>#</nowiki>include "DS1307.h" | ||
+ | <!--T:23--> | ||
DS1307 clock; //define a object of DS1307 class | DS1307 clock; //define a object of DS1307 class | ||
+ | <!--T:24--> | ||
// 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:25--> | ||
// static uint8_t buzzer_hour[5] = {}; | // static uint8_t buzzer_hour[5] = {}; | ||
+ | <!--T:26--> | ||
int buzzer_hour = 0; | int buzzer_hour = 0; | ||
+ | <!--T:27--> | ||
int buzzer_min = 0; | int buzzer_min = 0; | ||
+ | <!--T:28--> | ||
int current_hour = 0; | int current_hour = 0; | ||
+ | <!--T:29--> | ||
int current_min = 0; | int current_min = 0; | ||
+ | <!--T:30--> | ||
// MP3 | // MP3 | ||
+ | <!--T:31--> | ||
// *** | // *** | ||
+ | <!--T:32--> | ||
<nowiki>#</nowiki>include <SoftwareSerial.h> | <nowiki>#</nowiki>include <SoftwareSerial.h> | ||
+ | <!--T:33--> | ||
<nowiki>#</nowiki>include <MP3Player_KT403A.h> | <nowiki>#</nowiki>include <MP3Player_KT403A.h> | ||
+ | <!--T:34--> | ||
// define a SoftwareSerial class object that the name must be mp3, | // define a SoftwareSerial class object that the name must be mp3, | ||
+ | <!--T:35--> | ||
// 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:36--> | ||
SoftwareSerial mp3(7, 3); | SoftwareSerial mp3(7, 3); | ||
+ | <!--T:37--> | ||
// INITIALISATION | // INITIALISATION | ||
+ | <!--T:38--> | ||
// ============== | // ============== | ||
+ | <!--T:39--> | ||
void setup() { | void setup() { | ||
+ | <!--T:40--> | ||
// Ouverture de la communication avec le PC : | // Ouverture de la communication avec le PC : | ||
+ | <!--T:41--> | ||
Serial.begin(9600); | Serial.begin(9600); | ||
+ | <!--T:42--> | ||
// Démarrage de l'horloge : | // Démarrage de l'horloge : | ||
+ | <!--T:43--> | ||
clock.begin(); | clock.begin(); | ||
+ | <!--T:44--> | ||
clock.fillByYMD(2018,07,01);//Ju 30,2018 | clock.fillByYMD(2018,07,01);//Ju 30,2018 | ||
+ | <!--T:45--> | ||
clock.fillByHMS(20,20,10);//15:00 00" | clock.fillByHMS(20,20,10);//15:00 00" | ||
+ | <!--T:46--> | ||
clock.fillDayOfWeek(SAT);//Saturday | clock.fillDayOfWeek(SAT);//Saturday | ||
+ | <!--T:47--> | ||
clock.setTime();//write time to the RTC chip | clock.setTime();//write time to the RTC chip | ||
+ | <!--T:48--> | ||
// Réglage des paramètres du lecteur MP3 : | // Réglage des paramètres du lecteur MP3 : | ||
+ | <!--T:49--> | ||
mp3.begin(9600); | mp3.begin(9600); | ||
+ | <!--T:50--> | ||
SelectPlayerDevice(0x02); // Select SD card as the player device. | SelectPlayerDevice(0x02); // Select SD card as the player device. | ||
+ | <!--T:51--> | ||
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:52--> | ||
// Affichage : | // Affichage : | ||
+ | <!--T:53--> | ||
while(!Serial); | while(!Serial); | ||
+ | <!--T:54--> | ||
Serial.println("Entrer une heure d'alarme (HH:MM)"); | Serial.println("Entrer une heure d'alarme (HH:MM)"); | ||
+ | <!--T:55--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:56--> | ||
delay(100); | delay(100); | ||
+ | <!--T:57--> | ||
} | } | ||
+ | <!--T:58--> | ||
// BOUCLE PRINCIPALE | // BOUCLE PRINCIPALE | ||
+ | <!--T:59--> | ||
// ================= | // ================= | ||
+ | <!--T:60--> | ||
void loop(){ | void loop(){ | ||
+ | <!--T:61--> | ||
// Affichage de l'heure au format HH:MM | // Affichage de l'heure au format HH:MM | ||
+ | <!--T:62--> | ||
// ************************************ | // ************************************ | ||
+ | <!--T:63--> | ||
printTime(); | printTime(); | ||
+ | <!--T:64--> | ||
// Lecture d'une heure de réveil : | // Lecture d'une heure de réveil : | ||
+ | <!--T:65--> | ||
// ******************************* | // ******************************* | ||
+ | <!--T:66--> | ||
while (Serial.available() > 0) { | while (Serial.available() > 0) { | ||
+ | <!--T:67--> | ||
// cherche le prochain entier dans l'incoming serial stream : | // cherche le prochain entier dans l'incoming serial stream : | ||
+ | <!--T:68--> | ||
buzzer_hour = Serial.parseInt(); | buzzer_hour = Serial.parseInt(); | ||
+ | <!--T:69--> | ||
// do it again: | // do it again: | ||
+ | <!--T:70--> | ||
buzzer_min = Serial.parseInt(); | buzzer_min = Serial.parseInt(); | ||
+ | <!--T:71--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:72--> | ||
Serial.print("Vous avez saisi l'heure d'alarme suivante: "); | Serial.print("Vous avez saisi l'heure d'alarme suivante: "); | ||
+ | <!--T:73--> | ||
Serial.print(buzzer_hour); | Serial.print(buzzer_hour); | ||
+ | <!--T:74--> | ||
if(buzzer_min < 10) { | if(buzzer_min < 10) { | ||
+ | <!--T:75--> | ||
Serial.print(":0"); | Serial.print(":0"); | ||
+ | <!--T:76--> | ||
Serial.print(buzzer_min); | Serial.print(buzzer_min); | ||
+ | <!--T:77--> | ||
} | } | ||
+ | <!--T:78--> | ||
else { | else { | ||
+ | <!--T:79--> | ||
Serial.print(":"); | Serial.print(":"); | ||
+ | <!--T:80--> | ||
Serial.println(buzzer_min); | Serial.println(buzzer_min); | ||
+ | <!--T:81--> | ||
} | } | ||
+ | <!--T:82--> | ||
} | } | ||
+ | <!--T:83--> | ||
// 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:84--> | ||
// *********************************************************** | // *********************************************************** | ||
+ | <!--T:85--> | ||
if ((buzzer_hour == current_hour) && (buzzer_min == current_min)) { | if ((buzzer_hour == current_hour) && (buzzer_min == current_min)) { | ||
+ | <!--T:86--> | ||
//if (1) { // condition pour tester le MP3 au besoin. | //if (1) { // condition pour tester le MP3 au besoin. | ||
+ | <!--T:87--> | ||
// Lecture : | // Lecture : | ||
+ | <!--T:88--> | ||
Serial.println("Alarme MP3 Playing"); | Serial.println("Alarme MP3 Playing"); | ||
+ | <!--T:89--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:90--> | ||
// 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:91--> | ||
PlayResume(); | PlayResume(); | ||
+ | <!--T:92--> | ||
delay(60000); | delay(60000); | ||
+ | <!--T:93--> | ||
PlayPause(); | PlayPause(); | ||
+ | <!--T:94--> | ||
// On nettoie l'heure du buzzer : | // On nettoie l'heure du buzzer : | ||
+ | <!--T:95--> | ||
buzzer_hour = 0; | buzzer_hour = 0; | ||
+ | <!--T:96--> | ||
buzzer_min = 0; | buzzer_min = 0; | ||
+ | <!--T:97--> | ||
// On propose à nouveau d'entrer un heure d'alarme : | // On propose à nouveau d'entrer un heure d'alarme : | ||
+ | <!--T:98--> | ||
Serial.println("Entrer une heure d'alarme (HH:MM)"); | Serial.println("Entrer une heure d'alarme (HH:MM)"); | ||
+ | <!--T:99--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:100--> | ||
delay(100); | delay(100); | ||
+ | <!--T:101--> | ||
} | } | ||
+ | <!--T:102--> | ||
delay(100); | delay(100); | ||
+ | <!--T:103--> | ||
} | } | ||
+ | <!--T:104--> | ||
// ==================================================== // | // ==================================================== // | ||
+ | <!--T:105--> | ||
// FONCTIONS APPELEES DANS LA BOUCLE PRINCIPALE // | // FONCTIONS APPELEES DANS LA BOUCLE PRINCIPALE // | ||
+ | <!--T:106--> | ||
// ==================================================== // | // ==================================================== // | ||
+ | <!--T:107--> | ||
// Fonction "printTime" : écrit l'heure sur le moniteur série | // Fonction "printTime" : écrit l'heure sur le moniteur série | ||
+ | <!--T:108--> | ||
void printTime() { | void printTime() { | ||
+ | <!--T:109--> | ||
clock.getTime(); | clock.getTime(); | ||
+ | <!--T:110--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:111--> | ||
current_hour = clock.hour; | current_hour = clock.hour; | ||
+ | <!--T:112--> | ||
current_min = clock.minute; | current_min = clock.minute; | ||
+ | <!--T:113--> | ||
Serial.print(clock.hour, DEC); | Serial.print(clock.hour, DEC); | ||
+ | <!--T:114--> | ||
if(clock.minute < 10) { | if(clock.minute < 10) { | ||
+ | <!--T:115--> | ||
Serial.print(":0"); | Serial.print(":0"); | ||
+ | <!--T:116--> | ||
Serial.print(clock.minute, DEC); | Serial.print(clock.minute, DEC); | ||
+ | <!--T:117--> | ||
} | } | ||
+ | <!--T:118--> | ||
else { | else { | ||
+ | <!--T:119--> | ||
Serial.print(":"); | Serial.print(":"); | ||
+ | <!--T:120--> | ||
Serial.print(clock.minute, DEC); | Serial.print(clock.minute, DEC); | ||
+ | <!--T:121--> | ||
} | } | ||
+ | <!--T:122--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:123--> | ||
delay (3000); | delay (3000); | ||
+ | <!--T:124--> | ||
}</translate> | }</translate> | ||
}} | }} | ||
Ligne 273 : | Ligne 392 : | ||
}} | }} | ||
{{ {{tntn|Tuto Step}} | {{ {{tntn|Tuto Step}} | ||
− | |Step_Title=<translate>impression 3D</translate> | + | |Step_Title=<translate><!--T:125--> impression 3D</translate> |
− | |Step_Content=<translate>imprimante 3d ultimaker 2 | + | |Step_Content=<translate><!--T:126--> |
+ | imprimante 3d ultimaker 2 | ||
+ | <!--T:127--> | ||
Matière utilisée : PLA | Matière utilisée : PLA | ||
+ | <!--T:128--> | ||
Réglages : voir fichier config imp3D.png</translate> | Réglages : voir fichier config imp3D.png</translate> | ||
}} | }} | ||
{{ {{tntn|Tuto Step}} | {{ {{tntn|Tuto Step}} | ||
− | |Step_Title=<translate>code arduino</translate> | + | |Step_Title=<translate><!--T:129--> code arduino</translate> |
− | |Step_Content=<translate>// DECLARATIONS | + | |Step_Content=<translate><!--T:130--> |
+ | // DECLARATIONS | ||
+ | <!--T:131--> | ||
// Projet Réveil mp3 | // Projet Réveil mp3 | ||
+ | <!--T:132--> | ||
<nowiki>#</nowiki>include <Wire.h> | <nowiki>#</nowiki>include <Wire.h> | ||
+ | <!--T:133--> | ||
// Bibliothèque de gestion de l'horloge | // Bibliothèque de gestion de l'horloge | ||
+ | <!--T:134--> | ||
// ************************************ | // ************************************ | ||
+ | <!--T:135--> | ||
<nowiki>#</nowiki>include "DS1307.h" | <nowiki>#</nowiki>include "DS1307.h" | ||
+ | <!--T:136--> | ||
DS1307 clock; //define a object of DS1307 class | DS1307 clock; //define a object of DS1307 class | ||
+ | <!--T:137--> | ||
// 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:138--> | ||
// static uint8_t buzzer_hour[5] = {}; | // static uint8_t buzzer_hour[5] = {}; | ||
+ | <!--T:139--> | ||
int buzzer_hour = 0; | int buzzer_hour = 0; | ||
+ | <!--T:140--> | ||
int buzzer_min = 0; | int buzzer_min = 0; | ||
+ | <!--T:141--> | ||
int current_hour = 0; | int current_hour = 0; | ||
+ | <!--T:142--> | ||
int current_min = 0; | int current_min = 0; | ||
+ | <!--T:143--> | ||
// MP3 | // MP3 | ||
+ | <!--T:144--> | ||
// *** | // *** | ||
+ | <!--T:145--> | ||
<nowiki>#</nowiki>include <SoftwareSerial.h> | <nowiki>#</nowiki>include <SoftwareSerial.h> | ||
+ | <!--T:146--> | ||
<nowiki>#</nowiki>include <MP3Player_KT403A.h> | <nowiki>#</nowiki>include <MP3Player_KT403A.h> | ||
+ | <!--T:147--> | ||
// define a SoftwareSerial class object that the name must be mp3, | // define a SoftwareSerial class object that the name must be mp3, | ||
+ | <!--T:148--> | ||
// 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:149--> | ||
SoftwareSerial mp3(7, 3); | SoftwareSerial mp3(7, 3); | ||
+ | <!--T:150--> | ||
// INITIALISATION | // INITIALISATION | ||
+ | <!--T:151--> | ||
// ============== | // ============== | ||
+ | <!--T:152--> | ||
void setup() { | void setup() { | ||
+ | <!--T:153--> | ||
// Ouverture de la communication avec le PC : | // Ouverture de la communication avec le PC : | ||
+ | <!--T:154--> | ||
Serial.begin(9600); | Serial.begin(9600); | ||
+ | <!--T:155--> | ||
// Démarrage de l'horloge : | // Démarrage de l'horloge : | ||
+ | <!--T:156--> | ||
clock.begin(); | clock.begin(); | ||
+ | <!--T:157--> | ||
clock.fillByYMD(2018,07,01);//Ju 30,2018 | clock.fillByYMD(2018,07,01);//Ju 30,2018 | ||
+ | <!--T:158--> | ||
clock.fillByHMS(20,20,10);//15:00 00" | clock.fillByHMS(20,20,10);//15:00 00" | ||
+ | <!--T:159--> | ||
clock.fillDayOfWeek(SAT);//Saturday | clock.fillDayOfWeek(SAT);//Saturday | ||
+ | <!--T:160--> | ||
clock.setTime();//write time to the RTC chip | clock.setTime();//write time to the RTC chip | ||
+ | <!--T:161--> | ||
// Réglage des paramètres du lecteur MP3 : | // Réglage des paramètres du lecteur MP3 : | ||
+ | <!--T:162--> | ||
mp3.begin(9600); | mp3.begin(9600); | ||
+ | <!--T:163--> | ||
SelectPlayerDevice(0x02); // Select SD card as the player device. | SelectPlayerDevice(0x02); // Select SD card as the player device. | ||
+ | <!--T:164--> | ||
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:165--> | ||
// Affichage : | // Affichage : | ||
+ | <!--T:166--> | ||
while(!Serial); | while(!Serial); | ||
+ | <!--T:167--> | ||
Serial.println("Entrer une heure d'alarme (HH:MM)"); | Serial.println("Entrer une heure d'alarme (HH:MM)"); | ||
+ | <!--T:168--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:169--> | ||
delay(100); | delay(100); | ||
+ | <!--T:170--> | ||
} | } | ||
+ | <!--T:171--> | ||
// BOUCLE PRINCIPALE | // BOUCLE PRINCIPALE | ||
+ | <!--T:172--> | ||
// ================= | // ================= | ||
+ | <!--T:173--> | ||
void loop(){ | void loop(){ | ||
+ | <!--T:174--> | ||
// Affichage de l'heure au format HH:MM | // Affichage de l'heure au format HH:MM | ||
+ | <!--T:175--> | ||
// ************************************ | // ************************************ | ||
+ | <!--T:176--> | ||
printTime(); | printTime(); | ||
+ | <!--T:177--> | ||
// Lecture d'une heure de réveil : | // Lecture d'une heure de réveil : | ||
+ | <!--T:178--> | ||
// ******************************* | // ******************************* | ||
+ | <!--T:179--> | ||
while (Serial.available() > 0) { | while (Serial.available() > 0) { | ||
+ | <!--T:180--> | ||
// cherche le prochain entier dans l'incoming serial stream : | // cherche le prochain entier dans l'incoming serial stream : | ||
+ | <!--T:181--> | ||
buzzer_hour = Serial.parseInt(); | buzzer_hour = Serial.parseInt(); | ||
+ | <!--T:182--> | ||
// do it again: | // do it again: | ||
+ | <!--T:183--> | ||
buzzer_min = Serial.parseInt(); | buzzer_min = Serial.parseInt(); | ||
+ | <!--T:184--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:185--> | ||
Serial.print("Vous avez saisi l'heure d'alarme suivante: "); | Serial.print("Vous avez saisi l'heure d'alarme suivante: "); | ||
+ | <!--T:186--> | ||
Serial.print(buzzer_hour); | Serial.print(buzzer_hour); | ||
+ | <!--T:187--> | ||
if(buzzer_min < 10) { | if(buzzer_min < 10) { | ||
+ | <!--T:188--> | ||
Serial.print(":0"); | Serial.print(":0"); | ||
+ | <!--T:189--> | ||
Serial.print(buzzer_min); | Serial.print(buzzer_min); | ||
+ | <!--T:190--> | ||
} | } | ||
+ | <!--T:191--> | ||
else { | else { | ||
+ | <!--T:192--> | ||
Serial.print(":"); | Serial.print(":"); | ||
+ | <!--T:193--> | ||
Serial.println(buzzer_min); | Serial.println(buzzer_min); | ||
+ | <!--T:194--> | ||
} | } | ||
+ | <!--T:195--> | ||
} | } | ||
+ | <!--T:196--> | ||
// 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:197--> | ||
// *********************************************************** | // *********************************************************** | ||
+ | <!--T:198--> | ||
if ((buzzer_hour == current_hour) && (buzzer_min == current_min)) { | if ((buzzer_hour == current_hour) && (buzzer_min == current_min)) { | ||
+ | <!--T:199--> | ||
//if (1) { // condition pour tester le MP3 au besoin. | //if (1) { // condition pour tester le MP3 au besoin. | ||
+ | <!--T:200--> | ||
// Lecture : | // Lecture : | ||
+ | <!--T:201--> | ||
Serial.println("Alarme MP3 Playing"); | Serial.println("Alarme MP3 Playing"); | ||
+ | <!--T:202--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:203--> | ||
// 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:204--> | ||
PlayResume(); | PlayResume(); | ||
+ | <!--T:205--> | ||
delay(60000); | delay(60000); | ||
+ | <!--T:206--> | ||
PlayPause(); | PlayPause(); | ||
+ | <!--T:207--> | ||
// On nettoie l'heure du buzzer : | // On nettoie l'heure du buzzer : | ||
+ | <!--T:208--> | ||
buzzer_hour = 0; | buzzer_hour = 0; | ||
+ | <!--T:209--> | ||
buzzer_min = 0; | buzzer_min = 0; | ||
+ | <!--T:210--> | ||
// On propose à nouveau d'entrer un heure d'alarme : | // On propose à nouveau d'entrer un heure d'alarme : | ||
+ | <!--T:211--> | ||
Serial.println("Entrer une heure d'alarme (HH:MM)"); | Serial.println("Entrer une heure d'alarme (HH:MM)"); | ||
+ | <!--T:212--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:213--> | ||
delay(100); | delay(100); | ||
+ | <!--T:214--> | ||
} | } | ||
+ | <!--T:215--> | ||
delay(100); | delay(100); | ||
+ | <!--T:216--> | ||
} | } | ||
+ | <!--T:217--> | ||
// ==================================================== // | // ==================================================== // | ||
+ | <!--T:218--> | ||
// FONCTIONS APPELEES DANS LA BOUCLE PRINCIPALE // | // FONCTIONS APPELEES DANS LA BOUCLE PRINCIPALE // | ||
+ | <!--T:219--> | ||
// ==================================================== // | // ==================================================== // | ||
+ | <!--T:220--> | ||
// Fonction "printTime" : écrit l'heure sur le moniteur série | // Fonction "printTime" : écrit l'heure sur le moniteur série | ||
+ | <!--T:221--> | ||
void printTime() { | void printTime() { | ||
+ | <!--T:222--> | ||
clock.getTime(); | clock.getTime(); | ||
+ | <!--T:223--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:224--> | ||
current_hour = clock.hour; | current_hour = clock.hour; | ||
+ | <!--T:225--> | ||
current_min = clock.minute; | current_min = clock.minute; | ||
+ | <!--T:226--> | ||
Serial.print(clock.hour, DEC); | Serial.print(clock.hour, DEC); | ||
+ | <!--T:227--> | ||
if(clock.minute < 10) { | if(clock.minute < 10) { | ||
+ | <!--T:228--> | ||
Serial.print(":0"); | Serial.print(":0"); | ||
+ | <!--T:229--> | ||
Serial.print(clock.minute, DEC); | Serial.print(clock.minute, DEC); | ||
+ | <!--T:230--> | ||
} | } | ||
+ | <!--T:231--> | ||
else { | else { | ||
+ | <!--T:232--> | ||
Serial.print(":"); | Serial.print(":"); | ||
+ | <!--T:233--> | ||
Serial.print(clock.minute, DEC); | Serial.print(clock.minute, DEC); | ||
+ | <!--T:234--> | ||
} | } | ||
+ | <!--T:235--> | ||
Serial.println(" "); | Serial.println(" "); | ||
+ | <!--T:236--> | ||
delay (3000); | delay (3000); | ||
+ | <!--T:237--> | ||
}</translate> | }</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
// 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);
}
imprimante 3d ultimaker 2
Matière utilisée : PLA
Réglages : voir fichier config imp3D.png
// 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);
}
Published
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #