Bonjour, je suis en terminale STI2D sin et mon groupe et moi bloquons sur notre mini-projet.
Nous devons afficher des chiffres de 0 à 9 sur un écran color LCD Shield à l'aide d'un bouton poussoir et d'une led, je m'explique :
Si l'on reste appuyé 3s sur le bouton, la led aura clignoté 3 fois (donc clignotement toutes les 500ms) et le programme comprendra qu'il doit afficher le nombre 3 sur l'écran LCD.
On ne sait pas du tout comment s'y prendre mais on a quand même essayé de faire ce qu'on pouvait avec cet écran...
On a réussi à faire un programme qui affiche le chiffre "1" en permanence et lorsqu'on appuie sur le bouton poussoir le chiffre "2" apparaît et ré-affiche "1" lorsqu'on relâche le bouton. On a aussi essayé d'allumer une led en même temps que le chiffre "2" (donc quand on appuis sur le bouton) mais sans succès...
Voila le programme :
#include "ColorLCDShield.h"
LCDShield lcd;
int button = 3; // S1 = 3, S2 = 4, S3 = 5
int led = 13;
void setup()
{
// following two required for LCD
lcd.init(PHILIPS);
lcd.contrast(63); // sets LCD contrast (value between 0~63)
}
void loop()
{
if (digitalRead (button)== 1 )
{
digitalWrite (led, LOW);
lcd.setStr("1", 55,60, WHITE, BLACK);
}
else {
digitalWrite (led, HIGH);
lcd.setStr("2", 55,60, WHITE, BLACK);
}
}
Voilà la fiche technique de l'afficheur : https://www.sparkfun.com/datasheets/DevTools/Arduino/Color-LCD-Shield-v12.pdf
On pensait à un truc du genre :
for (int i=0; i < 10; i++)
{
if (digitalRead (button)== 1 )
{
digitalWrite (led, LOW); // allume la led
lcd.setStr("i", 55,60, WHITE, BLACK); // affiche la valeur de i sur l'écran
}
}
Voilà j'espère que vous avez pu comprendre ce qu'on a essayé de faire haha !
Merci d'avance de l'aide que vous pourrez nous apporter, bonne journée/soirée !