.

Dependencies:   mbed lib_LCD_oem lib_LCD_i2c_SPTLYI

Files at this revision

API Documentation at this revision

Comitter:
julesrochette
Date:
Fri Mar 11 15:20:56 2022 +0000
Commit message:
.

Changed in this revision

lib_LCD_i2c_SPTLYI.lib Show annotated file Show diff for this revision Revisions of this file
lib_LCD_oem.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib_LCD_i2c_SPTLYI.lib	Fri Mar 11 15:20:56 2022 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/YSI/code/lib_LCD_i2c_SPTLYI/#b0c643bbf1fa
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib_LCD_oem.lib	Fri Mar 11 15:20:56 2022 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/YSI/code/lib_LCD_oem/#02f5e2861a9b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Mar 11 15:20:56 2022 +0000
@@ -0,0 +1,79 @@
+#include "mbed.h"
+#include "lib_LCD_i2c_SPTLYI.h"
+#include "lib_LCD_oem_ELCD.h"
+
+/* GUIDE D'UTILISATION
+Appuyer sur le bouton de droite pour lancer le timer
+Appuyer sur le bouton du milieu pour mettre le chronomètre en pause
+Appuyer sur le bouton de gauche pour réinitialiser le time
+*/
+
+
+Timer t;                         // On va utiliser timer
+InterruptIn boutondroit(p15);    // Nous attribuons un nom pour les boutons en indiquant leurs ports
+InterruptIn boutonmilieu(p16);
+InterruptIn boutongauche(p17);
+LCD_OEM LCD;           // On ouvre la bibliotheque lcd
+ 
+int sec=0;        // On initialise les 
+int minu=0;      // Le timer, le temps en min et en ms sont initialisés à 0
+int timer_ms = 0;
+ 
+void fonction_demarrer()        // On créer 3 fonctions d'interruptions :
+{
+    t.start();                  // La f fonction démarrer dans laquelle on fait démarrer le timer
+}
+void fonction_arreter()
+{
+    t.stop();                   // La fonction arrêter pour laquelle le timer s'arrête
+ 
+}
+void fonction_reset()
+{
+    t.reset();                  // Fonction reset ou le timer se reinitialise
+}
+int main()
+{
+    boutongauche.fall(fonction_demarrer);    // Le bouton de gauche active la fonction démarrer
+    boutonmilieu.fall(fonction_arreter);    // le bouton du milieu active la fonction d'arret
+    boutondroit.fall(fonction_reset);      // Le bouton de droite active la fonction de reset
+    while(1) {
+        LCD.clear();                        //on efface tout sur l'écran pour ne pas avoir de superposition des caractères
+        LCD.set_position_cursor(0,0);       //On choisit l'endroit où on va écrire
+        LCD.print("Minutes [");
+        LCD.set_position_cursor(9,0);
+        LCD.print(minu);                   // On demande à afficher les minutes
+        if(minu>=60) {                      // Les minutes se réinitialise si elles atteignent 60 (1 heure)
+            t.reset();                      // fonction reset pour réinitialiser en cas de depassement
+        }
+        
+        //on va utiliser la même méthodes pour les secondes
+        
+        LCD.set_position_cursor(11,0);      
+        LCD.print("]");                     
+        LCD.set_position_cursor(0,1);      // on veut afficher les secondes sur la deuxième ligne
+        LCD.print("Secondes [");
+        LCD.set_position_cursor(10,1);
+        LCD.print(sec);
+        sec =  t.read();                  // on entre la valeur des secondes dans timer et on demande d'écrire timer sur l'écran LCD
+        if (sec>=60) {
+            t.reset();                      // Les secondes reviennent à zéro quand elles atteignent la minute
+            LCD.set_position_cursor(4,1);
+            LCD.print(" "); 
+            minu=minu+1;
+        }
+        LCD.set_position_cursor(12,1);
+        LCD.print("]");
+        LCD.set_position_cursor(0,2);
+        LCD.print("millisecondes [");
+        LCD.set_position_cursor(15,2);
+        timer_ms =  t.read_ms();        
+        LCD.print(timer_ms%1000);       // %1000 permet de garder une valeur dans l'intervalle [0;999]
+        wait_ms(250);               //  L'affichage se fait toutes les 250ms. Meme si on nous demande toutes les 10ms
+                                    // cela fait se rafraichir l'écran trop vite et les millisecondes ne sont pas visibles
+                                    // on met donc un wait de 250
+                                
+        LCD.set_position_cursor(18,2);
+        LCD.print("]");
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Mar 11 15:20:56 2022 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file