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