|
|
| (5 révisions intermédiaires par un autre utilisateur non affichées) |
| Ligne 1 : |
Ligne 1 : |
| − | {{ {{tntn|Tuto Details}} | + | {{Tuto Details |
| | |Licences=Attribution (CC BY) | | |Licences=Attribution (CC BY) |
| | |Description=Boite Réveil mp3 avec arduino uno | | |Description=Boite Réveil mp3 avec arduino uno |
| Ligne 13 : |
Ligne 13 : |
| | |IsTranslation=1 | | |IsTranslation=1 |
| | }} | | }} |
| − | {{ {{tntn|Introduction}} | + | {{Introduction |
| | |Introduction=Boites en contreplaqué contenant un réveil-mp3 et un écran fonctionnant grâce à un arduino uno | | |Introduction=Boites en contreplaqué contenant un réveil-mp3 et un écran fonctionnant grâce à un arduino uno |
| | }} | | }} |
| − | {{ {{tntn|Materials}} | + | {{Materials |
| | |Material=Arduino uno | | |Material=Arduino uno |
| | | | |
| Ligne 31 : |
Ligne 31 : |
| | | | |
| | imprimante 3d ultimaker 2 | | imprimante 3d ultimaker 2 |
| − | |Tuto_Attachments={{ {{tntn|Tuto Attachments}} | + | |Tuto_Attachments={{Tuto Attachments |
| | |Attachment=Bento Box V1 2018 - etage meteo.pdf | | |Attachment=Bento Box V1 2018 - etage meteo.pdf |
| − | }}{{ {{tntn|Tuto Attachments}}}}{{ {{tntn|Tuto Attachments}} | + | }}{{Tuto Attachments |
| − | |Attachment=Bento Box V1 2018 - etage meteo.pdf | + | |Attachment=Porte voix.stl |
| − | }}{{ {{tntn|Tuto Attachments}}}}
| + | }}{{Tuto Attachments |
| | + | |Attachment=Reveil mp3 avec arduino Cyriljak.ino |
| | + | }} |
| | }} | | }} |
| − | {{ {{tntn|Separator}}}} | + | {{Separator}} |
| − | {{ {{tntn|Tuto Step}} | + | {{Tuto Step |
| | |Step_Title=decoupe | | |Step_Title=decoupe |
| | |Step_Content= | | |Step_Content= |
| | }} | | }} |
| − | {{ {{tntn|Tuto Step}} | + | {{Tuto Step |
| | |Step_Title=impression 3D | | |Step_Title=impression 3D |
| | |Step_Content=imprimante 3d ultimaker 2 | | |Step_Content=imprimante 3d ultimaker 2 |
| Ligne 49 : |
Ligne 51 : |
| | | | |
| | Réglages : voir fichier config imp3D.png | | Réglages : voir fichier config imp3D.png |
| − | }}
| |
| − | {{ {{tntn|Tuto Step}}
| |
| − | |Step_Title=code arduino
| |
| − | |Step_Content=// DECLARATIONS
| |
| − |
| |
| − | // Projet Réveil mp3
| |
| − |
| |
| − | <nowiki>#</nowiki>include <Wire.h>
| |
| − |
| |
| − | // Bibliothèque de gestion de l'horloge
| |
| − |
| |
| − | // ************************************
| |
| | | | |
| − | <nowiki>#</nowiki>include "DS1307.h"
| + | Modèle : https://www.tinkercad.com/things/0svbwI2n4Ez-copy-of-megaphone/editv2 |
| − | | + | |Step_Picture_00=Porte_voix.stl |
| − | 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);
| |
| − | | |
| − | }
| |
| | }} | | }} |
| − | {{ {{tntn|Tuto Step}} | + | {{Tuto Step |
| − | |Step_Title= | + | |Step_Title=Code Arduino |
| − | |Step_Content= | + | |Step_Content=Téléchargez le code Arduino [[File:Reveil mp3 avec arduino Cyriljak.ino|disponible ici]]. |
| | }} | | }} |
| − | {{ {{tntn|Tuto Step}} | + | {{Notes |
| − | |Step_Title=impression 3D
| + | |Notes=Pour les libraries arduino : |
| − | |Step_Content=imprimante 3d ultimaker 2 | |
| | | | |
| − | Matière utilisée : PLA
| + | http://wiki.seeedstudio.com/Grove-MP3_v2.0/ |
| | | | |
| − | Réglages : voir fichier config imp3D.png
| + | http://wiki.seeedstudio.com/Grove-RTC/ |
| − | }}
| |
| − | {{ {{tntn|Tuto Step}}
| |
| − | |Step_Title=code arduino
| |
| − | |Step_Content=// 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);
| |
| − | | |
| − | }
| |
| − | }}
| |
| − | {{ {{tntn|Tuto Step}}
| |
| − | |Step_Title=
| |
| − | |Step_Content=
| |
| − | }}
| |
| − | {{ {{tntn|Notes}}
| |
| − | |Notes=
| |
| | }} | | }} |
| − | {{ {{tntn|Tuto Status}} | + | {{Tuto Status |
| | |Complete=Published | | |Complete=Published |
| | }} | | }} |