Bonjour je désespère de trouver un code démo de clavier 4x4 souple avec un module tout fait chinois ici .
J'ai trouvé pas mal de vidéo et site perso mais sur base du PCF8574 seul. Ou alors je trouve des démos sur des sites asiatiques mais alors là j'ai des problèmes de librairies qui ne conviennent pas ou de code inadapté à mon matériel.
Y a t-il quelqu'un qui pourrait me transmettre un code minimal avec éventuellement des librairies qui fonctionne pour faire des essais svp. je suis sur arduino UNO et souhaite réaliser un boitier avec LCD et clavier 4x4 en I2C. le LCD fonctionne déjà en I2C il est équipé de I2C d'origine.
Déjà quand je fais une recherche en suivant le code de votre lien pour obtenir la bibliothèque ça ne fonctionne pas.
via croquis "inclure bibliothèque" je ne trouve rien pour i2ckeypad.h ?
Un autre site ou tout fonctionne peut-être?
J'ai téléchargé les librairies suivant votre lien puis à l'usage le code de votre lien est plein d'erreur. Je souhaite un code de base et des librairies opérationnelles qui fonctionnent pour apprendre et démarrer mon projet. Malheureusement rien ne fonctionne actuellement.
On ne peut pas le faire pour toi et il semble que tu ne trouveras rien de tout cuit sur le net. Poste le code que tu as choisi pour l'instant (entre balises CODE, la touche </> : au besoin lis les messages épinglés en haut du forum), en expliquant le plus précisément possible les problèmes que tu rencontres, et on pourra t'aider à adapter ce code à ton besoin et à le faire fonctionner. C'est comme ça que tu apprendras...
"Le plus précisément possible" veut dire : précise bien ton besoin, la différence entre ce que tu as et ce que tu veux, si ça ne compile pas poste l'ensemble des messages du compilo (entre balises CODE aussi pour une meilleure lisibilité), précise le type de carte que tu utilises, les capteurs ou modules éventuels, l'alimentation si ce n'est pas via le port USB du PC, tout ce que tu jugeras utile (plus on aura de détails, plus facilement on pourra t'aider, sans avoir à te poser des questions qui feront perdre du temps).
En fait j'ai presque terminé un système d'alarme avec arduino MEGA 4 catpteurs PIR, un contact de porte, un module GSM sim900. tout fonctionne correctement avec un seul clavier et un seul LCD 2x16 lui déjà en I2C. Le problème est que si je garde mon raccordement 8 fils pour le clavier+4 fils pour I2C du LCD+1 fil pour led verte+ 1fil pour led rouge+1 fil pour buzzer= 15 fils en tout alors que je souhaite ne pas passer à + de 8flis (câble RJ45). Donc avec clavier et keypad en I2C ce n'est que 4 fils+3 fils pour 2 leds et 1 buzzer c'est parfait.
Voici comme demandé le code que j'ai téléchargé
/* @file HelloKeypad.pde
Revised to use I2C i/o Feb 26/12 - G. D. Young
Re-check with Keypad 3.0, arduino 1.0.1 Jul 29/12
Add port-type parameter to constructor for Paul
Williamson's modification of the Keypad_I2C library Sept 2/13
|| @version 1.0
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
||
|| @description
|| | Demonstrates the simplest use of the matrix Keypad library.
|| #
*/
#include <Keypad_I2C.h>
#include <Keypad.h>
#include <Wire.h>
#define I2CADDR 0x22
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
// Digitran keypad, bit numbers of PCF8574 i/o port
byte rowPins[ROWS] = {0, 1, 2, 3}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {4, 5, 6}; //connect to the column pinouts of the keypad
Keypad_I2C kpd( makeKeymap(keys), rowPins, colPins, ROWS, COLS, I2CADDR, PCF8574 );
void setup(){
Wire.begin( );
kpd.begin( makeKeymap(keys) );
Serial.begin(9600);
Serial.println( "start" );
}
void loop(){
char key = kpd.getKey();
if (key){
Serial.println(key);
}
}
et j'ai l'erreur "'PCF8574' was not declared in this scope"
sur cette ligne :"Keypad_I2C kpd( makeKeymap(keys), rowPins, colPins, ROWS, COLS, I2CADDR, PCF8574 );"
Désolé mais je ne comprends pas la solution que vous proposez pour résoudre mon problème. Pourriez-vous détailler svp. Je suis un débutant Arduino à la retraite ;o et oui sur le tard...
Merci
Oui merci ça j'avais compris (4x4) mais mon problème d'erreur 'PCF8574' was not declared in this scope je ne vois comment le résoudre? Pcq j'ai supprimé PCF8574 comme vous l'aviez précisé et maintenant voici toutes les erreurs:
keypad_I2C_test:31: error: no matching function for call to 'Keypad_I2C::Keypad_I2C(char*, byte [4], byte [3], const byte&, const byte&, int)'
Keypad_I2C kpd( makeKeymap(keys), rowPins, colPins, ROWS, COLS, I2CADDR );
D:\Doc_didier\documents_didier\Arduino\keypad_I2C_test\keypad_I2C_test.ino:31:73: note: candidates are: ............
Comment résoudre ce problème?
Merci pour votre aide.
didiersee:
Oui merci ça j'avais compris mais mon problème d'erreur 'PCF8574' was not declared in this scope je ne vois comment le résoudre or sans ça je ne sais pas aller plus loin?
Je n'ai pas du être assez clair dans mon message #8
Il suffit de supprimer le dernier argument, comme ceci :
Bonjour je dois reprendre depuis le début. Voici la librairie téléchargée arduino_keypads-master.zip ici je l'ai dézippé et placer le dossier C:\Program Files (x86)\Arduino\libraries\arduino_keypads-master et déjà là ça ne va pas pcq quand je démarre le logiciel arduino officiel je ne vois pas les exemples de programmes comme EventKeypad_I2C.ino par exemple alors que quand je vais voir le dossier il est bien là??
Comment faire svp?
didiersee:
Bonjour je dois reprendre depuis le début. Voici la librairie téléchargée arduino_keypads-master.zip ici je l'ai dézippé et placer le dossier C:\Program Files (x86)\Arduino\libraries\arduino_keypads-master et déjà là ça ne va pas pcq quand je démarre le logiciel arduino officiel je ne vois pas les exemples de programmes comme EventKeypad_I2C.ino par exemple alors que quand je vais voir le dossier il est bien là??
Comment faire svp?
Bonjour,
ce sont les répertoires qui sont contenus dans arduino_keypads-master qui doivent aller directement dans le répertoire libraries.
tu dézippes dans un répertoire qui s'appelle par défaut "keypads-master"
il faut renommer ton repertoire "keypads-master" en "keypads"
( supprimer le tiret master)
puis recopier ce répertoire dans le répertoire "librairie" de l'ide arduino