MAGNIFIQUE!!
Sa donne envie.
Sa donne envie.
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4); // set the LCD address to 0x27 for a 16 chars and 2 line display
#include <Wire.h>
#include <Key.h>
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] =
{{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}};
byte rowPins[ROWS] = {A0, A1, A2, A3};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
int H = 0 ;
int M = 0 ;
int S = 0 ;
//variable de minutage
void setup() {lcd.init();lcd.backlight();}
void loop() { char key = keypad.getKey();
H = 0 ;
M = 0 ;
S = 0 ;
//incrementation heure j'ai tenter de l'adapter mais o lieu d'écrire a la place des heures sa ecrit dans les secondes
lcd.setCursor(0, 0);lcd.print("HEURES");lcd.setCursor(0, 1);lcd.print(H);
lcd.setCursor(1, 1);lcd.print(":");lcd.setCursor(2, 1);lcd.print(M);
lcd.setCursor(4, 1);lcd.print(":");lcd.setCursor(5, 1);lcd.print(S);
if(H = key){key != NO_KEY ;H = key; lcd.print (key);
if ( H % 25 == 00) { H = 00;}}}
/*le code dou je minspire il fonctionne avec 2 bouton un pour avance dans le programe heure/minute/seconde/valider
et l'autre pour incrementer les heure minutes seconde
je veut l'aadapté pour qu'il marche avec un keypad 16 touche 4x4
//definition de la valeur des heures
do //incrementation heure
{lcd.setCursor(0, 0); lcd.print("HEURES");
lcd.setCursor(0, 1);lcd.print(H);
lcd.setCursor(2, 1);lcd.print(":");
lcd.setCursor(3, 1);lcd.print(M);
lcd.setCursor(5, 1);lcd.print(":");
lcd.setCursor(6, 1);lcd.print(S);
etat2 = digitalRead(bouton2);
if (test2 == 0)
{ H = H + 1;// chaqque appui ajoute 1 Heure
if ( H % 25 == 00)//Calcule le reste entier quand on est divisé par un autre.résultat = dividende% diviseur //dividende: le numéro à être divisé// diviseur: le nombre de diviser par
{ H = 00;//Stocke la valeur à droite du signe égal dans la variable à gauche du signe égal.
lcd.clear();}test2 = 1;}}
else
{test2 = 0;}
etat1 = digitalRead(bpvalid);
if (etat1 == HIGH)
{test1 = 2;}}
while (test1 != 2);delay (500);lcd.clear();*/
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4); // set the LCD address to 0x27 for a 16 chars and 2 line display
#include <Wire.h>
#include <Key.h>
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] =
{{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}};
byte rowPins[ROWS] = {A0, A1, A2, A3};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
int H = 0 ;
int M = 0 ;
int S = 0 ;
//variable de minutage
void setup() {lcd.init();lcd.backlight();}
void loop() { char key = keypad.getKey();
//incrementation heure j'ai tenter de l'adapter mais o lieu d'écrire a la place des heures sa ecrit dans les secondes
lcd.setCursor(0, 0);lcd.print("HEURES");lcd.setCursor(0, 1);lcd.print(H);
lcd.setCursor(1, 1);lcd.print(":");lcd.setCursor(2, 1);lcd.print(M);
lcd.setCursor(4, 1);lcd.print(":");lcd.setCursor(5, 1);lcd.print(S);
if(H = key){key != NO_KEY ;H = key; lcd.print (key);
if ( H % 25 == 00) { H = 00;}}}
heure = (int) strtol(heureset, (char **)NULL, 10);
minute = (int) strtol(minuteset, (char **)NULL, 10);
seconde = (int) strtol(secondeset, (char **)NULL, 10);
heureset [0] = '\0'; minuteset [0] = '\0'; secondeset [0] = '\0';
char heureset[2];
char minuteset[2];
char secondeset[2];
#include "Wire.h" //bibliothèque wire
#include "LiquidCrystal_I2C.h" //bibliothèque écran lcd I2C
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 20 chars and 4 line display
#include "Keypad.h" //bibliothèque keypad
const byte ROWS = 4; const byte COLS = 4;
char keys[ROWS][COLS] = {{'1', '2', '3', 'A'},{'4', '5', '6', 'B'},{'7', '8', '9', 'C'},{'*', '0', '#', 'D'}};
byte rowPins[ROWS] = {A0, A1, A2, A3};byte colPins[COLS] = {5, 4, 3, 2};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
//définition des différentes valeurs utilisées
int heure = 0; // compteur secondes
int minute = 0; // compteur minutes
int seconde = 0; // compteur heures
char heureset[2];
char minuteset[2];
char secondeset[2];
char key;
void setup() {
lcd.init (); lcd.backlight();
lcd.setCursor(3,0); lcd.print("Projet Airsoft");
lcd.setCursor(1,1); lcd.print("pour la team 1911");
delay(1000);lcd.clear(); }
void loop() { tempsjeu() ;} //fin void loop
void tempsjeu()//définition du temps de jeu de la partie
{
heure = 0; minute = 0; seconde = 0;
heureset [0] = '\0'; minuteset [0] = '\0'; secondeset [0] = '\0';
lcd.clear();
lcd.setCursor(0,0); lcd.print("Definir temps de jeu");
lcd.setCursor(6,1); lcd.print("HH:MM:SS");
while (heure < 2) { lcd.setCursor(heure + 6, 1);lcd.cursor();
key = keypad.getKey();
if (key != NO_KEY) {
if (key != '*' && key != '#' && key != 'A' && key != 'B' && key != 'C' && key != 'D') {
lcd.print(key); heureset[heure] = key; heure++; } } }
heure = (int) strtol(heureset, (char **)NULL, 10);
while (minute < 2){ lcd.setCursor(minute + 9, 1); lcd.cursor();
key = keypad.getKey();
if (key != NO_KEY) {
if (key != '*' && key != '#' && key != 'A' && key != 'B' && key != 'C' && key != 'D') {
lcd.print(key); minuteset[minute] = key; minute ++; }
} } minute = (int) strtol(minuteset, (char **)NULL, 10);
while (seconde < 2) { lcd.setCursor(seconde + 12, 1); lcd.cursor(); key = keypad.getKey();
if (key != NO_KEY) {
if (key != '*' && key != '#' && key != 'A' && key != 'B' && key != 'C' && key != 'D') {
lcd.print(key); secondeset[seconde] = key; seconde ++; }
} } seconde = (int) strtol(secondeset, (char **)NULL, 10);
//récapitulatif temps de jeu
lcd.noCursor();lcd.clear(); lcd.setCursor(2,0); lcd.print("Vous avez choisi");
lcd.setCursor(5,1);lcd.print(heure);lcd.print(":"); lcd.print(minute);lcd.print(seconde);
}
|
|