LCD KeyPad Shield For Arduino
- Daniel
- membre

- Messages : 6104
- Enregistré le : 27 sept. 2007 11:33
- Prénom : Daniel
- Localisation : Privas (Ardèche, France)
- Contact :
Re: LCD KeyPad Shield For Arduino
j'ai enfin reçu cet écran.
3 semaines depuis la Chine, mais pas de frais...
Je n'ai pas encore essayé de le tester.
Dans l'immédiat, je vais commander pour 15$ de plus la plaque de protoptypage à bornier vissant.
Je comptais utiliser une plaque standart pour les essais. Mais mieux vaut construire le mème sandwich que Christian!
3 semaines depuis la Chine, mais pas de frais...
Je n'ai pas encore essayé de le tester.
Dans l'immédiat, je vais commander pour 15$ de plus la plaque de protoptypage à bornier vissant.
Je comptais utiliser une plaque standart pour les essais. Mais mieux vaut construire le mème sandwich que Christian!
Daniel Nardin
sites: perso, microscopie , plongée Egypte et Réunion, orchidées du Doubs
matériel micro/macro/photo principal: microscopes Olympus BH, stéréomicroscope Nikon SMZ, reflex Nikon (D800 actuellement) +105macro, soufflet... , hybride Olympus EM5 mkII, compact OlympusTG-5 ...
sites: perso, microscopie , plongée Egypte et Réunion, orchidées du Doubs
matériel micro/macro/photo principal: microscopes Olympus BH, stéréomicroscope Nikon SMZ, reflex Nikon (D800 actuellement) +105macro, soufflet... , hybride Olympus EM5 mkII, compact OlympusTG-5 ...
- Christian
- Coadmin

- Messages : 4824
- Enregistré le : 28 août 2007 21:54
- Prénom : Christian
- Localisation : Entre Alpes et Jura
- Contact :
Re: LCD KeyPad Shield For Arduino
Re,
Une autre façon de parcourir les boutons pressés de ce LCD :
(for + tableau à la place de switch case)
Ce code ajoute aussi des caractères spéciaux et la valeur mesurée des résistances.
Une autre façon de parcourir les boutons pressés de ce LCD :
(for + tableau à la place de switch case)
Ce code ajoute aussi des caractères spéciaux et la valeur mesurée des résistances.
Code : Tout sélectionner
/*
Test LCD 5 boutons DFRobot
Ch.Aubert janv.2012
*/
/************* Librairie(s) à inclure ****************/
#include <LiquidCrystal.h>
/**************** Définir des caractères spéciaux LCD (8 caractères max) ********************/
byte Char_UP[8] = { // Flèche haut (tableau de 8 octets)
B00000, // définition de chaque octet au format binaire
B00000, // 1 pour pixel affiché - 0 pour pixel éteint
B00100, // les 3 bits de poids forts ne sont pas écrits car inutiles
B01110,
B11111,
B00000,
B00000,
B00000
};
//
byte Char_DOWN[8] = { // Flèche bas
B00000,
B00000,
B11111,
B01110,
B00100,
B00000,
B00000,
B00000
};
//
byte Char_RIGHT[8] = { // Flèche droite
B00000,
B00000,
B10000,
B11000,
B11100,
B11000,
B10000,
B00000
};
//
byte Char_LEFT[8] = { // Flèche gauche
B00000,
B00000,
B00001,
B00011,
B00111,
B00011,
B00001,
B00000
};
//
byte Char_SELECT[8] = { // Select
B00000,
B00000,
B01110,
B01110,
B01110,
B01110,
B00000,
B00000
};
//
byte Char_NONE[8] = { // Char.vide
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000
};
/**************** Fin caractères spéciaux LCD ********************/
/************* Définition des broches (pins) du LCD 5 boutons DFRobot ****************/
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
const int PinLCDBacklight = 10; // broche LCD Backlight
const int PinBouton = 0; // broche analogique (A0) utisé pour les 5 boutons
/************* Constantes programme ****************/
// boutons
const int btnNONE = 0;
const int btnRIGHT = 1;
const int btnLEFT = 2;
const int btnUP = 3;
const int btnDOWN = 4;
const int btnSELECT = 5;
//texte boutons
const char bt_txt[6][10] = {
"Bt.nul",
"Bt.droite",
"Bt.gauche",
"Bt.haut",
"Bt.bas",
"Bt.select" };
/************* Variables ****************/
int adc_key_in = 0;
int lcd_key = 0;
int old_lcd_key = 0;
void setup()
{
lcd.begin(16, 2); // initialiser la LCD library, 16 caractères, 2 lignes
// création car. spéciaux LCD
lcd.createChar(0, Char_NONE); // char vide pour bt.none
lcd.createChar(1, Char_RIGHT);
lcd.createChar(2, Char_LEFT);
lcd.createChar(3, Char_UP);
lcd.createChar(4, Char_DOWN);
lcd.createChar(5, Char_SELECT);
}
void loop() {
lcd_key = read_LCD_buttons(); // lire la valeur du bouton (->fonction)
for (int i=0; i<=5; i++)
{
lcd.setCursor(0,0); // placer le curseur à la première ligne, première position
lcd.print(bt_txt[lcd_key]); // txt. boutons
lcd.write(lcd_key); // no. symboles spéciaux LCD
lcd.print(" ");
lcd.print(adc_key_in); // valeur A/D résistance bouton
lcd.print(" ");
if (lcd_key > 0) old_lcd_key = lcd_key;
} //end for
// Dernier bouton utilisé
if (old_lcd_key > 0){
lcd.setCursor(0,1);
lcd.print("Dernier bt = ");
lcd.write(old_lcd_key); // car. spéciaux lcd
lcd.print(" ");
}
}
/************* Fonctions ****************/
// Lire la valeur A/D retournée selon le bouton choisi
int read_LCD_buttons()
{
adc_key_in = analogRead(PinBouton);
delay(50); // wait for debounce time
if (adc_key_in > 1000) return btnNONE; // On commence par la valeur la plus probable : Aucun appui sur bouton !
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 195) return btnUP;
if (adc_key_in < 380) return btnDOWN;
if (adc_key_in < 555) return btnLEFT;
if (adc_key_in < 790) return btnSELECT;
return btnNONE; // si aucun appui sur bouton, on retoune la constante btnNONE ...
}
Bien amicalement, Christian
Microscope : Leitz Ortholux I - Stéréomicroscope : Novex AP5 - Divers bancs macro
Photos: Nikon (D70) D90, Canon A75, MicCam Tucsen 3 mpx
Soft: Photoshop - MicroCartouche - Helicon focus -Stepduino (stacking automatisé)
Site perso (ancien) ici
Microscope : Leitz Ortholux I - Stéréomicroscope : Novex AP5 - Divers bancs macro
Photos: Nikon (D70) D90, Canon A75, MicCam Tucsen 3 mpx
Soft: Photoshop - MicroCartouche - Helicon focus -Stepduino (stacking automatisé)
Site perso (ancien) ici
- Fredlab
- membre

- Messages : 9607
- Enregistré le : 27 juin 2010 14:42
- Prénom : Frederic
- Localisation : Auxonne (21)
- Contact :
Re: LCD KeyPad Shield For Arduino
Hello
En ayant l'intention ce matin d'avancer dans le projet, je me suis attelé à l'assemblage de ma plaque de prototypage... mais j'ai du faire une erreur dans la commande
En fait, je n'ai qu'une "proto shield", exactement à la même dimension que l'Arduino donc il m'est impossible d'ajouter les quelques borniers que j'avais aussi commandés et donc je pense que je vais avoir quelques soucis de gestions d'entrées/sorties et d'empilage avec le LCD shield tout en laissant libre des ports...
bref...
"time is on my side"
On motorisera plus tard
(je vais préparer une commande chez Conrad pour finir l'assemblage du stepduino -> branchements divers entre le boitier et les divers éléments extérieurs)
En ayant l'intention ce matin d'avancer dans le projet, je me suis attelé à l'assemblage de ma plaque de prototypage... mais j'ai du faire une erreur dans la commande
En fait, je n'ai qu'une "proto shield", exactement à la même dimension que l'Arduino donc il m'est impossible d'ajouter les quelques borniers que j'avais aussi commandés et donc je pense que je vais avoir quelques soucis de gestions d'entrées/sorties et d'empilage avec le LCD shield tout en laissant libre des ports...
bref...
... retour à la case départ... j'ai commandé un screw shield en Chine - un temps de latence en plus.Fredlab a écrit :Si on ne veut pas se casser la nenette, on achète celui-là ?
Enfin, je pense quand même utiliser les pièces qui sont déjà là.
"time is on my side"
On motorisera plus tard
(je vais préparer une commande chez Conrad pour finir l'assemblage du stepduino -> branchements divers entre le boitier et les divers éléments extérieurs)
La planète peut pourvoir aux besoins de tous, mais non pas satisfaire la cupidité de certains (Gandhi)
- Daniel
- membre

- Messages : 6104
- Enregistré le : 27 sept. 2007 11:33
- Prénom : Daniel
- Localisation : Privas (Ardèche, France)
- Contact :
Re: LCD KeyPad Shield For Arduino
Bonsoir,
finalement, j'ai reçu la plaque intermédiaire il y a 2 semaines mais je n'ai pas eu le temps de tester plus tot. Je profite des vacances de février pour m'y remettre.
Après solidarisation de l'écran au dessus de la plaque, le programme test des boutons de l'écran tourne sans problème.
Pour la suite, je vais rebrancher, encore sur la plaque de test, mais en passant par les bornes à vis, la carte de puissance et l'optocoupleur pour faire une série d'images en déclenchant après un pas du moteur.
Est ce que Christian a associé les bouts de programmes dans un programme test bouclant sur: avance d'un pas, déclenchement à chaque appui sur le bouton right par exemple?
finalement, j'ai reçu la plaque intermédiaire il y a 2 semaines mais je n'ai pas eu le temps de tester plus tot. Je profite des vacances de février pour m'y remettre.
Après solidarisation de l'écran au dessus de la plaque, le programme test des boutons de l'écran tourne sans problème.
Pour la suite, je vais rebrancher, encore sur la plaque de test, mais en passant par les bornes à vis, la carte de puissance et l'optocoupleur pour faire une série d'images en déclenchant après un pas du moteur.
Est ce que Christian a associé les bouts de programmes dans un programme test bouclant sur: avance d'un pas, déclenchement à chaque appui sur le bouton right par exemple?
Daniel Nardin
sites: perso, microscopie , plongée Egypte et Réunion, orchidées du Doubs
matériel micro/macro/photo principal: microscopes Olympus BH, stéréomicroscope Nikon SMZ, reflex Nikon (D800 actuellement) +105macro, soufflet... , hybride Olympus EM5 mkII, compact OlympusTG-5 ...
sites: perso, microscopie , plongée Egypte et Réunion, orchidées du Doubs
matériel micro/macro/photo principal: microscopes Olympus BH, stéréomicroscope Nikon SMZ, reflex Nikon (D800 actuellement) +105macro, soufflet... , hybride Olympus EM5 mkII, compact OlympusTG-5 ...
- Christian
- Coadmin

- Messages : 4824
- Enregistré le : 28 août 2007 21:54
- Prénom : Christian
- Localisation : Entre Alpes et Jura
- Contact :
Re: LCD KeyPad Shield For Arduino
Salut Daniel,
C'est vraiment très basique comparé à la version sur laquelle je travail actuellement, mais ça permet de tester déjà passablement de choses.
Vite fait, voir le sujet Stepduino proto et le petit code ici > http://www.lenaturaliste.net/forum/view ... 454#p52816Est ce que Christian a associé les bouts de programmes dans un programme test bouclant sur: avance d'un pas, déclenchement à chaque appui sur le bouton right par exemple?
C'est vraiment très basique comparé à la version sur laquelle je travail actuellement, mais ça permet de tester déjà passablement de choses.
Bien amicalement, Christian
Microscope : Leitz Ortholux I - Stéréomicroscope : Novex AP5 - Divers bancs macro
Photos: Nikon (D70) D90, Canon A75, MicCam Tucsen 3 mpx
Soft: Photoshop - MicroCartouche - Helicon focus -Stepduino (stacking automatisé)
Site perso (ancien) ici
Microscope : Leitz Ortholux I - Stéréomicroscope : Novex AP5 - Divers bancs macro
Photos: Nikon (D70) D90, Canon A75, MicCam Tucsen 3 mpx
Soft: Photoshop - MicroCartouche - Helicon focus -Stepduino (stacking automatisé)
Site perso (ancien) ici
Re: LCD KeyPad Shield For Arduino
bonjour les arduinistes,je suis philippe et je suis nouveau sur ce forum.
je me suis fourni en matériel ARDUINO la semaine dernière dans le but de me fabriquer un stepduino et je voudrai aussi mais plus tard me monter un photoduino.j'ai du boulo!!
j'ai tout d'abord opté pour : une uno R3 , un shield lcd keypad de la marque dfrobot,d'un moteur pas à pas avec contrôleur 1650v au départ pour faire simple
partout il est dis "pas besoin d'être informaticien pour jouer à arduino" heuuu
quand même!
il semblerai qu'il y ait quelques pointures ici, alors je pense que certain d'entre vous ont déjà réalisés ce genre de montage et qu'il existe des sketchs pour faire fonctionner mon matos.
A VOTRE BON CŒUR

je me suis fourni en matériel ARDUINO la semaine dernière dans le but de me fabriquer un stepduino et je voudrai aussi mais plus tard me monter un photoduino.j'ai du boulo!!
j'ai tout d'abord opté pour : une uno R3 , un shield lcd keypad de la marque dfrobot,d'un moteur pas à pas avec contrôleur 1650v au départ pour faire simple
partout il est dis "pas besoin d'être informaticien pour jouer à arduino" heuuu
il semblerai qu'il y ait quelques pointures ici, alors je pense que certain d'entre vous ont déjà réalisés ce genre de montage et qu'il existe des sketchs pour faire fonctionner mon matos.
A VOTRE BON CŒUR

