bonjour a tous,
j'ai un projet en cours mais j'ai un problème de programmation, voilà, je pratique l'airsoft et pour agrémenter nos parties, je voudrais faire un boitier genre "battlefield", sur le net j'ai trouvé un programme déjà fait mais , il est fait pour être utilise avec un écran LCD standard ors moi je veux utilisé un écran LCD I2C. j'ai essayer juste de modifier la bibliothèque avec la bonne mais ça marche pas, je ne sais pas quoi faire d'autres car je n'y comprend pas grand chose.je vous fait une copie du programme pour que vous voyez. merci d'avance.
// Déclaration du matériel (écran)
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 4, 3, 2, 1);
// Variables pour les tempos
long TTflag; // Temps TOTAL basculement base
long TTamorc; // Temps TOTAL amorçage bombe
long TTdesamorc; // Temps TOTAL desamorcage bombe
float Tflag; // Temps barre basculement base
float Tamorc; // Temps barre amorçage bombe
float Tdesamorc; // Temps barre désamorçage bombe
// Positions des éléments sur les pattes
const int led_PinR = 12; //patte 18 red
const int led_PinB = 13; //patte 19 blue
const int BP_PinR = 10; //patte 5 red
const int BP_PinB = 11; //patte 6 blue
const int buzz_Pin = 0; // Patte 2 Buzzer
// Variables générales
long debut_appuiR;
long debut_appuiB;
int etat_boutonR;
int etat_boutonB;
int etat_ledR = LOW;
int etat_ledB = LOW;
int rouge;
int bleu;
int jeu = 0;
// Variables Compteurs Drapeaux
unsigned long compteurB; unsigned long compteurR;
unsigned long TinitB; unsigned long TinitR;
unsigned long TinterB; unsigned long TinterR;
unsigned long timeCalc;
// Variables Compteur Bombe
unsigned long timeCalcVar;
unsigned long minutes;
unsigned long secondes;
unsigned long TimeInit;
// Variable Buzzer
boolean buzzer = false;
int bip = 50;
// Création des caractères pour la barre de défilement
byte bar0[8] = {B00000,B00000,B00000,B00000,B00000,B00000,B00000,B00000};
byte bar1[8] = {B10000,B10000,B10000,B10000,B10000,B10000,B10000,B10000};
byte bar2[8] = {B11000,B11000,B11000,B11000,B11000,B11000,B11000,B11000};
byte bar3[8] = {B11100,B11100,B11100,B11100,B11100,B11100,B11100,B11100};
byte bar4[8] = {B11110,B11110,B11110,B11110,B11110,B11110,B11110,B11110};
byte bar5[8] = {B11111,B11111,B11111,B11111,B11111,B11111,B11111,B11111};
byte bar6[8] = {B00001,B00001,B00001,B00001,B00001,B00001,B00001,B00001};
void setup(){
// Déclaration des E/S
pinMode(led_PinR, OUTPUT);
pinMode(BP_PinR, INPUT);
pinMode(led_PinB, OUTPUT);
pinMode(BP_PinB, INPUT);
pinMode(buzz_Pin, OUTPUT);
// Affectation des positions des caractères de la barre de défilement
lcd.createChar(0, bar0);
lcd.createChar(1, bar1);
lcd.createChar(2, bar2);
lcd.createChar(3, bar3);
lcd.createChar(4, bar4);
lcd.createChar(5, bar5);
lcd.createChar(6, bar6);
// Intro écran
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(3, 0 );
lcd.print( "BATTLEFIELD" );
delay(600);
lcd.setCursor( 4, 1 );
lcd.print( "By DROOP" );
delay(2000);
lcd.clear();
lcd.setCursor(0, 1 );
// Mise à zéro compteur
TinitB = 0; TinitR = 0;
TinterB = 0; TinterR = 0;
compteurB = 0; compteurR = 0;
bleu = 0; rouge = 0;
// Appel menu jeu
menu();
} //fin SETUP
void loop(){
if (jeu == 1){flag();}
if (jeu == 2){bombe();}
} //fin LOOP
// Remise de la barre en cas d'interruption
void Barre() {
for (int i=0;i<16;i++) {
lcd.setCursor(i,1);
lcd.print ((char)255);
} //end if
} //end void barre