Lorsque je téléverse une première fois mon programme sur mon Arduino mega aucun problème.
Le problème survient lorsque que sectionne mon courant. Au redémarrage tout le reste de l'environnement qui tourne sur l'Arduino fonctionne correctement (capteur, relais...) mais mon LCD connecté en I2C ne redémarre pas correctement.
Une suite de caractère défile je n'ai à peine le temps de les voir défilé je ne suis même pas sur que ça corresponde à quelconque alphabet.
Avec le même programme cela fonctionnait parfaitement auparavant...
J'ai tester avec le programme test "Hello Word" : même soucis !
lisez les recommandations listées dans "Les bonnes pratiques du Forum Francophone” et donnez toutes infos nécessaire (par exemple schéma exact du montage, lien vers les composants, code utilisé,...)
//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
void setup()
{
lcd.init(); // initialize the lcd
lcd.init();
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(3,0);
lcd.print("Hello, world!");
lcd.setCursor(2,1);
lcd.print("Ywrobot Arduino!");
}
void loop()
{
}
Référence abaisseur de tension :
Référence écran LCD 1602 et module I2C :
Voila mon schéma, je suis au travail je l'ai fais rapidement sur ma pause n'hésitez pas à me corriger ou à me demander quoi que ce soit !
j'ai un peu nettoyé le schéma pour qu'il soit lisible
par acquis de conscience je mettrais en étoile les GND depuis l'arduino vers tous les composants
idem la partie 5V ici on dirait que vous avez un chaînage depuis le LCD vers le module et le driver moteur
12V sur un Arduino, en pratique c'est trop. Comme vous pouvez régler la tension Vin, mettez 8V ou 9V (plus de 7V) ce sera bien suffisant et ça évite au régulateur de trop chauffer (il faut abaisser ces 12V vers 5V et plus vous allez tirer de courant plus la puissance à dissiper par le régulateur va augmenter P = UI ➜ si vous abaissez U vous abaissez P)
quand j'ai eu des soucis avec un LCD en environnement possiblement bruité (vous avez un moteur, l'alim est partagée avec le driver), bien souvent ils ont été résolu en mettant une résistance de 4.7kΩ en pullup sur SCL et SDA
Il y aurait une piste d'essais possible:
débrancher tout ce qui peut induire des fortes intensités au démarrage (je pense à des moteurs dont l'état au démarrage est inconnu : là, s'après le setup, on ne voit pas si un moteur est piloté ou pas; autant les débrancher et tester le logiciel le plus complet). Si la panne d'affichage cesse avec les moteurs débranchés, puis se reproduit avec les moteurs branchés, peut être peut on incriminer un parasitage ou -incl- une alimentation anémique ...