|
|
(7 révisions intermédiaires par 4 utilisateurs non affichées) |
Ligne 1 : |
Ligne 1 : |
− | {{ {{tntn|Tuto Details}} | + | {{Tuto Details |
| |Licences=Attribution (CC BY) | | |Licences=Attribution (CC BY) |
− | |Description=<translate><!--T:1--> 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 13 : |
Ligne 13 : |
| |IsTranslation=0 | | |IsTranslation=0 |
| }} | | }} |
− | {{ {{tntn|Introduction}} | + | {{Introduction |
− | |Introduction=<translate><!--T:2--> 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}} | + | {{Materials |
− | |Material=<translate><!--T:3--> | + | |Material=<!--T:240--> |
− | Arduino uno | + | * Arduino uno |
− | | + | * Grove - MP3 v2.0 |
− | <!--T:4-->
| + | * Grove - RTC |
− | Grove - MP3 v2.0 | + | * Mini SD |
− | | + | * N'importe quelle baffle mobile connectée au composant Grove - MP3 v2.0 par un mini jack |
− | <!--T:5-->
| + | * Plaque contreplaqué |
− | Grove - RTC | + | |Tools=<!--T:246--> |
− | | + | * Découpeuse laser |
− | <!--T:6-->
| + | * Imprimante 3d ultimaker 2 |
− | Mini SD | + | |Tuto_Attachments={{Tuto Attachments |
− | | |
− | <!--T:7-->
| |
− | N'importe quelle baffle mobile connectée au composant Grove - MP3 v2.0 par un mini jack | |
− | | |
− | <!--T:8-->
| |
− | Plaque contreplaqué</translate> | |
− | |Tools=<translate><!--T:9--> | |
− | découpeuse lazer
| |
− | | |
− | <!--T:10-->
| |
− | imprimante 3d ultimaker 2</translate>
| |
− | |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}} | + | }}{{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=<translate><!--T:11--> decoupe</translate> | + | |Step_Title=<!--T:248--> Découpe |
− | |Step_Content=<translate></translate> | + | |Step_Content= |
| }} | | }} |
− | {{ {{tntn|Tuto Step}} | + | {{Tuto Step |
− | |Step_Title=<translate><!--T:12--> impression 3D</translate> | + | |Step_Title=<!--T:249--> Impression 3D |
− | |Step_Content=<translate><!--T:13--> | + | |Step_Content=<!--T:250--> |
− | imprimante 3d ultimaker 2
| + | Imprimante 3d ultimaker 2 |
| | | |
− | <!--T:14--> | + | <!--T:251--> |
| Matière utilisée : PLA | | Matière utilisée : PLA |
| | | |
− | <!--T:15--> | + | <!--T:252--> |
− | Réglages : voir fichier config imp3D.png</translate> | + | Réglages : voir fichier config imp3D.png |
− | }}
| |
− | {{ {{tntn|Tuto Step}}
| |
− | |Step_Title=<translate><!--T:16--> code arduino</translate>
| |
− | |Step_Content=<translate><!--T:17-->
| |
− | // DECLARATIONS
| |
− | | |
− | <!--T:18-->
| |
− | // Projet Réveil mp3
| |
− | | |
− | <!--T:19-->
| |
− | <nowiki>#</nowiki>include <Wire.h>
| |
− | | |
− | <!--T:20-->
| |
− | // Bibliothèque de gestion de l'horloge
| |
− | | |
− | <!--T:21-->
| |
− | // ************************************
| |
− | | |
− | <!--T:22-->
| |
− | <nowiki>#</nowiki>include "DS1307.h"
| |
− | | |
− | <!--T:23-->
| |
− | 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) :
| |
− | | |
− | <!--T:25-->
| |
− | // static uint8_t buzzer_hour[5] = {};
| |
− | | |
− | <!--T:26-->
| |
− | int buzzer_hour = 0;
| |
− | | |
− | <!--T:27-->
| |
− | int buzzer_min = 0;
| |
− | | |
− | <!--T:28-->
| |
− | int current_hour = 0;
| |
− | | |
− | <!--T:29-->
| |
− | int current_min = 0;
| |
− | | |
− | <!--T:30-->
| |
− | // MP3
| |
− | | |
− | <!--T:31-->
| |
− | // ***
| |
− | | |
− | <!--T:32-->
| |
− | <nowiki>#</nowiki>include <SoftwareSerial.h>
| |
− | | |
− | <!--T:33-->
| |
− | <nowiki>#</nowiki>include <MP3Player_KT403A.h>
| |
− | | |
− | <!--T:34-->
| |
− | // 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.
| |
− | | |
− | <!--T:36-->
| |
− | SoftwareSerial mp3(7, 3);
| |
− | | |
− | <!--T:37-->
| |
− | // INITIALISATION
| |
− | | |
− | <!--T:38-->
| |
− | // ==============
| |
− | | |
− | <!--T:39-->
| |
− | void setup() {
| |
− | | |
− | <!--T:40-->
| |
− | // Ouverture de la communication avec le PC :
| |
− | | |
− | <!--T:41-->
| |
− | Serial.begin(9600);
| |
− | | |
− | <!--T:42-->
| |
− | // Démarrage de l'horloge :
| |
− | | |
− | <!--T:43-->
| |
− | clock.begin();
| |
− | | |
− | <!--T:44-->
| |
− | clock.fillByYMD(2018,07,01);//Ju 30,2018
| |
− | | |
− | <!--T:45-->
| |
− | clock.fillByHMS(20,20,10);//15:00 00"
| |
− | | |
− | <!--T:46-->
| |
− | clock.fillDayOfWeek(SAT);//Saturday
| |
− | | |
− | <!--T:47-->
| |
− | clock.setTime();//write time to the RTC chip
| |
− | | |
− | <!--T:48-->
| |
− | // Réglage des paramètres du lecteur MP3 :
| |
− | | |
− | <!--T:49-->
| |
− | mp3.begin(9600);
| |
− | | |
− | <!--T:50-->
| |
− | SelectPlayerDevice(0x02); // Select SD card as the player device.
| |
− | | |
− | <!--T:51-->
| |
− | SetVolume(0x0E); // Set the volume, the range is 0x00 to 0x1E [0 31].
| |
− | | |
− | <!--T:52-->
| |
− | // Affichage :
| |
− | | |
− | <!--T:53-->
| |
− | while(!Serial);
| |
− | | |
− | <!--T:54-->
| |
− | Serial.println("Entrer une heure d'alarme (HH:MM)");
| |
− | | |
− | <!--T:55-->
| |
− | Serial.println(" ");
| |
− | | |
− | <!--T:56-->
| |
− | delay(100);
| |
− | | |
− | <!--T:57-->
| |
− | }
| |
− | | |
− | <!--T:58-->
| |
− | // BOUCLE PRINCIPALE
| |
− | | |
− | <!--T:59-->
| |
− | // =================
| |
− | | |
− | <!--T:60-->
| |
− | void loop(){
| |
− | | |
− | <!--T:61-->
| |
− | // Affichage de l'heure au format HH:MM
| |
− | | |
− | <!--T:62-->
| |
− | // ************************************
| |
− | | |
− | <!--T:63-->
| |
− | printTime();
| |
− | | |
− | <!--T:64-->
| |
− | // Lecture d'une heure de réveil :
| |
− | | |
− | <!--T:65-->
| |
− | // *******************************
| |
− | | |
− | <!--T:66-->
| |
− | while (Serial.available() > 0) {
| |
− | | |
− | <!--T:67-->
| |
− | // cherche le prochain entier dans l'incoming serial stream :
| |
− | | |
− | <!--T:68-->
| |
− | buzzer_hour = Serial.parseInt();
| |
− | | |
− | <!--T:69-->
| |
− | // do it again:
| |
− | | |
− | <!--T:70-->
| |
− | buzzer_min = Serial.parseInt();
| |
− | | |
− | <!--T:71-->
| |
− | Serial.println(" ");
| |
− | | |
− | <!--T:72-->
| |
− | Serial.print("Vous avez saisi l'heure d'alarme suivante: ");
| |
− | | |
− | <!--T:73-->
| |
− | Serial.print(buzzer_hour);
| |
− | | |
− | <!--T:74-->
| |
− | if(buzzer_min < 10) {
| |
− | | |
− | <!--T:75-->
| |
− | Serial.print(":0");
| |
− | | |
− | <!--T:76-->
| |
− | Serial.print(buzzer_min);
| |
− | | |
− | <!--T:77-->
| |
− | }
| |
− | | |
− | <!--T:78-->
| |
− | else {
| |
− | | |
− | <!--T:79-->
| |
− | Serial.print(":");
| |
− | | |
− | <!--T:80-->
| |
− | Serial.println(buzzer_min);
| |
− | | |
− | <!--T:81-->
| |
− | }
| |
− | | |
− | <!--T:82-->
| |
− | }
| |
− | | |
− | <!--T:83-->
| |
− | // 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)) {
| |
− | | |
− | <!--T:86-->
| |
− | //if (1) { // condition pour tester le MP3 au besoin.
| |
− | | |
− | <!--T:87-->
| |
− | // Lecture :
| |
− | | |
− | <!--T:88-->
| |
− | Serial.println("Alarme MP3 Playing");
| |
− | | |
− | <!--T:89-->
| |
− | Serial.println(" ");
| |
− | | |
− | <!--T:90-->
| |
− | // On lance le MP3 pendant 30 secondes et on le met en pause
| |
− | | |
− | <!--T:91-->
| |
− | PlayResume();
| |
− | | |
− | <!--T:92-->
| |
− | delay(60000);
| |
− | | |
− | <!--T:93-->
| |
− | PlayPause();
| |
− | | |
− | <!--T:94-->
| |
− | // On nettoie l'heure du buzzer :
| |
− | | |
− | <!--T:95-->
| |
− | buzzer_hour = 0;
| |
− | | |
− | <!--T:96-->
| |
− | buzzer_min = 0;
| |
− | | |
− | <!--T:97-->
| |
− | // On propose à nouveau d'entrer un heure d'alarme :
| |
− | | |
− | <!--T:98-->
| |
− | Serial.println("Entrer une heure d'alarme (HH:MM)");
| |
− | | |
− | <!--T:99-->
| |
− | Serial.println(" ");
| |
− | | |
− | <!--T:100-->
| |
− | delay(100);
| |
− | | |
− | <!--T:101-->
| |
− | }
| |
− | | |
− | <!--T:102-->
| |
− | delay(100);
| |
− | | |
− | <!--T:103-->
| |
− | }
| |
− | | |
− | <!--T:104-->
| |
− | // ==================================================== //
| |
− | | |
− | <!--T:105-->
| |
− | // FONCTIONS APPELEES DANS LA BOUCLE PRINCIPALE //
| |
− | | |
− | <!--T:106-->
| |
− | // ==================================================== //
| |
− | | |
− | <!--T:107-->
| |
− | // Fonction "printTime" : écrit l'heure sur le moniteur série
| |
− | | |
− | <!--T:108-->
| |
− | void printTime() {
| |
− | | |
− | <!--T:109-->
| |
− | clock.getTime();
| |
− | | |
− | <!--T:110-->
| |
− | Serial.println(" ");
| |
− | | |
− | <!--T:111-->
| |
− | current_hour = clock.hour;
| |
− | | |
− | <!--T:112-->
| |
− | current_min = clock.minute;
| |
− | | |
− | <!--T:113-->
| |
− | Serial.print(clock.hour, DEC);
| |
− | | |
− | <!--T:114-->
| |
− | if(clock.minute < 10) {
| |
− | | |
− | <!--T:115-->
| |
− | Serial.print(":0");
| |
− | | |
− | <!--T:116-->
| |
− | Serial.print(clock.minute, DEC);
| |
− | | |
− | <!--T:117-->
| |
− | }
| |
− | | |
− | <!--T:118-->
| |
− | else {
| |
− | | |
− | <!--T:119-->
| |
− | Serial.print(":");
| |
− | | |
− | <!--T:120-->
| |
− | Serial.print(clock.minute, DEC);
| |
− | | |
− | <!--T:121-->
| |
− | }
| |
− | | |
− | <!--T:122-->
| |
− | Serial.println(" ");
| |
− | | |
− | <!--T:123-->
| |
− | delay (3000);
| |
| | | |
− | <!--T:124--> | + | <!--T:253--> |
− | }</translate>
| + | Modèle : https://www.tinkercad.com/things/0svbwI2n4Ez-copy-of-megaphone/editv2 |
− | }}
| + | |Step_Picture_00=Porte_voix.stl |
− | {{ {{tntn|Tuto Step}}
| |
− | |Step_Title=<translate></translate>
| |
− | |Step_Content=<translate></translate> | |
| }} | | }} |
− | {{ {{tntn|Tuto Step}} | + | {{Tuto Step |
− | |Step_Title=<translate><!--T:125--> impression 3D</translate> | + | |Step_Title=<!--T:254--> Code Arduino |
− | |Step_Content=<translate><!--T:126--> | + | |Step_Content=<!--T:255--> Téléchargez le code Arduino dans l'onglet Fichier. |
− | imprimante 3d ultimaker 2
| |
− | | |
− | <!--T:127-->
| |
− | Matière utilisée : PLA
| |
− | | |
− | <!--T:128--> | |
− | Réglages : voir fichier config imp3D.png</translate>
| |
| }} | | }} |
− | {{ {{tntn|Tuto Step}} | + | {{Notes |
− | |Step_Title=<translate><!--T:129--> code arduino</translate>
| + | |Notes=<!--T:363--> |
− | |Step_Content=<translate><!--T:130--> | + | Pour les librairies Arduino : |
− | // DECLARATIONS
| |
− | | |
− | <!--T:131-->
| |
− | // Projet Réveil mp3
| |
| | | |
− | <!--T:132--> | + | <!--T:364--> |
− | <nowiki>#</nowiki>include <Wire.h>
| + | http://wiki.seeedstudio.com/Grove-MP3_v2.0/ |
| | | |
− | <!--T:133--> | + | <!--T:365--> |
− | // Bibliothèque de gestion de l'horloge
| + | http://wiki.seeedstudio.com/Grove-RTC/ |
− | | |
− | <!--T:134-->
| |
− | // ************************************ | |
− | | |
− | <!--T:135-->
| |
− | <nowiki>#</nowiki>include "DS1307.h"
| |
− | | |
− | <!--T:136-->
| |
− | 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) :
| |
− | | |
− | <!--T:138-->
| |
− | // static uint8_t buzzer_hour[5] = {};
| |
− | | |
− | <!--T:139-->
| |
− | int buzzer_hour = 0;
| |
− | | |
− | <!--T:140-->
| |
− | int buzzer_min = 0;
| |
− | | |
− | <!--T:141-->
| |
− | int current_hour = 0;
| |
− | | |
− | <!--T:142-->
| |
− | int current_min = 0;
| |
− | | |
− | <!--T:143-->
| |
− | // MP3
| |
− | | |
− | <!--T:144-->
| |
− | // ***
| |
− | | |
− | <!--T:145-->
| |
− | <nowiki>#</nowiki>include <SoftwareSerial.h>
| |
− | | |
− | <!--T:146-->
| |
− | <nowiki>#</nowiki>include <MP3Player_KT403A.h>
| |
− | | |
− | <!--T:147-->
| |
− | // 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.
| |
− | | |
− | <!--T:149-->
| |
− | SoftwareSerial mp3(7, 3);
| |
− | | |
− | <!--T:150-->
| |
− | // INITIALISATION
| |
− | | |
− | <!--T:151-->
| |
− | // ==============
| |
− | | |
− | <!--T:152-->
| |
− | void setup() {
| |
− | | |
− | <!--T:153-->
| |
− | // Ouverture de la communication avec le PC :
| |
− | | |
− | <!--T:154-->
| |
− | Serial.begin(9600);
| |
− | | |
− | <!--T:155-->
| |
− | // Démarrage de l'horloge :
| |
− | | |
− | <!--T:156-->
| |
− | clock.begin();
| |
− | | |
− | <!--T:157-->
| |
− | clock.fillByYMD(2018,07,01);//Ju 30,2018
| |
− | | |
− | <!--T:158-->
| |
− | clock.fillByHMS(20,20,10);//15:00 00"
| |
− | | |
− | <!--T:159-->
| |
− | clock.fillDayOfWeek(SAT);//Saturday
| |
− | | |
− | <!--T:160-->
| |
− | clock.setTime();//write time to the RTC chip
| |
− | | |
− | <!--T:161-->
| |
− | // Réglage des paramètres du lecteur MP3 :
| |
− | | |
− | <!--T:162-->
| |
− | mp3.begin(9600);
| |
− | | |
− | <!--T:163-->
| |
− | SelectPlayerDevice(0x02); // Select SD card as the player device.
| |
− | | |
− | <!--T:164-->
| |
− | SetVolume(0x0E); // Set the volume, the range is 0x00 to 0x1E [0 31].
| |
− | | |
− | <!--T:165-->
| |
− | // Affichage :
| |
− | | |
− | <!--T:166-->
| |
− | while(!Serial);
| |
− | | |
− | <!--T:167-->
| |
− | Serial.println("Entrer une heure d'alarme (HH:MM)");
| |
− | | |
− | <!--T:168-->
| |
− | Serial.println(" ");
| |
− | | |
− | <!--T:169-->
| |
− | delay(100);
| |
− | | |
− | <!--T:170-->
| |
− | }
| |
− | | |
− | <!--T:171-->
| |
− | // BOUCLE PRINCIPALE
| |
− | | |
− | <!--T:172-->
| |
− | // =================
| |
− | | |
− | <!--T:173-->
| |
− | void loop(){
| |
− | | |
− | <!--T:174-->
| |
− | // Affichage de l'heure au format HH:MM
| |
− | | |
− | <!--T:175-->
| |
− | // ************************************
| |
− | | |
− | <!--T:176-->
| |
− | printTime();
| |
− | | |
− | <!--T:177-->
| |
− | // Lecture d'une heure de réveil :
| |
− | | |
− | <!--T:178-->
| |
− | // *******************************
| |
− | | |
− | <!--T:179-->
| |
− | while (Serial.available() > 0) {
| |
− | | |
− | <!--T:180-->
| |
− | // cherche le prochain entier dans l'incoming serial stream :
| |
− | | |
− | <!--T:181-->
| |
− | buzzer_hour = Serial.parseInt();
| |
− | | |
− | <!--T:182-->
| |
− | // do it again:
| |
− | | |
− | <!--T:183-->
| |
− | buzzer_min = Serial.parseInt();
| |
− | | |
− | <!--T:184-->
| |
− | Serial.println(" ");
| |
− | | |
− | <!--T:185-->
| |
− | Serial.print("Vous avez saisi l'heure d'alarme suivante: ");
| |
− | | |
− | <!--T:186-->
| |
− | Serial.print(buzzer_hour);
| |
− | | |
− | <!--T:187-->
| |
− | if(buzzer_min < 10) {
| |
− | | |
− | <!--T:188-->
| |
− | Serial.print(":0");
| |
− | | |
− | <!--T:189-->
| |
− | Serial.print(buzzer_min);
| |
− | | |
− | <!--T:190-->
| |
− | }
| |
− | | |
− | <!--T:191-->
| |
− | else {
| |
− | | |
− | <!--T:192-->
| |
− | Serial.print(":");
| |
− | | |
− | <!--T:193-->
| |
− | Serial.println(buzzer_min);
| |
− | | |
− | <!--T:194-->
| |
− | }
| |
− | | |
− | <!--T:195-->
| |
− | }
| |
− | | |
− | <!--T:196-->
| |
− | // 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)) {
| |
− | | |
− | <!--T:199-->
| |
− | //if (1) { // condition pour tester le MP3 au besoin.
| |
− | | |
− | <!--T:200-->
| |
− | // Lecture :
| |
− | | |
− | <!--T:201-->
| |
− | Serial.println("Alarme MP3 Playing");
| |
− | | |
− | <!--T:202-->
| |
− | Serial.println(" ");
| |
− | | |
− | <!--T:203-->
| |
− | // On lance le MP3 pendant 30 secondes et on le met en pause
| |
− | | |
− | <!--T:204-->
| |
− | PlayResume();
| |
− | | |
− | <!--T:205-->
| |
− | delay(60000);
| |
− | | |
− | <!--T:206-->
| |
− | PlayPause();
| |
− | | |
− | <!--T:207-->
| |
− | // On nettoie l'heure du buzzer :
| |
− | | |
− | <!--T:208-->
| |
− | buzzer_hour = 0;
| |
− | | |
− | <!--T:209-->
| |
− | buzzer_min = 0;
| |
− | | |
− | <!--T:210-->
| |
− | // On propose à nouveau d'entrer un heure d'alarme :
| |
− | | |
− | <!--T:211-->
| |
− | Serial.println("Entrer une heure d'alarme (HH:MM)");
| |
− | | |
− | <!--T:212-->
| |
− | Serial.println(" ");
| |
− | | |
− | <!--T:213-->
| |
− | delay(100);
| |
− | | |
− | <!--T:214-->
| |
− | }
| |
− | | |
− | <!--T:215-->
| |
− | delay(100);
| |
− | | |
− | <!--T:216-->
| |
− | }
| |
− | | |
− | <!--T:217-->
| |
− | // ==================================================== //
| |
− | | |
− | <!--T:218-->
| |
− | // FONCTIONS APPELEES DANS LA BOUCLE PRINCIPALE //
| |
− | | |
− | <!--T:219-->
| |
− | // ==================================================== //
| |
− | | |
− | <!--T:220-->
| |
− | // Fonction "printTime" : écrit l'heure sur le moniteur série
| |
− | | |
− | <!--T:221-->
| |
− | void printTime() {
| |
− | | |
− | <!--T:222-->
| |
− | clock.getTime();
| |
− | | |
− | <!--T:223-->
| |
− | Serial.println(" ");
| |
− | | |
− | <!--T:224-->
| |
− | current_hour = clock.hour;
| |
− | | |
− | <!--T:225-->
| |
− | current_min = clock.minute;
| |
− | | |
− | <!--T:226-->
| |
− | Serial.print(clock.hour, DEC);
| |
− | | |
− | <!--T:227-->
| |
− | if(clock.minute < 10) {
| |
− | | |
− | <!--T:228-->
| |
− | Serial.print(":0");
| |
− | | |
− | <!--T:229-->
| |
− | Serial.print(clock.minute, DEC);
| |
− | | |
− | <!--T:230-->
| |
− | }
| |
− | | |
− | <!--T:231-->
| |
− | else {
| |
− | | |
− | <!--T:232-->
| |
− | Serial.print(":");
| |
− | | |
− | <!--T:233-->
| |
− | Serial.print(clock.minute, DEC);
| |
− | | |
− | <!--T:234-->
| |
− | }
| |
− | | |
− | <!--T:235-->
| |
− | Serial.println(" ");
| |
− | | |
− | <!--T:236-->
| |
− | delay (3000);
| |
− | | |
− | <!--T:237-->
| |
− | }</translate>
| |
− | }}
| |
− | {{ {{tntn|Tuto Step}}
| |
− | |Step_Title=<translate></translate>
| |
− | |Step_Content=<translate></translate>
| |
− | }}
| |
− | {{ {{tntn|Notes}}
| |
− | |Notes=<translate></translate>
| |
| }} | | }} |
− | {{ {{tntn|Tuto Status}} | + | {{Tuto Status |
− | |Complete=Published | + | |Complete=Draft |
| }} | | }} |