Bonjour à tous.
Tout d'abord, je ne tiens pas à prendre le temps de qui que ce soit n'ayant pas la patience d'assister un vrai "naze" de la prog. Je ne vous en voudrai pas de ne pas me répondre si les questions sont trop simplistes et basiques. D'avance toutes mes excuses.
Je présente la situation:
il y a un bon bout de temps, je suis parvenu à réaliser un montage/programme d'afficheur Date/heure/Température/Humidité sur un LCD 16x2; le tout par méthode du copier/coller.
L'inconvénient est que n'ayant plus pratiqués après ce "premier" projet... enfin vous voyez!
Le projet:
Aujourd'hui, je me relance sur un projet pour mon club de Wargame à savoir un compteur de tours et de nombre d'ordres.
Composants:
2 BP pour incrémenter/décrémenter le nombre de tours // entrées 2 et 3
2 BP pour incrémenter/décrémenter le nombre d'ordres
1 BP RESET pour les tours // entrée 6
1 BP RESET pour les ordres
1 afficheur LCD 16x2 // entrée 7, 8, 9, 10, 11 et 12
(le reste est purement fonctionnel: interrupteur ON/OFF et LED rouge si ON)
L'Arduino est une MEGA2560
Le raccordement des BP est souhaité en "direct" avec PULL-UP interne. (sans conviction)
L'objectif est de faire monter/descendre les compteurs indépendamment et de pouvoir les remettre à 0 indépendamment également.
LE(s) PROBLEME(s):
j'ai lu en long, large et en travers tous les tutos sur les incrémentations par BP mais je ne m'y retrouve pas car tous ont des finalités différentes et mon cerveau est à l'état de soupe de termes inconnus plutôt qu'au déchiffrage...
Plutôt que d'essayer de programmer le tout de front, j'essaie d'abord de déblayer le premier compteur de tours et de parvenir à l'afficher et enfin pouvoir le remettre à 0; les ordres seraient alors un "simple" copier/coller.
Merci d'avance pour vos réponses.
Voici mon lambeau de code :
#include <LiquidCrystal.h> // Inclure la librairie de l'écran
//-----------------------------------------------------------------------------------------------------------------
//Déclaration des connections
const int TOURS_1 = 2;
const int TOURS_2 = 3;
//const int CLEAR = 6;
//-----------------------------------------------------------------------------------------------------------------
//Déclaration des variables
int x; //x variable du compteur TOURS
//int TOURS_1;
//int TOURS_2;
//int BPCLEAR;
//-----------------------------------------------------------------------------------------------------------------
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); //Initialiser lcd avec numéros des connecteurs digitaux utilisés
//-----------------------------------------------------------------------------------------------------------------
void setup() {
lcd.clear(); //nettoyage écran
lcd.setCursor(0, 0); // Positionnement du curseur colonne 0, ligne 0
lcd.print("TOURS"); // Affichage "TOURS:"
lcd.setCursor(6, 0); // Positionnement du curseur colonne 6, ligne 0
lcd.print(x); // Affichage valeur de x
pinMode(TOURS_1, INPUT); // Signal d'entrée
digitalWrite(TOURS_1, HIGH); // Ecriture du signal d'entrée
int x = 0; // Déclaration de la valeur de la variable X
// TOURS_1 = x++;
// TOURS_1 = x--;
}
//-----------------------------------------------------------------------------------------------------------------
void loop() {
if (digitalRead(TOURS_1) == LOW)
lcd.setCursor(0, 0); // Positionnement du curseur colonne 0, ligne 0
lcd.print("TOURS"); // Affichage "TOURS:"
lcd.setCursor(6, 0); // Positionnement du curseur colonne 6, ligne 0
lcd.print(x); // Affichage valeur de x
}
}