Exacte, c'était une de mes questions, on trouve plus facilement des quartz 9.8304Mhz plutôt que des 9.830Mhz. Vu qu'il y a un condensateur variable je me dis que ça ne pause pas trop de problème ?
Bienvenue au Forum de discussion Électro-Bidouilleur! Inscrivez-vous pour participer aux discussions!:
https://forum.bidouilleur.ca/index.php?action=signup Les demandes d'inscription sont révisées quotidiennement.
Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.
Voir les contributions Menu

lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("Point ");
lcd.print(point);
#include <Adafruit_MCP23X17.h>
#include <LiquidCrystal.h>
Adafruit_MCP23X17 mcp1;
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// set up the MCP
mcp1.begin_I2C(0x20); // Utiliser l'adresse par défaut 0x20
activationEntreeMcp1();
}
void loop() {
if (!mcp1.digitalRead(0)){
affichagelcd("A");
}
if (!mcp1.digitalRead(1)){
affichagelcd("B");
}
if (!mcp1.digitalRead(2)){
affichagelcd("C");
}
if (!mcp1.digitalRead(3)){
affichagelcd("D");
}
if (!mcp1.digitalRead(4)){
affichagelcd("E");
}
if (!mcp1.digitalRead(5)){
affichagelcd("F");
}
if (!mcp1.digitalRead(6)){
affichagelcd("G");
}
if (!mcp1.digitalRead(7)){
affichagelcd("H");
}
if (!mcp1.digitalRead(8)){
affichagelcd("J");
}
if (!mcp1.digitalRead(9)){
affichagelcd("K");
}
if (!mcp1.digitalRead(10)){
affichagelcd("L");
}
if (!mcp1.digitalRead(11)){
affichagelcd("M");
}
if (!mcp1.digitalRead(12)){
affichagelcd("N");
}
if (!mcp1.digitalRead(13)){
affichagelcd("P");
}
if (!mcp1.digitalRead(14)){
affichagelcd("R");
}
if (!mcp1.digitalRead(15)){
affichagelcd("S");
}
}
void activationEntreeMcp1() {
for (int entree=0; entree <=15; entree++){
mcp1.pinMode(entree, INPUT_PULLUP);
}
}
char affichagelcd(const char* point){
lcd.setCursor(0, 1);
lcd.print("Point ");
lcd.print(point);
delay(1000);
lcd.setCursor(0, 1);
lcd.print(" ");
}
Citation de: philchamp51 le Décembre 10, 2023, 01:24:19 AMAyant déjà un arduino uno et aussi quelques atmega328 je n'ai pas du-tout envisagé d'utiliser un Mega 2560. C'est pour ça qu'avec le manque d'entrée, j'avais envisagé l'utilisation du pont diviseur.
Bonjour.
Pourquoi veux-tu fonctionner avec des ponts diviseurs de tension ? Cela complique les choses. Si tu as besoin de beaucoup de connexions, tu devrais prendre un Arduino Mega 2560 qui possède 54 entrées/sorties et un afficheur LCD 1602. Avec un programme simple, cela qui t'indiquera sur quelle pin tu es de l'autre côté du câble.

