parent
2ec487248d
commit
ade1429649
@ -1,3 +1,151 @@
|
|||||||
#!/bin/bash
|
#include "TFT_eSPI.h"
|
||||||
|
|
||||||
open https://opale.iut.uca.fr/info/wiki/doku.php?id=archi:archi
|
int X_MAX = 320;
|
||||||
|
int Y_MAX = 240;
|
||||||
|
TFT_eSPI tft;
|
||||||
|
int visit_total = 0; // Initialize visit_total to 0
|
||||||
|
int affluence = 0; // Initialize affluence to 0
|
||||||
|
int ancien_visit_total = 0;
|
||||||
|
int ancien_affluence = 0;
|
||||||
|
int y = Y_MAX/5;
|
||||||
|
|
||||||
|
unsigned long myTimeInSec;
|
||||||
|
unsigned long myTimeInMin;
|
||||||
|
unsigned long hour;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
tft.begin();
|
||||||
|
tft.setRotation(3); // Set the screen orientation
|
||||||
|
tft.fillScreen(TFT_GREEN); // Green background
|
||||||
|
pinMode(WIO_KEY_A, INPUT_PULLUP);
|
||||||
|
pinMode(WIO_KEY_B, INPUT_PULLUP);
|
||||||
|
pinMode(WIO_KEY_C, INPUT_PULLUP);
|
||||||
|
pinMode(WIO_5S_PRESS, INPUT_PULLUP);
|
||||||
|
affiche();
|
||||||
|
affBandeauBleu();
|
||||||
|
affHeure();
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
visiteur();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void affBandeauBleu() {
|
||||||
|
tft.fillRect(0, 0, X_MAX, y, TFT_BLUE);
|
||||||
|
tft.drawChar(10, 10, '+', TFT_BLACK, TFT_BLUE, 3);
|
||||||
|
tft.drawChar(80, 10, '-', TFT_BLACK, TFT_BLUE, 3);
|
||||||
|
tft.setTextColor(TFT_BLACK);
|
||||||
|
tft.setTextSize(3);
|
||||||
|
tft.drawString("RAZ", 155, 10);
|
||||||
|
tft.drawChar(275, 10, ':', TFT_BLACK, TFT_BLUE, 3);
|
||||||
|
//sprintf(&s,"%d + %d = %d", a, b, c);
|
||||||
|
}
|
||||||
|
|
||||||
|
void affHeure() {
|
||||||
|
//tft.setTextColor(TFT_BLUE);
|
||||||
|
//tft.drawNumber(hour, 240, 10);
|
||||||
|
//tft.drawNumber(myTimeInMin, 285, 10);
|
||||||
|
|
||||||
|
myTimeInSec = millis()/1000;
|
||||||
|
myTimeInMin = myTimeInSec%60;
|
||||||
|
hour = myTimeInMin%60+12;
|
||||||
|
|
||||||
|
tft.setTextColor(TFT_BLACK);
|
||||||
|
tft.drawNumber(hour, 240, 10);
|
||||||
|
tft.drawNumber(myTimeInMin, 285, 10);
|
||||||
|
delay(1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
void visiteur() {
|
||||||
|
int etat = 0;
|
||||||
|
if (digitalRead(WIO_KEY_B) == LOW) {
|
||||||
|
ancien_affluence = affluence;
|
||||||
|
affluence = affluence -1; // Decrease affluence
|
||||||
|
if(affluence < 0){
|
||||||
|
Serial.println("impossible d'être négatif !");
|
||||||
|
affluence = 0;
|
||||||
|
}
|
||||||
|
efface();
|
||||||
|
affiche();
|
||||||
|
Serial.print("visit_total = ");
|
||||||
|
Serial.println(visit_total);
|
||||||
|
Serial.print("affluence = ");
|
||||||
|
Serial.println(affluence);
|
||||||
|
} else if (digitalRead(WIO_KEY_C) == LOW) {
|
||||||
|
ancien();
|
||||||
|
affluence = affluence +1; // Increase affluence
|
||||||
|
visit_total = visit_total +1; // Increment visit_total
|
||||||
|
if(affluence > 10){
|
||||||
|
Serial.println("attention l'affluence à dépassé 10 !");
|
||||||
|
}
|
||||||
|
efface();
|
||||||
|
affiche();
|
||||||
|
Serial.print("visit_total = ");
|
||||||
|
Serial.println(visit_total);
|
||||||
|
Serial.print("affluence = ");
|
||||||
|
Serial.println(affluence);
|
||||||
|
} else if (digitalRead(WIO_KEY_A) == LOW) {
|
||||||
|
tft.setTextColor(TFT_BLACK);
|
||||||
|
tft.setTextSize(3);
|
||||||
|
tft.drawString("Confirmez ?", 110, 200);
|
||||||
|
etat = compteur();
|
||||||
|
if(etat == 1){
|
||||||
|
ancien();
|
||||||
|
visit_total = 0;
|
||||||
|
affluence = 0;
|
||||||
|
etat = 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
tft.setTextColor(TFT_GREEN);
|
||||||
|
tft.setTextSize(3);
|
||||||
|
tft.drawString("Confirmez ?", 110, 200);
|
||||||
|
efface();
|
||||||
|
affiche();
|
||||||
|
Serial.print("visit_total = ");
|
||||||
|
Serial.println(visit_total);
|
||||||
|
Serial.print("affluence = ");
|
||||||
|
Serial.println(affluence);
|
||||||
|
}
|
||||||
|
delay(200);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ancien(){
|
||||||
|
ancien_visit_total = visit_total;
|
||||||
|
ancien_affluence = affluence;
|
||||||
|
}
|
||||||
|
void efface(){
|
||||||
|
tft.setTextColor(TFT_GREEN);
|
||||||
|
tft.setTextSize(3);
|
||||||
|
tft.drawString("visit_total", 10, 100);
|
||||||
|
tft.drawNumber(ancien_visit_total, 250, 100);
|
||||||
|
tft.drawString("affluence", 10, 150);
|
||||||
|
tft.drawNumber(ancien_affluence, 250, 150);
|
||||||
|
}
|
||||||
|
|
||||||
|
void affiche(){
|
||||||
|
tft.setTextColor(TFT_BLACK);
|
||||||
|
tft.setTextSize(3);
|
||||||
|
tft.drawString("visit_total", 10, 100);
|
||||||
|
tft.drawNumber(visit_total, 250, 100);
|
||||||
|
tft.drawString("affluence", 10, 150);
|
||||||
|
tft.drawNumber(affluence, 250, 150);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int compteur(){
|
||||||
|
int i = 5;
|
||||||
|
while( i > 0){
|
||||||
|
delay(1000);
|
||||||
|
Serial.println(i);
|
||||||
|
i--;
|
||||||
|
if(digitalRead(WIO_5S_PRESS) == LOW){
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in new issue