+8
obelix21
droopaille
blevanaks
ptimaicosto
rbs
nosouci
eyeshield79
Krispies
12 participants
Checkpoint avec Arduino l'étude..
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°76
Re: Checkpoint avec Arduino l'étude..
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°77
Re: Checkpoint avec Arduino l'étude..
Le mien ne bip que si je lui demande de biper, tu n'aurais pas ton buzzer a l'envers (des fois que) car certain sont monter a l'envers ils te mettent le plus sur le moins et ça expliquerais pourquoi il ne bip plus si tu montes ta sortie a high
obelix21- ecrou argent
- Messages : 361
Date d'inscription : 06/05/2013
- Message n°78
Re: Checkpoint avec Arduino l'étude..
Je me simplifie la vie en virant le void RAZ et Void MENU qui ne servent pas à grand chose à mon avis.
j'y vois dejà bien plus clair dans le programme.
j'y vois dejà bien plus clair dans le programme.
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°79
Re: Checkpoint avec Arduino l'étude..
le "void menu" c'est pour te permettre de régler le temps directement (en appuyant sur le bouton "menu" et en appuyant sur le "rouge" pour augmenter le temps et le "vert" pour diminuer le temps) sans avoir à recharge l'arduino avec le code et appeler le "void RAZ" (en appuyant sur le bouton bleu en même temps que le bouton "menu") qui est le mode de jeu de remise à zéro à chaque fois que tu appuies sur le bouton d'une équipe.
obelix21- ecrou argent
- Messages : 361
Date d'inscription : 06/05/2013
- Message n°80
Re: Checkpoint avec Arduino l'étude..
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°81
Re: Checkpoint avec Arduino l'étude..
des fois ils affichent des merdouilles pareil, mais quand tu les reset ils repartent correctement.
normalement mon code devrait fonctionner chez toi vu qu'il fonctionne sur mes 2 boitiers et qu'il fonctionne sur celui de "blevanaks".
!!!ATTENTION AUX CARACTÈRES ACCENTUÉES, ILS FOUTENT LA MERDE DANS L'AFFICHAGE!!!
Tes boutons fonctionnent maintenant que tu as mis des résistances?????
normalement mon code devrait fonctionner chez toi vu qu'il fonctionne sur mes 2 boitiers et qu'il fonctionne sur celui de "blevanaks".
!!!ATTENTION AUX CARACTÈRES ACCENTUÉES, ILS FOUTENT LA MERDE DANS L'AFFICHAGE!!!
Tes boutons fonctionnent maintenant que tu as mis des résistances?????
obelix21- ecrou argent
- Messages : 361
Date d'inscription : 06/05/2013
- Message n°82
Re: Checkpoint avec Arduino l'étude..
oui ça marche du tonerre avec les resistances,
je savais que l'arduino pouvait faire du pullup, je pensais qu'il pouvait faire du pulldown ce qui m'aurait évité les resistances mais aparemment non!
En tout cas merci Picpac pour ce super travaille de programmation que tu nous offres, c'est de la balle.
Bientot un nouveau clone de la base Airsoft Picpac.
je savais que l'arduino pouvait faire du pullup, je pensais qu'il pouvait faire du pulldown ce qui m'aurait évité les resistances mais aparemment non!
En tout cas merci Picpac pour ce super travaille de programmation que tu nous offres, c'est de la balle.
Bientot un nouveau clone de la base Airsoft Picpac.
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°83
Re: Checkpoint avec Arduino l'étude..
as tu réglé le problème d'affichage ou pas???
Ps je pense t'avoir ajouter sur facebook si c'est toi qui a posté la vidéo ou tes filles jouent avec tes boitiers mon nom commence par "pic" et mon prénom par "pac" lol
je ne connaissais pas cette histoire de pull up, je passe par des résistances, j'ai toujours lu qu'il vaut mieux brancher avec que sans, j'ai une breadboard de monter je vais me faire des tests.
pour ceux qui ne comprennent pas de quoi on parle http://sheepdogguides.com/arduino/aht0button.htm
Ps je pense t'avoir ajouter sur facebook si c'est toi qui a posté la vidéo ou tes filles jouent avec tes boitiers mon nom commence par "pic" et mon prénom par "pac" lol
je ne connaissais pas cette histoire de pull up, je passe par des résistances, j'ai toujours lu qu'il vaut mieux brancher avec que sans, j'ai une breadboard de monter je vais me faire des tests.
pour ceux qui ne comprennent pas de quoi on parle http://sheepdogguides.com/arduino/aht0button.htm
droopaille- boulon platine
- Messages : 2621
Date d'inscription : 03/04/2011
Age : 49
Localisation : Vitré (35)
- Message n°84
Re: Checkpoint avec Arduino l'étude..
obelix21- ecrou argent
- Messages : 361
Date d'inscription : 06/05/2013
- Message n°85
Re: Checkpoint avec Arduino l'étude..
super ton lien, ça explique clairement le pullup
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°86
Re: Checkpoint avec Arduino l'étude..
Bon lien droop c'est vrai en français c'est plus clair.
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°87
Re: Checkpoint avec Arduino l'étude..
et voila je suis fier de vous présenter mon nouveau code, ce qui change, c'est qu'il y a un vrai menu, et à la demande de DROOPAILLE, j'ai ajouté une fonctionnalité.
Fonctionnement:
un appuie sur le bouton menu et on entre dans le MENU (jusque la normal, mais plus besoin de le maintenir comme avant), si on appuie à nouveau sur le bouton menu on passe aux autres mode de jeu ou le réglage du temps.
pour valider le mode choisi, il suffit de valider avec un appuie sur le bouton bleu (il n'y a qu'après le réglage du temps qu'il faut réappuyer sur le bouton menu pour sélectionner son mode de jeu)
Le "Mode Compteur" est un mode d'affrontement à seulement 2 équipes (Rouges VS Bleu), le bouton Vert est un bouton de remise à Zéro des chronos, pour activer les chronos il faut appuyer 3 secondes sur le bouton (temps modifiable pour l'instant dans le code, mais je vais surement le rajouter dans le menu pour votre plus grand plaisir).
Maintenant bonne nuit, je crois que je l'ai bien mérité!!!!!
Fonctionnement:
un appuie sur le bouton menu et on entre dans le MENU (jusque la normal, mais plus besoin de le maintenir comme avant), si on appuie à nouveau sur le bouton menu on passe aux autres mode de jeu ou le réglage du temps.
pour valider le mode choisi, il suffit de valider avec un appuie sur le bouton bleu (il n'y a qu'après le réglage du temps qu'il faut réappuyer sur le bouton menu pour sélectionner son mode de jeu)
Le "Mode Compteur" est un mode d'affrontement à seulement 2 équipes (Rouges VS Bleu), le bouton Vert est un bouton de remise à Zéro des chronos, pour activer les chronos il faut appuyer 3 secondes sur le bouton (temps modifiable pour l'instant dans le code, mais je vais surement le rajouter dans le menu pour votre plus grand plaisir).
- Code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);
// set up the LCD's number of columns and rows:
const int menuboutton = 4;
const int buttonred = 3;
const int buttonblue = 2;
const int buttongreen = 1;
const int redledPin = 7; // the number of the LED pin
const int greenledPin = 6; // the number of the LED pin
const int blueledPin = 5; // the number of the LED pin
const int speakerPin = 0;
int buttonStatered = 0; // variable for reading the pushbutton status
int buttonStategreen = 0; // variable for reading the pushbutton status
int buttonStateblue = 0; // variable for reading the pushbutton status
int bouttonmenu = 0;
int bouttonblue = 0;
int bouttonred = 0;
int bouttongreen = 0;
int dernier_etat_buttonStatered = LOW;
int dernier_etat_buttonStateblue = LOW;
int dernier_etat_buttonStategreen = LOW;
int temps_defini = 3000;
int redsecond=30, redminute=0, redhour=0; // declare time variables
int redmillis = 0;
int greensecond=30, greenminute=0, greenhour=0; // declare time variables
int greenmillis = 0;
int bluesecond=30, blueminute=0, bluehour=0; // declare time variables
int bluemillis = 0;
int secondRAZGREEN=30, minuteRAZGREEN=0, hourRAZGREEN=0, millisRAZGREEN= 0; // declare time variables
int secondRAZRED=30, minuteRAZRED=0, hourRAZRED=0, millisRAZRED=0;
int secondRAZBLUE=30, minuteRAZBLUE=0, hourRAZBLUE=0, millisRAZBLUE=0;
int second=30, minute=0, hour=0;
int typejeu = 0;
int redmillis1 = 0;
int redsecond1 = 0;
int redminute1 = 0;
int redhour1 = 0;
int bluemillis1 = 0;
int bluesecond1 = 0;
int blueminute1 = 0;
int bluehour1 = 0;
boolean variable1 = false;
boolean variable2 = false;
boolean variable3 = false;
boolean ledStatered = false;
boolean ledStategreen = false;
boolean ledStateblue = false;
unsigned long Timeold=0;
unsigned long debut_buttonStatered;
unsigned long debut_buttonStateblue;
unsigned long debut_buttonStategreen;
static unsigned long lastTick = 0;
void setup() {
pinMode(menuboutton, INPUT);
pinMode(buttonred, INPUT);
pinMode(buttonblue, INPUT);
pinMode(buttongreen, INPUT);
pinMode(speakerPin, OUTPUT);
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, LOW);
buttonStatered = digitalRead(buttonred);
buttonStategreen = digitalRead(buttongreen);
buttonStateblue = digitalRead(buttonblue);
bouttonmenu = digitalRead(menuboutton);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(2, 0 );
lcd.print( "Base Airsoft" );
lcd.setCursor( 3, 1 );
lcd.print( "GOOD GAME" );
delay(2000);
lcd.setCursor( 2, 0 );
lcd.print( "Base Airsoft" );
lcd.setCursor( 3, 1 );
lcd.print( "BY PIC-PAC" );
delay(2000);
lcd.clear();
lcd.setCursor( 2, 0 );
lcd.print("Mode Standard");
lcd.setCursor(1, 1);
lcd.print("Appuyez bouton");
}
void loop() {
suite();
}
void suite(){
buttonStatered = digitalRead(buttonred);
buttonStategreen = digitalRead(buttongreen);
buttonStateblue = digitalRead(buttonblue);
bouttonmenu = digitalRead(menuboutton);
if (bouttonmenu == HIGH) {
menu();
}
else if (typejeu == 1){
RAZ();
}
else if (typejeu == 2){
compteur();
}
else if (typejeu == 3){
time();
}
else {
normal();
}
}
void menu(){
buttonStatered = digitalRead(buttonred);
buttonStategreen = digitalRead(buttongreen);
buttonStateblue = digitalRead(buttonblue);
bouttonmenu = digitalRead(menuboutton);
if (digitalRead(menuboutton) == HIGH) {
delay(500); //on évite de sauter les menus d'un coup
lcd.clear();
lcd.setCursor( 6, 0 );
lcd.print( "MENU" );
lcd.setCursor( 2, 1 );
lcd.print("Mode Standard");
Timeold=millis();
while(millis()-Timeold<=4000)// on sort du menu si aucune action pendant 4 secondes
{
if (digitalRead(buttonblue) == HIGH){
delay(300);
lcd.clear();
lcd.setCursor( 2, 0 );
lcd.print("Mode Standard");
lcd.setCursor(1, 1);
lcd.print("Appuyez bouton");
typejeu = 0;
normal();
}
if (digitalRead(menuboutton) == HIGH) {
delay(500); //on évite de sauter les menus d'un coup
lcd.clear();
lcd.setCursor( 6, 0 );
lcd.print( "MENU" );
lcd.setCursor( 4, 1 );
lcd.print("Mode RAZ");
Timeold=millis();
while(millis()-Timeold<=4000)// on sort du menu si aucune action pendant 4 secondes
{
if (digitalRead(buttonblue) == HIGH){
delay(500);
lcd.clear();
lcd.setCursor( 4, 0 );
lcd.print("Mode RAZ");
lcd.setCursor(1, 1);
lcd.print("Appuyez bouton");
delay(4000);
typejeu = 1;
RAZ(); }
if (digitalRead(menuboutton) == HIGH) {
delay(500); //on évite de sauter les menus d'un coup
lcd.clear();
lcd.setCursor( 6, 0 );
lcd.print( "MENU" );
lcd.setCursor( 2, 1 );
lcd.print("Mode Compteur");
Timeold=millis();
while(millis()-Timeold<=4000)// on sort du menu si aucune action pendant 4 secondes
{
if (digitalRead(buttonblue) == HIGH){
delay(500);
lcd.clear();
lcd.setCursor( 2, 0 );
lcd.print("Mode Compteur");
lcd.setCursor(1, 1);
lcd.print("Appuyez bouton");
typejeu = 2;
delay(4000);
lcd.setCursor(0, 1);
lcd.print(" ");
compteur(); }
if (digitalRead(menuboutton) == HIGH) {
delay(500); //on évite de sauter les menus d'un coup
lcd.clear();
lcd.setCursor( 6, 0 );
lcd.print( "MENU" );
lcd.setCursor( 2, 1 );
lcd.print("Reglage Temps");
Timeold=millis();
while(millis()-Timeold<=4000)// on sort du menu si aucune action pendant 4 secondes
{
if (digitalRead(buttonblue) == HIGH){
delay(500);
lcd.clear();
lcd.setCursor( 1, 0 );
lcd.print("Reglage Temps");
lcd.setCursor(0, 1);
lcd.print(" R = + V = - ");
typejeu = 3;
delay(4000);
time(); }
}
}
}
}
}
}
}
}
}
void time(){
if (buttonStatered == HIGH) {
lcd.setCursor(0, 1);
lcd.print(" ");
static unsigned long millis = 30;
millis++;
lcd.setCursor(4, 1);
if (hour <=9) {
lcd.print("0");
}
lcd.print(redhour, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minute <=9) {
lcd.print("0");
}
lcd.print(minute, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (second <=9) {
lcd.print("0");
}
lcd.print(second, DEC); // the second, sent to the screen in decimal format
if (millis >= 30) {
if (millis = 30){
second++;
millis = 0;
}
}
if (second >= 60) {
if (second = 60) {
minute++;
second = 0;
}
}
if (minute >= 60) {
if (minute = 60) {
hour++;
minute = 0;
}
}
}
if (buttonStategreen == HIGH) {
lcd.setCursor(0, 1);
lcd.print(" ");
static unsigned long millis = 30;
millis--;
lcd.setCursor(4, 1);
if (hour <=9) {
lcd.print("0");
}
lcd.print(hour, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minute <=9) {
lcd.print("0");
}
lcd.print(minute, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (second <=9) {
lcd.print("0");
}
lcd.print(second, DEC); // the second, sent to the screen in decimal format
if (millis >= 0) {
if (millis = 0){
second--;
millis = 30;
}
}
if (second >= 0) {
if (second = 0) {
minute--;
second = 60;
}
}
if (minute >= 0) {
if (minute = 0) {
hour--;
minute = 60;
}
}
}
bluesecond = second;
blueminute = minute;
bluehour = hour;
redsecond = second;
redminute = minute;
redhour = hour;
greensecond = second;
greenminute = minute;
greenhour = hour;
secondRAZRED = second;
minuteRAZRED = minute;
hourRAZRED = hour;
secondRAZGREEN = second;
minuteRAZGREEN = minute;
hourRAZGREEN = hour;
secondRAZBLUE = second;
minuteRAZBLUE = minute;
hourRAZBLUE = hour;
}
void normal(){
// if it is, the buttonStatered is HIGH:
while (buttonStatered == HIGH) {
buttonStatered = digitalRead(buttonred);
digitalWrite(redledPin, HIGH);
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, LOW);
lcd.clear();
lcd.setCursor(7, 0);
lcd.print("RED");
ledStatered = true;
ledStategreen = false;
ledStateblue = false;
}
if (ledStatered == true){
if (redmillis > 0) {
redmillis--;
}
// decrement one second every 1000 milliseconds
if (redsecond > 0) {
if (millis() - lastTick >= 1000) {
lastTick = millis();
redsecond--;
redmillis = 9;
}
}
// decrement one minute every 60 seconds
if (redminute > 0) {
if (redsecond <= 0) {
redminute--;
redsecond = 59; // reset seconds to 59
}
}
// decrement one hour every 60 minutes
if (redhour > 0) {
if (redminute <= 0) {
redhour--;
redminute = 59; // reset minutes to 60
}//closes if
}//closes if
lcd.setCursor(4, 1);
if (redhour <=9) {
lcd.print("0");
}
lcd.print(redhour, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (redminute <=9) {
lcd.print("0");
}
lcd.print(redminute, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (redsecond <=9) {
lcd.print("0");
}
lcd.print(redsecond, DEC); // the second, sent to the screen in decimal format
lcd.print(" ");
if (redsecond == 0 && redminute == 0 && redhour == 0) {
lcd.clear();
lcd.setCursor(7, 0);
lcd.print("RED");
lcd.setCursor(4, 1);
lcd.print("VICTOIRE");
digitalWrite(speakerPin, HIGH);//turn on buzzer
delay(3000);//wait 3 seconds
digitalWrite(speakerPin, LOW);//turn off buzzer
delay(3000);//wait 3 seconds
}
}
while (buttonStategreen == HIGH) {
// turn LED on:
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, HIGH);
digitalWrite(blueledPin, LOW);
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("GREEN");
buttonStategreen = digitalRead(buttongreen);
ledStatered = false;
ledStategreen = true;
ledStateblue = false;
}
if (ledStategreen == true){
if (greenmillis > 0) {
greenmillis--;
}
// decrement one second
if (greensecond > 0) {
if (millis() - lastTick >= 1000) {
lastTick = millis();
greensecond--;
greenmillis = 9;
}
}
// decrement one minute every 60 seconds
if (greenminute > 0) {
if (greensecond <= 0) {
greenminute--;
greensecond = 59; // reset seconds to 60
}
}
// decrement one hour every 60 minutes
if (greenhour > 0) {
if (greenminute <= 0) {
greenhour--;
greenminute = 59; // reset minutes to 60
}//closes if
}//closes if
lcd.setCursor(4, 1);
if (greenhour <=9) {
lcd.print("0");
}
lcd.print(greenhour, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (greenminute <=9) {
lcd.print("0");
}
lcd.print(greenminute, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (greensecond <=9) {
lcd.print("0");
}lcd.print(greensecond, DEC); // the second, sent to the screen in decimal format
lcd.print(" ");
if (greensecond == 0 && greenminute == 0 && greenhour == 0) {
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("GREEN");
lcd.setCursor(4, 1);
lcd.print("VICTOIRE");
digitalWrite(speakerPin, HIGH);//turn on buzzer
delay(3000);//wait 3 seconds
digitalWrite(speakerPin, LOW);//turn off buzzer
delay(3000);//wait 3 seconds
}
}
while (buttonStateblue == HIGH) {
// turn LED on:
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, HIGH);
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("BLUE");
buttonStateblue = digitalRead(buttonblue);
ledStatered = false;
ledStategreen = false;
ledStateblue = true;
}
if (ledStateblue == true){
if (bluemillis > 0) {
bluemillis--;
}
// decrement one second every 1000 milliseconds
if (bluesecond > 0) {
if (millis() - lastTick >= 1000) {
lastTick = millis();
bluesecond--;
bluemillis = 9;
}
}
// decrement one minute every 60 seconds
if (blueminute > 0) {
if (bluesecond <= 0) {
blueminute--;
bluesecond = 59; // reset seconds to 60
}
}
// decrement one hour every 60 minutes
if (bluehour > 0) {
if (blueminute <= 0) {
bluehour--;
blueminute = 59; // reset minutes to 60
}//closes if
}//closes if
lcd.setCursor(4, 1);
if (bluehour <=9) {
lcd.print("0");
}
lcd.print(bluehour, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (blueminute <=9) {
lcd.print("0");
}
lcd.print(blueminute, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (bluesecond <=9) {
lcd.print("0");
}
lcd.print(bluesecond, DEC); // the second, sent to the screen in decimal format
if (bluesecond == 0 && blueminute == 0 && bluehour == 0) {
lcd.clear();
lcd.setCursor(7, 0);
lcd.print("BLUE");
lcd.setCursor(4, 1);
lcd.print("VICTOIRE");
digitalWrite(speakerPin, HIGH);//turn on buzzer
delay(3000);//wait 3 seconds
digitalWrite(speakerPin, LOW);//turn off buzzer
delay(3000);//wait 3 seconds
}
}
}
void RAZ(){
// if it is, the buttonStatered is HIGH:
while (buttonStatered == HIGH) {
buttonStatered = digitalRead(buttonred);
digitalWrite(redledPin, HIGH);
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, LOW);
lcd.clear();
lcd.setCursor(7, 0);
lcd.print("RED");
ledStatered = true;
ledStategreen = false;
ledStateblue = false;
}
if (ledStatered == true){
secondRAZGREEN = second;
secondRAZBLUE = second;
minuteRAZGREEN = minute;
minuteRAZBLUE = minute;
hourRAZGREEN = hour;
hourRAZBLUE = hour;
// decrement one second every 1000 milliseconds
if (secondRAZRED > 0) {
if (millis() - lastTick >= 1000) {
lastTick = millis();
secondRAZRED--;
//millisRAZRED = 9;
}
}
// decrement one minute every 60 seconds
if (minuteRAZRED > 0) {
if (secondRAZRED <= 0) {
minuteRAZRED--;
secondRAZRED = 59; // reset seconds to 59
}
}
// decrement one hour every 60 minutes
if (hourRAZRED > 0) {
if (minuteRAZRED <= 0) {
hourRAZRED--;
minuteRAZRED = 59; // reset minutes to 60
}//closes if
}//closes if
lcd.setCursor(4, 1);
if (hourRAZRED <=9) {
lcd.print("0");
}
lcd.print(hourRAZRED, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minuteRAZRED <=9) {
lcd.print("0");
}
lcd.print(minuteRAZRED, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (secondRAZRED <=9) {
lcd.print("0");
}
lcd.print(secondRAZRED, DEC); // the second, sent to the screen in decimal format
if (secondRAZRED == 0 && minuteRAZRED == 0 && hourRAZRED == 0) {
lcd.clear();
lcd.setCursor(7, 0);
lcd.print("RED");
lcd.setCursor(4, 1);
lcd.print("VICTOIRE");
digitalWrite(speakerPin, HIGH);//turn on buzzer
delay(3000);//wait 3 seconds
digitalWrite(speakerPin, LOW);//turn off buzzer
delay(3000);//wait 3 seconds
}
}
while (buttonStategreen == HIGH) {
// turn LED on:
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, HIGH);
digitalWrite(blueledPin, LOW);
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("GREEN");
buttonStategreen = digitalRead(buttongreen);
ledStatered = false;
ledStategreen = true;
ledStateblue = false;
}
if (ledStategreen == true){
secondRAZRED = second;
secondRAZBLUE = second;
minuteRAZRED = minute;
minuteRAZBLUE = minute;
hourRAZRED = hour;
hourRAZBLUE = hour;
// decrement one second every 1000 milliseconds
if (secondRAZGREEN > 0) {
if (millis() - lastTick >= 1000) {
lastTick = millis();
secondRAZGREEN--;
//millisRAZGREEN = 9;
}
}
// decrement one minute every 60 seconds
if (minuteRAZGREEN > 0) {
if (secondRAZGREEN <= 0) {
minuteRAZGREEN--;
secondRAZGREEN = 59; // reset seconds to 59
}
}
// decrement one hour every 60 minutes
if (hourRAZGREEN > 0) {
if (minuteRAZGREEN <= 0) {
hourRAZGREEN--;
minuteRAZGREEN = 59; // reset minutes to 60
}//closes if
}//closes if
lcd.setCursor(4, 1);
if (hourRAZGREEN <=9) {
lcd.print("0");
}
lcd.print(hourRAZGREEN, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minuteRAZGREEN <=9) {
lcd.print("0");
}
lcd.print(minuteRAZGREEN, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (secondRAZGREEN <=9) {
lcd.print("0");
}
lcd.print(secondRAZGREEN, DEC); // the second, sent to the screen in decimal format
if (secondRAZGREEN == 0 && minuteRAZGREEN == 0 && hourRAZGREEN == 0) {
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("GREEN");
lcd.setCursor(4, 1);
lcd.print("VICTOIRE");
digitalWrite(speakerPin, HIGH);//turn on buzzer
delay(3000);//wait 3 seconds
digitalWrite(speakerPin, LOW);//turn off buzzer
delay(3000);//wait 3 seconds
}
}
while (buttonStateblue == HIGH) {
// turn LED on:
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, HIGH);
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("BLUE");
buttonStateblue = digitalRead(buttonblue);
ledStatered = false;
ledStategreen = false;
ledStateblue = true;
}
if (ledStateblue == true){
secondRAZRED = second;
secondRAZGREEN = second;
minuteRAZRED = minute;
minuteRAZGREEN = minute;
hourRAZRED = hour;
hourRAZGREEN = hour;
// decrement one second every 1000 milliseconds
if (secondRAZBLUE > 0) {
if (millis() - lastTick >= 1000) {
lastTick = millis();
secondRAZBLUE--;
}
}
// decrement one minute every 60 seconds
if (minuteRAZBLUE > 0) {
if (secondRAZBLUE <= 0) {
minuteRAZBLUE--;
secondRAZBLUE = 59; // reset seconds to 59
}
}
// decrement one hour every 60 minutes
if (hourRAZBLUE > 0) {
if (minuteRAZBLUE <= 0) {
hourRAZBLUE--;
minuteRAZBLUE = 59; // reset minutes to 60
}//closes if
}//closes if
lcd.setCursor(4, 1);
if (hourRAZBLUE <=9) {
lcd.print("0");
}
lcd.print(hourRAZBLUE, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minuteRAZBLUE <=9) {
lcd.print("0");
}
lcd.print(minuteRAZBLUE, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (secondRAZBLUE <=9) {
lcd.print("0");
}
lcd.print(secondRAZBLUE, DEC); // the second, sent to the screen in decimal format
if (secondRAZBLUE == 0 && minuteRAZBLUE == 0 && hourRAZBLUE == 0) {
lcd.clear();
lcd.setCursor(7, 0);
lcd.print("BLUE");
lcd.setCursor(4, 1);
lcd.print("VICTOIRE");
digitalWrite(speakerPin, HIGH);//turn on buzzer
delay(3000);//wait 3 seconds
digitalWrite(speakerPin, LOW);//turn off buzzer
delay(3000);//wait 3 seconds
}
}
}
void compteur(){
buttonStatered = digitalRead(buttonred);
buttonStateblue = digitalRead(buttonblue);
buttonStategreen = digitalRead(buttongreen);
if (buttonStatered == HIGH && dernier_etat_buttonStatered == LOW)
{
debut_buttonStatered = millis();
digitalWrite(redledPin, HIGH);
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, LOW);
ledStatered = false;
ledStategreen = false;
ledStateblue = false;
variable1 = true;
variable2 = false;
variable3 = false;
}
if ( variable1 == true && buttonStatered == HIGH && dernier_etat_buttonStatered == HIGH){
if ((millis() - debut_buttonStatered) >= temps_defini){
//lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print("RED / BLUE");
ledStatered = true;
}
}
if (ledStatered == true){
redmillis1++;
lcd.setCursor(0, 1);
if (redhour1 <=9) {
lcd.print("0");
}
lcd.print(redhour1, DEC);
lcd.print(":");
if (redminute1 <=9) {
lcd.print("0");
}
lcd.print(redminute1, DEC);
lcd.print(":");
if (redsecond1 <=9) {
lcd.print("0");
}
lcd.print(redsecond1, DEC);
lcd.print(" ");
if (redmillis1 >= 300) {
if (redmillis1 = 300) {
redsecond1++;
redmillis1 = 0;
}
}
if (redsecond1 >= 60) {
if (redsecond1 = 60) {
redminute1++;
redsecond1 = 0;
}
}
if (redminute1 >= 60) {
if (redminute1 = 60) {
redhour1++;
redminute1 = 0;
}
}
}
dernier_etat_buttonStatered = buttonStatered;
if (buttonStateblue == HIGH && dernier_etat_buttonStateblue == LOW)
{
debut_buttonStateblue = millis();
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, HIGH);
ledStatered = false;
ledStategreen = false;
ledStateblue = false;
variable1 = false;
variable2 = true;
variable3 = false;
}
if ( variable2 == true && buttonStateblue == HIGH && dernier_etat_buttonStateblue == HIGH){
if ((millis() - debut_buttonStateblue) >= temps_defini){
//lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print("RED / BLUE");
ledStateblue = true;
}
}
if (ledStateblue == true){
bluemillis1++;
lcd.setCursor(8, 1);
if (redhour1 <=9) {
lcd.print("0");
}
lcd.print(bluehour1, DEC);
lcd.print(":");
if (blueminute1 <=9) {
lcd.print("0");
}
lcd.print(blueminute1, DEC);
lcd.print(":");
if (bluesecond1 <=9) {
lcd.print("0");
}
lcd.print(bluesecond1, DEC);
lcd.print(" ");
if (bluemillis1 >= 300) {
if (bluemillis1 = 300) {
bluesecond1++;
bluemillis1 = 0;
}
}
if (bluesecond1 >= 60) {
if (bluesecond1 = 60) {
blueminute1++;
bluesecond1= 0;
}
}
if (blueminute1 >= 60) {
if (blueminute1 = 60) {
bluehour1++;
blueminute1 = 0;
}
}
}
dernier_etat_buttonStateblue = buttonStateblue;
if (buttonStategreen == HIGH && dernier_etat_buttonStategreen == LOW)
{
debut_buttonStategreen = millis();
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, HIGH);
digitalWrite(blueledPin, LOW);
ledStatered = false;
ledStategreen = false;
ledStateblue = false;
variable1 = false;
variable2 = false;
variable3 = true;
}
if ( variable3 == true && buttonStategreen == HIGH && dernier_etat_buttonStategreen == HIGH){
if ((millis() - debut_buttonStategreen) >= temps_defini){
lcd.clear();
lcd.setCursor(7, 0);
lcd.print("RAZ");
ledStategreen = true;
}
}
if (ledStategreen == true){
redmillis1 = 0;
redsecond1 = 0;
redminute1 = 0;
redhour1 = 0;
bluemillis1 = 0;
bluesecond1 = 0;
blueminute1 = 0;
bluehour1 = 0;
}
dernier_etat_buttonStategreen = buttonStategreen;
}
Maintenant bonne nuit, je crois que je l'ai bien mérité!!!!!
obelix21- ecrou argent
- Messages : 361
Date d'inscription : 06/05/2013
- Message n°88
Re: Checkpoint avec Arduino l'étude..
j'ai du mal à me ballader dans les menus, tu aurais le synoptique?
MODE STANDARD - Appuyez bouton - appui bouton vert, bleu ou rouge déclenche le décompte!
Menu MODE STANDARD - appui bouton vert, bleu ou rouge déclenche le décompte!
Menu MODE RAZ - (Bleu) = entrée menu _ Mode RAZ - Appuyez bouton (lequel?) appui bouton vert, bleu ou rouge déclenche le décompte!
Menu MODE COMPTEUR - (bleu) = entrée menu_Mode Compteur -
(bleu prolongé) = RED/BLUE + decompte du temps des bleu -
(rouge prolongé) = RED/BLUE + décompte du temps des rouge -
(vert prolongé) = Menu RAZ (bleu prolongé) = RAZ
(vert) = Stop le décompte
MODE STANDARD - Appuyez bouton - appui bouton vert, bleu ou rouge déclenche le décompte!
Menu MODE STANDARD - appui bouton vert, bleu ou rouge déclenche le décompte!
Menu MODE RAZ - (Bleu) = entrée menu _ Mode RAZ - Appuyez bouton (lequel?) appui bouton vert, bleu ou rouge déclenche le décompte!
Menu MODE COMPTEUR - (bleu) = entrée menu_Mode Compteur -
(bleu prolongé) = RED/BLUE + decompte du temps des bleu -
(rouge prolongé) = RED/BLUE + décompte du temps des rouge -
(vert prolongé) = Menu RAZ (bleu prolongé) = RAZ
(vert) = Stop le décompte
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°89
Re: Checkpoint avec Arduino l'étude..
je pense que c'est ce que tu voulais.
!!!Attention si tu appuies sur le bouton "MENU" et que tu ne fais rien pendant 4 secondes il sort automatiquement du Menu!!!
en mode standard c'est les 3 équipes qui peuvent s'affronter, à chaque fois que la base change de couleur, le compteur reprend ou il s’était arrêté.
en mode RAZ c'est les 3 équipes qui peuvent s'affronter, à chaque fois que la base change de couleur, elle RAZ les autres compteurs.
en mode compteur rouge VS bleu (appuie 3 secondes pour changer) quand une équipe capture le compteur de l'autre s’arrête (un peu comme aux Échecs) et le bouton vert (appuie 3 secondes) c'est le RAZ des 2 compteurs.
pour le réglage temps R=+ V=- on appuie sur le rouge pour augmenter le temps et sur le vert (petit problème pas encore résolu) ça remet le temps à zéro.
!!!Attention si tu appuies sur le bouton "MENU" et que tu ne fais rien pendant 4 secondes il sort automatiquement du Menu!!!
en mode standard c'est les 3 équipes qui peuvent s'affronter, à chaque fois que la base change de couleur, le compteur reprend ou il s’était arrêté.
en mode RAZ c'est les 3 équipes qui peuvent s'affronter, à chaque fois que la base change de couleur, elle RAZ les autres compteurs.
en mode compteur rouge VS bleu (appuie 3 secondes pour changer) quand une équipe capture le compteur de l'autre s’arrête (un peu comme aux Échecs) et le bouton vert (appuie 3 secondes) c'est le RAZ des 2 compteurs.
pour le réglage temps R=+ V=- on appuie sur le rouge pour augmenter le temps et sur le vert (petit problème pas encore résolu) ça remet le temps à zéro.
obelix21- ecrou argent
- Messages : 361
Date d'inscription : 06/05/2013
- Message n°90
Re: Checkpoint avec Arduino l'étude..
oui merci
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°91
Re: Checkpoint avec Arduino l'étude..
si vous apportez des modifications au code n’hésitez pas à les repartager ici
obelix21- ecrou argent
- Messages : 361
Date d'inscription : 06/05/2013
- Message n°92
Re: Checkpoint avec Arduino l'étude..
Voilà ma version de ton programme
maintenant que je sais naviguer dans les menus, ça va super bien,lol
- Code:
//Programme BASE AIRSOFT de PICPAC exploité par Obélix
#include <LiquidCrystal.h> // librairie écran 1602
LiquidCrystal lcd(8, 9, 10, 11, 12, 13); // cablage des pins de l'écran
const int buttonred = 3; // bouton rouge sur sortie 3
const int buttongreen = 1; // bouton vert sur sortie 1
const int buttonblue = 2; // bouton bleu sur sortie 2
const int menuboutton = 4; // bouton menu pas utilisé
const int redledPin = A2; // voyant rouge sur sortie Analog 2
const int greenledPin = A1; // voyant vert sur sortie analog 1
const int blueledPin = A0; // voyant bleu sur sortie analog 0
const int speakerPin = 7;
int buttonStatered = 0; // variable for reading the pushbutton status
int buttonStategreen = 0; // variable for reading the pushbutton status
int buttonStateblue = 0; // variable for reading the pushbutton status
int bouttonmenu = 0;
int bouttonblue = 0;
int bouttonred = 0;
int bouttongreen = 0;
int dernier_etat_buttonStatered = LOW;
int dernier_etat_buttonStateblue = LOW;
int dernier_etat_buttonStategreen = LOW;
int temps_defini = 3000; //temps d'attente sur le bouton bleu ou rouge en mode compteur pour capturer
int duree_compte_rebour_mn = 15; // durée du décompte en minutes
int duree_compte_rebour_h = 0; // durée du décompte en heures
int redsecond=0, redminute= duree_compte_rebour_mn, redhour= duree_compte_rebour_h; // temps de jeu mode standard
int redmillis = 0;
int greensecond=0, greenminute= duree_compte_rebour_mn, greenhour= duree_compte_rebour_h; // temps de jeu mode standard
int greenmillis = 0;
int bluesecond=0, blueminute= duree_compte_rebour_mn, bluehour= duree_compte_rebour_h; // temps de jeu mode standard
int bluemillis = 0;
int secondRAZGREEN=0, minuteRAZGREEN=duree_compte_rebour_mn, hourRAZGREEN=0, millisRAZGREEN= 0; // temps de jeu mode RAZ
int secondRAZRED=0, minuteRAZRED=duree_compte_rebour_mn, hourRAZRED=0, millisRAZRED=0; // temps de jeu mode RAZ
int secondRAZBLUE=0, minuteRAZBLUE=duree_compte_rebour_mn, hourRAZBLUE=0, millisRAZBLUE=0; // temps de jeu mode RAZ
int second=0, minute=duree_compte_rebour_mn, hour=0; // temps par défaut mode réglage compteur
int typejeu = 0;
int redmillis1 = 0;
int redsecond1 = 0;
int redminute1 = 0;
int redhour1 = 0;
int bluemillis1 = 0;
int bluesecond1 = 0;
int blueminute1 = 0;
int bluehour1 = 0;
boolean variable1 = false;
boolean variable2 = false;
boolean variable3 = false;
boolean ledStatered = false;
boolean ledStategreen = false;
boolean ledStateblue = false;
unsigned long Timeold=0;
unsigned long debut_buttonStatered;
unsigned long debut_buttonStateblue;
unsigned long debut_buttonStategreen;
static unsigned long lastTick = 0;
void setup() {
pinMode(menuboutton, INPUT);
pinMode(buttonred, INPUT);
pinMode(buttonblue, INPUT);
pinMode(buttongreen, INPUT);
pinMode(speakerPin, OUTPUT);
digitalWrite(speakerPin, HIGH); // activation resistance de tirage buzzer
digitalWrite(redledPin, LOW); // état led rouge au démarrage
digitalWrite(greenledPin, LOW); // état led verte au démarrage
digitalWrite(blueledPin, LOW); // état led bleu au démarrage
buttonStatered = digitalRead(buttonred);
buttonStategreen = digitalRead(buttongreen);
buttonStateblue = digitalRead(buttonblue);
bouttonmenu = digitalRead(menuboutton);
lcd.begin(16, 2); // Messages d'acceuil au démarrage
lcd.clear();
lcd.setCursor( 0, 0 );
lcd.print( "PIC PAC" ); // Message page1
lcd.setCursor( 2, 1 );
lcd.print( "developpement" );
delay(2000);
lcd.clear(); // reset écran
lcd.setCursor( 2, 0 );
lcd.print( "BASE AIRSOFT" );
lcd.setCursor( 2, 1 ); // Message page2
lcd.print( "par OBELIX" );
delay(2000);
lcd.clear(); // reset écran
lcd.setCursor(1, 0);
lcd.print("Appuie couleur");
lcd.setCursor(1, 1); // Message page3
lcd.print("de ton equipe");
delay(2000);
lcd.clear(); // reset écran
lcd.setCursor(1, 0);
lcd.print("pour commencer!"); // Message page4
delay(2000);
lcd.clear(); // reset écran
lcd.setCursor(1, 0);
lcd.print("fin partie dans"); // Message page5
lcd.setCursor(1, 1);
lcd.print(duree_compte_rebour_mn); //durée de la partie
lcd.setCursor (5,1);
lcd.print("minutes");
delay(2000);
lcd.clear(); // reset écran
lcd.setCursor(0, 0);
lcd.print("§§§§§§§§§§§§§§§§");
lcd.setCursor(4, 1);
lcd.print("Bon jeu!"); // Message page6
}
void loop() {
suite();
}
void suite(){
buttonStatered = digitalRead(buttonred);
buttonStategreen = digitalRead(buttongreen);
buttonStateblue = digitalRead(buttonblue);
bouttonmenu = digitalRead(menuboutton);
if (bouttonmenu == HIGH) {
menu();
}
else if (typejeu == 1){
RAZ();
}
else if (typejeu == 2){
compteur();
}
else if (typejeu == 3){
time();
}
else {
normal();
}
}
void menu(){
buttonStatered = digitalRead(buttonred);
buttonStategreen = digitalRead(buttongreen);
buttonStateblue = digitalRead(buttonblue);
bouttonmenu = digitalRead(menuboutton);
if (digitalRead(menuboutton) == HIGH) {
delay(500); //on évite de sauter les menus d'un coup
lcd.clear();
lcd.setCursor( 6, 0 );
lcd.print( "MENU" );
lcd.setCursor( 2, 1 );
lcd.print("Mode Standard");
Timeold=millis();
while(millis()-Timeold<=4000) // on sort du menu si aucune action pendant 4 secondes
{
if (digitalRead(buttonblue) == HIGH){
delay(300);
lcd.clear();
lcd.setCursor( 2, 0 );
lcd.print("Mode Standard");
lcd.setCursor(1, 1);
lcd.print("Appuyez bouton");
typejeu = 0;
normal();
}
if (digitalRead(menuboutton) == HIGH) {
delay(500); //on évite de sauter les menus d'un coup
lcd.clear();
lcd.setCursor( 6, 0 );
lcd.print( "MENU" );
lcd.setCursor( 4, 1 );
lcd.print("Mode RAZ");
Timeold=millis();
while(millis()-Timeold<=4000) // on sort du menu si aucune action pendant 4 secondes
{
if (digitalRead(buttonblue) == HIGH){
delay(500);
lcd.clear();
lcd.setCursor( 4, 0 );
lcd.print("Mode RAZ");
lcd.setCursor(1, 1);
lcd.print("Appuyez bouton");
delay(4000);
typejeu = 1;
RAZ(); }
if (digitalRead(menuboutton) == HIGH) {
delay(500); //on évite de sauter les menus d'un coup
lcd.clear();
lcd.setCursor( 6, 0 );
lcd.print( "MENU" );
lcd.setCursor( 2, 1 );
lcd.print("Mode Compteur");
Timeold=millis();
while(millis()-Timeold<=4000) // on sort du menu si aucune action pendant 4 secondes
{
if (digitalRead(buttonblue) == HIGH){
delay(500);
lcd.clear();
lcd.setCursor( 2, 0 );
lcd.print("Mode Compteur");
lcd.setCursor(1, 1);
lcd.print("Appuyez bouton");
typejeu = 2;
delay(4000);
lcd.setCursor(0, 1);
lcd.print(" ");
compteur(); }
if (digitalRead(menuboutton) == HIGH) {
delay(500); //on évite de sauter les menus d'un coup
lcd.clear();
lcd.setCursor( 6, 0 );
lcd.print( "MENU" );
lcd.setCursor( 2, 1 );
lcd.print("Reglage Temps");
Timeold=millis();
while(millis()-Timeold<=4000) // on sort du menu si aucune action pendant 4 secondes
{
if (digitalRead(buttonblue) == HIGH){
delay(500);
lcd.clear();
lcd.setCursor( 1, 0 );
lcd.print("Reglage Temps");
lcd.setCursor(0, 1);
lcd.print(" R = + V = RAZ ");
typejeu = 3;
delay(4000);
time(); }
}
}
}
}
}
}
}
}
}
void time(){
if (buttonStatered == HIGH) {
lcd.setCursor(0, 1);
lcd.print(" ");
static unsigned long millis = 30;
millis++;
lcd.setCursor(4, 1);
if (hour <=9) {
lcd.print("0");
}
lcd.print(redhour, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minute <=9) {
lcd.print("0");
}
lcd.print(minute, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (second <=9) {
lcd.print("0");
}
lcd.print(second, DEC); // the second, sent to the screen in decimal format
if (millis >= 30) {
if (millis = 30){
second++;
millis = 0;
}
}
if (second >= 60) {
if (second = 60) {
minute++;
second = 0;
}
}
if (minute >= 60) {
if (minute = 60) {
hour++;
minute = 0;
}
}
}
if (buttonStategreen == HIGH) {
lcd.setCursor(0, 1);
lcd.print(" ");
static unsigned long millis = 30;
millis--;
lcd.setCursor(4, 1);
if (hour <=9) {
lcd.print("0");
}
lcd.print(hour, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minute <=9) {
lcd.print("0");
}
lcd.print(minute, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (second <=9) {
lcd.print("0");
}
lcd.print(second, DEC); // the second, sent to the screen in decimal format
if (millis >= 0) {
if (millis = 0){
second--;
millis = 30;
}
}
if (second >= 0) {
if (second = 0) {
minute--;
second = 60;
}
}
if (minute >= 0) {
if (minute = 0) {
hour--;
minute = 60;
}
}
}
bluesecond = second;
blueminute = minute;
bluehour = hour;
redsecond = second;
redminute = minute;
redhour = hour;
greensecond = second;
greenminute = minute;
greenhour = hour;
secondRAZRED = second;
minuteRAZRED = minute;
hourRAZRED = hour;
secondRAZGREEN = second;
minuteRAZGREEN = minute;
hourRAZGREEN = hour;
secondRAZBLUE = second;
minuteRAZBLUE = minute;
hourRAZBLUE = hour;
}
void normal()
{
//Quand le bouton rouge est appuyé
while (buttonStatered == HIGH)
{
buttonStatered = digitalRead(buttonred);
digitalWrite(redledPin, HIGH); //allume led rouge
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, LOW);
lcd.clear();
lcd.setCursor(5, 0);
lcd.print("ROUGE"); // ROUGE à l'écran
ledStatered = true;
ledStategreen = false;
ledStateblue = false;
}
if (ledStatered == true)
{
if (redmillis > 0)
{
redmillis--;
}
// decrement one second every 1000 milliseconds
if (redsecond > 0)
{
if (millis() - lastTick >= 1000)
{
lastTick = millis();
redsecond--;
redmillis = 9;
}
}
// decrement one minute every 60 seconds
if (redminute > 0)
{
if (redsecond <= 0)
{
redminute--;
redsecond = 59; // reset seconds to 59
}
}
// decrement one hour every 60 minutes
if (redhour > 0)
{
if (redminute <= 0)
{
redhour--;
redminute = 59; // reset minutes to 60
}//closes if
}//closes if
lcd.setCursor(4, 1);
if (redhour <=9)
{
lcd.print("0");
}
lcd.print(redhour, DEC);
lcd.print(":");
if (redminute <=9)
{
lcd.print("0");
}
lcd.print(redminute, DEC);
lcd.print(":");
if (redsecond <=9)
{
lcd.print("0");
}
lcd.print(redsecond, DEC);
lcd.print(" ");
if (redsecond == 0 && redminute == 0 && redhour == 0)
{
lcd.clear();
lcd.setCursor(4, 0);
lcd.print("VICTOIRE");
lcd.setCursor(2, 1);
lcd.print("EQUIPE ROUGE"); // victoire des rouge à l'écran
pinMode(0, OUTPUT);
digitalWrite(0, HIGH);
digitalWrite(speakerPin, HIGH); //buzzer actif
delay(3000); //wait 3 seconds
digitalWrite(speakerPin, LOW); //buzzer eteint
delay(3000); //wait 3 seconds
}
}
while (buttonStategreen == HIGH) //Quand le bouton vert est appuyé
{
// allume led verte
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, HIGH);
digitalWrite(blueledPin, LOW);
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("VERT"); // VERT à l'ecran
buttonStategreen = digitalRead(buttongreen);
ledStatered = false;
ledStategreen = true;
ledStateblue = false;
}
if (ledStategreen == true)
{
if (greenmillis > 0)
{
greenmillis--;
}
// decrement one second
if (greensecond > 0)
{
if (millis() - lastTick >= 1000)
{
lastTick = millis();
greensecond--;
greenmillis = 9;
}
}
// decrement one minute every 60 seconds
if (greenminute > 0) {
if (greensecond <= 0) {
greenminute--;
greensecond = 59; // reset seconds to 60
}
}
// decrement one hour every 60 minutes
if (greenhour > 0) {
if (greenminute <= 0) {
greenhour--;
greenminute = 59; // reset minutes to 60
}//closes if
}//closes if
lcd.setCursor(4, 1);
if (greenhour <=9)
{
lcd.print("0");
}
lcd.print(greenhour, DEC);
lcd.print(":");
if (greenminute <=9)
{
lcd.print("0");
}
lcd.print(greenminute, DEC);
lcd.print(":");
if (greensecond <=9)
{
lcd.print("0");
}
lcd.print(greensecond, DEC);
lcd.print(" ");
if (greensecond == 0 && greenminute == 0 && greenhour == 0)
{
lcd.clear();
lcd.setCursor(4, 0);
lcd.print("VICTOIRE");
lcd.setCursor(2, 1);
lcd.print("EQUIPE VERT"); //victoire des vert à l'écran
digitalWrite(speakerPin, HIGH); //buzzer actif
delay(3000); //wait 3 seconds
digitalWrite(speakerPin, LOW); //buzzer eteint
delay(3000); //wait 3 seconds
}
}
while (buttonStateblue == HIGH) //Quand le bouton bleu est appuyé
{
// allume led bleu
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, HIGH);
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("BLEU"); // bleu à l'écran
buttonStateblue = digitalRead(buttonblue);
ledStatered = false;
ledStategreen = false;
ledStateblue = true;
}
if (ledStateblue == true)
{
if (bluemillis > 0)
{
bluemillis--;
}
// decrement one second every 1000 milliseconds
if (bluesecond > 0)
{
if (millis() - lastTick >= 1000)
{
lastTick = millis();
bluesecond--;
bluemillis = 9;
}
}
// decrement one minute every 60 seconds
if (blueminute > 0)
{
if (bluesecond <= 0)
{
blueminute--;
bluesecond = 59; // reset seconds to 60
}
}
// decrement one hour every 60 minutes
if (bluehour > 0)
{
if (blueminute <= 0)
{
bluehour--;
blueminute = 59; // reset minutes to 60
}//closes if
}//closes if
lcd.setCursor(4, 1);
if (bluehour <=9)
{
lcd.print("0");
}
lcd.print(bluehour, DEC);
lcd.print(":");
if (blueminute <=9)
{
lcd.print("0");
}
lcd.print(blueminute, DEC);
lcd.print(":");
if (bluesecond <=9)
{
lcd.print("0");
}
lcd.print(bluesecond, DEC);
if (bluesecond == 0 && blueminute == 0 && bluehour == 0)
{
lcd.clear();
lcd.setCursor(4, 0);
lcd.print("VICTOIRE");
lcd.setCursor(2, 1);
lcd.print("EQUIPE BLEU"); //victoire des bleu à l'écran
digitalWrite(speakerPin, HIGH); //buzzer actif
delay(3000); //wait 3 seconds
digitalWrite(speakerPin, LOW); //buzzer eteint
delay(3000); //wait 3 seconds
}
}
}
void RAZ(){
// if it is, the buttonStatered is HIGH:
while (buttonStatered == HIGH) {
buttonStatered = digitalRead(buttonred);
digitalWrite(redledPin, HIGH);
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, LOW);
lcd.clear();
lcd.setCursor(5, 0);
lcd.print("ROUGE");
ledStatered = true;
ledStategreen = false;
ledStateblue = false;
}
if (ledStatered == true){
secondRAZGREEN = second;
secondRAZBLUE = second;
minuteRAZGREEN = minute;
minuteRAZBLUE = minute;
hourRAZGREEN = hour;
hourRAZBLUE = hour;
// decrement one second every 1000 milliseconds
if (secondRAZRED > 0) {
if (millis() - lastTick >= 1000) {
lastTick = millis();
secondRAZRED--;
//millisRAZRED = 9;
}
}
// decrement one minute every 60 seconds
if (minuteRAZRED > 0) {
if (secondRAZRED <= 0) {
minuteRAZRED--;
secondRAZRED = 59; // reset seconds to 59
}
}
// decrement one hour every 60 minutes
if (hourRAZRED > 0) {
if (minuteRAZRED <= 0) {
hourRAZRED--;
minuteRAZRED = 59; // reset minutes to 60
}//closes if
}//closes if
lcd.setCursor(4, 1);
if (hourRAZRED <=9) {
lcd.print("0");
}
lcd.print(hourRAZRED, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minuteRAZRED <=9) {
lcd.print("0");
}
lcd.print(minuteRAZRED, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (secondRAZRED <=9) {
lcd.print("0");
}
lcd.print(secondRAZRED, DEC); // the second, sent to the screen in decimal format
if (secondRAZRED == 0 && minuteRAZRED == 0 && hourRAZRED == 0) {
lcd.clear();
lcd.setCursor(5, 0);
lcd.print("ROUGE");
lcd.setCursor(4, 1);
lcd.print("VICTOIRE");
digitalWrite(speakerPin, HIGH);//turn on buzzer
delay(3000);//wait 3 seconds
digitalWrite(speakerPin, LOW);//turn off buzzer
delay(3000);//wait 3 seconds
}
}
while (buttonStategreen == HIGH) {
// turn LED on:
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, HIGH);
digitalWrite(blueledPin, LOW);
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("VERT");
buttonStategreen = digitalRead(buttongreen);
ledStatered = false;
ledStategreen = true;
ledStateblue = false;
}
if (ledStategreen == true){
secondRAZRED = second;
secondRAZBLUE = second;
minuteRAZRED = minute;
minuteRAZBLUE = minute;
hourRAZRED = hour;
hourRAZBLUE = hour;
// decrement one second every 1000 milliseconds
if (secondRAZGREEN > 0) {
if (millis() - lastTick >= 1000) {
lastTick = millis();
secondRAZGREEN--;
//millisRAZGREEN = 9;
}
}
// decrement one minute every 60 seconds
if (minuteRAZGREEN > 0) {
if (secondRAZGREEN <= 0) {
minuteRAZGREEN--;
secondRAZGREEN = 59; // reset seconds to 59
}
}
// decrement one hour every 60 minutes
if (hourRAZGREEN > 0) {
if (minuteRAZGREEN <= 0) {
hourRAZGREEN--;
minuteRAZGREEN = 59; // reset minutes to 60
}//closes if
}//closes if
lcd.setCursor(4, 1);
if (hourRAZGREEN <=9) {
lcd.print("0");
}
lcd.print(hourRAZGREEN, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minuteRAZGREEN <=9) {
lcd.print("0");
}
lcd.print(minuteRAZGREEN, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (secondRAZGREEN <=9) {
lcd.print("0");
}
lcd.print(secondRAZGREEN, DEC); // the second, sent to the screen in decimal format
if (secondRAZGREEN == 0 && minuteRAZGREEN == 0 && hourRAZGREEN == 0) {
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("VERT");
lcd.setCursor(4, 1);
lcd.print("VICTOIRE");
digitalWrite(speakerPin, HIGH);//turn on buzzer
delay(3000);//wait 3 seconds
digitalWrite(speakerPin, LOW);//turn off buzzer
delay(3000);//wait 3 seconds
}
}
while (buttonStateblue == HIGH) {
// turn LED on:
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, HIGH);
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("BLEU");
buttonStateblue = digitalRead(buttonblue);
ledStatered = false;
ledStategreen = false;
ledStateblue = true;
}
if (ledStateblue == true){
secondRAZRED = second;
secondRAZGREEN = second;
minuteRAZRED = minute;
minuteRAZGREEN = minute;
hourRAZRED = hour;
hourRAZGREEN = hour;
// decrement one second every 1000 milliseconds
if (secondRAZBLUE > 0) {
if (millis() - lastTick >= 1000) {
lastTick = millis();
secondRAZBLUE--;
}
}
// decrement one minute every 60 seconds
if (minuteRAZBLUE > 0) {
if (secondRAZBLUE <= 0) {
minuteRAZBLUE--;
secondRAZBLUE = 59; // reset seconds to 59
}
}
// decrement one hour every 60 minutes
if (hourRAZBLUE > 0) {
if (minuteRAZBLUE <= 0) {
hourRAZBLUE--;
minuteRAZBLUE = 59; // reset minutes to 60
}//closes if
}//closes if
lcd.setCursor(4, 1);
if (hourRAZBLUE <=9) {
lcd.print("0");
}
lcd.print(hourRAZBLUE, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minuteRAZBLUE <=9) {
lcd.print("0");
}
lcd.print(minuteRAZBLUE, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (secondRAZBLUE <=9) {
lcd.print("0");
}
lcd.print(secondRAZBLUE, DEC); // the second, sent to the screen in decimal format
if (secondRAZBLUE == 0 && minuteRAZBLUE == 0 && hourRAZBLUE == 0) {
lcd.clear();
lcd.setCursor(7, 0);
lcd.print("BLEU");
lcd.setCursor(4, 1);
lcd.print("VICTOIRE");
digitalWrite(speakerPin, HIGH);//turn on buzzer
delay(3000);//wait 3 seconds
digitalWrite(speakerPin, LOW);//turn off buzzer
delay(3000);//wait 3 seconds
}
}
}
void compteur(){
buttonStatered = digitalRead(buttonred);
buttonStateblue = digitalRead(buttonblue);
buttonStategreen = digitalRead(buttongreen);
if (buttonStatered == HIGH && dernier_etat_buttonStatered == LOW)
{
debut_buttonStatered = millis();
digitalWrite(redledPin, HIGH);
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, LOW);
ledStatered = false;
ledStategreen = false;
ledStateblue = false;
variable1 = true;
variable2 = false;
variable3 = false;
}
if ( variable1 == true && buttonStatered == HIGH && dernier_etat_buttonStatered == HIGH){
if ((millis() - debut_buttonStatered) >= temps_defini){
http://lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print("ROUGE / BLEU");
ledStatered = true;
}
}
if (ledStatered == true){
redmillis1++;
lcd.setCursor(0, 1);
if (redhour1 <=9) {
lcd.print("0");
}
lcd.print(redhour1, DEC);
lcd.print(":");
if (redminute1 <=9) {
lcd.print("0");
}
lcd.print(redminute1, DEC);
lcd.print(":");
if (redsecond1 <=9) {
lcd.print("0");
}
lcd.print(redsecond1, DEC);
lcd.print(" ");
if (redmillis1 >= 300) {
if (redmillis1 = 300) {
redsecond1++;
redmillis1 = 0;
}
}
if (redsecond1 >= 60) {
if (redsecond1 = 60) {
redminute1++;
redsecond1 = 0;
}
}
if (redminute1 >= 60) {
if (redminute1 = 60) {
redhour1++;
redminute1 = 0;
}
}
}
dernier_etat_buttonStatered = buttonStatered;
if (buttonStateblue == HIGH && dernier_etat_buttonStateblue == LOW)
{
debut_buttonStateblue = millis();
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, LOW);
digitalWrite(blueledPin, HIGH);
ledStatered = false;
ledStategreen = false;
ledStateblue = false;
variable1 = false;
variable2 = true;
variable3 = false;
}
if ( variable2 == true && buttonStateblue == HIGH && dernier_etat_buttonStateblue == HIGH){
if ((millis() - debut_buttonStateblue) >= temps_defini){
//lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print("ROUGE / BLEU");
ledStateblue = true;
}
}
if (ledStateblue == true){
bluemillis1++;
lcd.setCursor(8, 1);
if (redhour1 <=9) {
lcd.print("0");
}
lcd.print(bluehour1, DEC);
lcd.print(":");
if (blueminute1 <=9) {
lcd.print("0");
}
lcd.print(blueminute1, DEC);
lcd.print(":");
if (bluesecond1 <=9) {
lcd.print("0");
}
lcd.print(bluesecond1, DEC);
lcd.print(" ");
if (bluemillis1 >= 300) {
if (bluemillis1 = 300) {
bluesecond1++;
bluemillis1 = 0;
}
}
if (bluesecond1 >= 60) {
if (bluesecond1 = 60) {
blueminute1++;
bluesecond1= 0;
}
}
if (blueminute1 >= 60) {
if (blueminute1 = 60) {
bluehour1++;
blueminute1 = 0;
}
}
}
dernier_etat_buttonStateblue = buttonStateblue;
if (buttonStategreen == HIGH && dernier_etat_buttonStategreen == LOW)
{
debut_buttonStategreen = millis();
digitalWrite(redledPin, LOW);
digitalWrite(greenledPin, HIGH);
digitalWrite(blueledPin, LOW);
ledStatered = false;
ledStategreen = false;
ledStateblue = false;
variable1 = false;
variable2 = false;
variable3 = true;
}
if ( variable3 == true && buttonStategreen == HIGH && dernier_etat_buttonStategreen == HIGH){
if ((millis() - debut_buttonStategreen) >= temps_defini){
lcd.clear();
lcd.setCursor(7, 0);
lcd.print("RAZ");
ledStategreen = true;
}
}
if (ledStategreen == true){
redmillis1 = 0;
redsecond1 = 0;
redminute1 = 0;
redhour1 = 0;
bluemillis1 = 0;
bluesecond1 = 0;
blueminute1 = 0;
bluehour1 = 0;
}
dernier_etat_buttonStategreen = buttonStategreen;
}
maintenant que je sais naviguer dans les menus, ça va super bien,lol
obelix21- ecrou argent
- Messages : 361
Date d'inscription : 06/05/2013
- Message n°93
Re: Checkpoint avec Arduino l'étude..
Dans le menu "Réglage de temps" ça serait bien que le R = + incremente les minutes plutot que les secondes car c'est hyper long à regler.
ou alors faire que le bouton bleu serve à regler les Minutes!
je trouve pas comment faire.
tu l'as mis à 30s, du coup je l'ai décalé à 15mn pour palier un peu le problème.
ou alors faire que le bouton bleu serve à regler les Minutes!
je trouve pas comment faire.
tu l'as mis à 30s, du coup je l'ai décalé à 15mn pour palier un peu le problème.
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°94
Re: Checkpoint avec Arduino l'étude..
tu pourrais nous dire ce que tu as changer exactement dans ton code???
mis a part le temps et les explications du début (merci pour le petit clin d’œil)
mis a part le temps et les explications du début (merci pour le petit clin d’œil)
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°95
Re: Checkpoint avec Arduino l'étude..
tiens j'ai refais le void time, maintenant quand tu appuies sur le bouton bleu les minutes augmentent.
- Code:
void time(){
if (buttonStateblue == HIGH) {
lcd.setCursor(0, 1);
lcd.print(" ");
delay (100);
minute++;
lcd.setCursor(4, 1);
if (hour <=9) {
lcd.print("0");
}
lcd.print(redhour, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minute <=9) {
lcd.print("0");
}
lcd.print(minute, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (second <=9) {
lcd.print("0");
}
lcd.print(second, DEC); // the second, sent to the screen in decimal format
if (minute >= 60) {
if (minute = 60) {
hour++;
minute = 0;
}
}
}
if (buttonStatered == HIGH) {
lcd.setCursor(0, 1);
lcd.print(" ");
static unsigned long millis = 30;
millis++;
lcd.setCursor(4, 1);
if (hour <=9) {
lcd.print("0");
}
lcd.print(redhour, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minute <=9) {
lcd.print("0");
}
lcd.print(minute, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (second <=9) {
lcd.print("0");
}
lcd.print(second, DEC); // the second, sent to the screen in decimal format
if (millis >= 30) {
if (millis = 30){
second++;
millis = 0;
}
}
if (second >= 60) {
if (second = 60) {
minute++;
second = 0;
}
}
if (minute >= 60) {
if (minute = 60) {
hour++;
minute = 0;
}
}
}
if (buttonStategreen == HIGH) {
lcd.setCursor(0, 1);
lcd.print(" ");
static unsigned long millis = 30;
millis--;
lcd.setCursor(4, 1);
if (hour <=9) {
lcd.print("0");
}
lcd.print(hour, DEC); // the hour, sent to the screen in decimal format
lcd.print(":"); // a colon between the hour and the minute
if (minute <=9) {
lcd.print("0");
}
lcd.print(minute, DEC); // the minute, sent to the screen in decimal format
lcd.print(":"); // a colon between the minute and the second
if (second <=9) {
lcd.print("0");
}
lcd.print(second, DEC); // the second, sent to the screen in decimal format
if (millis >= 0) {
if (millis = 0){
second--;
millis = 30;
}
}
if (second >= 0) {
if (second = 0) {
minute--;
second = 60;
}
}
if (minute >= 0) {
if (minute = 0) {
hour--;
minute = 60;
}
}
}
bluesecond = second;
blueminute = minute;
bluehour = hour;
redsecond = second;
redminute = minute;
redhour = hour;
greensecond = second;
greenminute = minute;
greenhour = hour;
secondRAZRED = second;
minuteRAZRED = minute;
hourRAZRED = hour;
secondRAZGREEN = second;
minuteRAZGREEN = minute;
hourRAZGREEN = hour;
secondRAZBLUE = second;
minuteRAZBLUE = minute;
hourRAZBLUE = hour;
}
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°96
Re: Checkpoint avec Arduino l'étude..
attention après avoir testé ton code, ton buzzeur doit biper en permanence non???? car moi j'ai une led branché sur la sortie 7 et elle reste constamment allumée.
droopaille- boulon platine
- Messages : 2621
Date d'inscription : 03/04/2011
Age : 49
Localisation : Vitré (35)
- Message n°97
Re: Checkpoint avec Arduino l'étude..
oué bah moi je testerai plus tard, jm'e sens pas le courage d'éplucher tout ce code
obelix21- ecrou argent
- Messages : 361
Date d'inscription : 06/05/2013
- Message n°98
Re: Checkpoint avec Arduino l'étude..
mon buzzer arduino à besoin que j'active la resistance de tirage, sinon il fonctionne à l'envers.
j'ai ajouté:
int duree_compte_rebour_mn = 15; // durée du décompte en minutes
en changeant la valeur de cette ligne j'en change 7
quelques pages au début, ça m'a bien amusé de faire défiler des pages de texte,lol
dans les pages defilantes j'en ais fait une qui annonce la durée de la partie, en tenant compte de (duree_compte_rebour_mn) ça j'en suis content je l'ai trouvé tout seul comme un grand!
un peu de traduction en français et commentaires...
Faut dire que ça fonctionne si bien qu'il y a pas grand chose à changer
et pis je débute, j'y connais pas grand chose je suis vite bloqué
j'ai ajouté:
int duree_compte_rebour_mn = 15; // durée du décompte en minutes
en changeant la valeur de cette ligne j'en change 7
quelques pages au début, ça m'a bien amusé de faire défiler des pages de texte,lol
dans les pages defilantes j'en ais fait une qui annonce la durée de la partie, en tenant compte de (duree_compte_rebour_mn) ça j'en suis content je l'ai trouvé tout seul comme un grand!
un peu de traduction en français et commentaires...
Faut dire que ça fonctionne si bien qu'il y a pas grand chose à changer
et pis je débute, j'y connais pas grand chose je suis vite bloqué
pic-pac- ecrou or
- Messages : 663
Date d'inscription : 20/06/2011
Age : 42
Localisation : Issoire (63)
- Message n°99
Re: Checkpoint avec Arduino l'étude..
tu as vu que j'ai rajouter la fonction pour les minutes??
juste comme ça, tu t'ai fais chier à changer pleins de lignes alors que tu avais juste à changer les 30 secondes ici, après je peux regarder, on doit pouvoir regrouper pour en avoir qu'une seule à changer.
juste comme ça, tu t'ai fais chier à changer pleins de lignes alors que tu avais juste à changer les 30 secondes ici, après je peux regarder, on doit pouvoir regrouper pour en avoir qu'une seule à changer.
- Code:
int redsecond=30, redminute=0, redhour=0; // declare time variables
int redmillis = 0;
int greensecond=30, greenminute=0, greenhour=0; // declare time variables
int greenmillis = 0;
int bluesecond=30, blueminute=0, bluehour=0; // declare time variables
int bluemillis = 0;
int secondRAZGREEN=30, minuteRAZGREEN=0, hourRAZGREEN=0, millisRAZGREEN= 0; // declare time variables
int secondRAZRED=30, minuteRAZRED=0, hourRAZRED=0, millisRAZRED=0;
int secondRAZBLUE=30, minuteRAZBLUE=0, hourRAZBLUE=0, millisRAZBLUE=0;
int second=30, minute=0, hour=0;
obelix21- ecrou argent
- Messages : 361
Date d'inscription : 06/05/2013
- Message n°100
Re: Checkpoint avec Arduino l'étude..
Je viens de changer le Void timer, ça tourne super!
ça va vachement mieux pour regler le temps,merciiiiiiiiiiiiiiiiiiiiiiii
ben c'est ce que j'ai fais, il n'y en a plus qu'une a changer et la valeur est annoncé dans le menu de démarrage!
ça va vachement mieux pour regler le temps,merciiiiiiiiiiiiiiiiiiiiiiii
ben c'est ce que j'ai fais, il n'y en a plus qu'une a changer et la valeur est annoncé dans le menu de démarrage!
Dernière édition par obelix21 le Lun 10 Mar - 21:05, édité 1 fois
|
|