Exercice 7
Bonjour, voila mon travail en ce qui concerne l'ex 7 . Vous pouvez voir ci-dessous mon programme ainsi que les photos de la simulation.
Voici la code :
#include <LiquidCrystal.h>
#include <Keypad.h>
const int rs = 9, en = 8, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); //indique les pins du LCD
const byte ROWS = 4; // 4 lignes
const byte COLS = 3; // 3 colones
char key;
int analogBP = 1023;
char keys[ROWS][COLS] = { //touches du keypad
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {A1, A2, A3, A4}; //détaille les pins des lignes
byte colPins[COLS] = {10, 11, 12}; //détaille les pins des colones
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); //déclartation d'un objet kpd de la bibliothèque Keypad
void setup() {
/* initialisation du LCD */
lcd.begin(16,4);
lcd.setCursor(0,0);lcd.print("Wysocki Benjamin");
}
void loop() {
/* récupérateur de touche */
if (kpd.getKeys()){
for (int i=0; i<LIST_MAX; i++){
if ( kpd.key[i].stateChanged ){
lcd.setCursor(0,2);lcd.print(String("")+"Keypad "+kpd.key[i].kchar+" ");
}
}
}
/* fin récupérateur de touche */
/* récupérateur de touche analogique */
analogBP = analogRead(A0);
if (0 <= analogBP && analogBP < 130){
lcd.setCursor(0,1);
lcd.print("BP_RIGHT ");
}else if (131 < analogBP && analogBP < 152){
lcd.setCursor(0,1);
lcd.print("BP_UP ");
}else if (314 < analogBP && analogBP < 346){
lcd.setCursor(0,1);
lcd.print("BP_DOWN ");
}else if (481 < analogBP && analogBP < 531){
lcd.setCursor(0,1);
lcd.print("BP_LEFT ");
}else if (704 < analogBP && analogBP < 778){
lcd.setCursor(0,1);
lcd.print("BP_SELECT ");
}else if (809 < analogBP && analogBP < 895){
lcd.setCursor(0,1);
lcd.print("BP_EFFACE ");
}else if (972 < analogBP && analogBP <= 1023){
lcd.setCursor(0,1);
lcd.print("NOTHING ");
}
/* fin récupérateur de touche analogique */
}
Et voila les photos :