Ecran 1602A qui affiche n'importe quoi, quand relais 220v ,5v est piloté.

Salut,

je suis en cour de réalisation d'un projet qui utilise le DHT11 pour piloter un extracteur d'air en 220 avec un relais. Avec un afficheur lcd 1602a qui indique la temp et l'humidité , deux led, une verte une rouge, et deux conditions (une de température, une d'humidité) pour piloter l'extracteur.

Mon souci, est que lorsque le relais est piloté, l'afficheur lcd affiche n'importe quoi voir plus rien. Je pensais en premier lieu à un manque de puissance pour alimenter tout ça. J'ai alors utilisé un transfo 220v -> 5v pour alimenter le relais qui pilote l'alimentation 220v de l'extracteur. Cela afin de soulager la carte Mega.
Essai non concluant. Afficheur toujours avec le même problème. Dès l'allumage aucun souci, et si une condition est remplie, le pilotage fait afficher n'importe quoi.

Ma question, est il possible que, comme je n'utilise aucune sortie analogique , celles ci, ( comme j'ai pu le lire sur le forum) se comportent comme des antennes , et que à cause de la haute impédance, crèent des perturbations ?
dans ce cas, que me conseillez vous ?
J'ai à votre disposition le code, et des photos...
Merci beaucoup pour votre aide.

/* Jean-marc

  • CAPTEUR T° ET HUMIDITE DHT11 + AFFICHAGE SUR ECRAN LCD
  • AVEC LED ALARME HUMIDITE
    */

#include <SimpleDHT.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int pinDHT11 = 8;
SimpleDHT11 dht11;

void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(7, OUTPUT); /led/
pinMode(6, OUTPUT); /led/
pinMode(9, OUTPUT); /relais/
analogWrite(6, LOW); /led/
analogWrite(7, LOW); /led/
}

void loop()
{
byte temperature ;
byte humidity ;
lcd.clear();
lcd.setCursor(0, 0);
int err = SimpleDHTErrSuccess;
if ((err = dht11.read(pinDHT11, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess)
{
Serial.print("Read DHT11 failed, err="); Serial.println(err);delay(1000);
return;
}
Serial.print("Lecture OK: ");
Serial.print(" TEMPERATURE "); Serial.print((int)temperature); Serial.print(" °C, ");
Serial.print(" HUMIDITE "); Serial.print((int)humidity); Serial.println(" %, ");
if (( temperature > 25 ) || ( humidity > 65 ))
{
analogWrite(6, 100);
analogWrite(7, LOW);
digitalWrite(9, HIGH);
lcd.setCursor(0, 0);
lcd.clear();
lcd.print((int)temperature);
lcd.print(" c TEMP ");
lcd.setCursor(0, 1);
lcd.print((int)humidity);
lcd.print(" % HUMIDITE ");
}
else
{
analogWrite(6, LOW);
analogWrite(7, 100);
digitalWrite(9, LOW);
lcd.setCursor(0, 0);
lcd.clear();
lcd.print((int)temperature);
lcd.print(" c TEMP ");
lcd.setCursor(0, 1);
lcd.print((int)humidity);
lcd.print(" % HUMIDITE ");
}

delay(2000);
}

20180825_092948[5493]ret.jpg

20180825_093036[5494]ret.jpg

20180825_093054[5495]ret.jpg

Bonjour,
Le code entre balises codes svp.
Surtout lire les messages épinglés.

Oubliez le code svp. Je repose ma question, car je ne pense pas, qu'un bout de code entre balise ou pas, empêche de repondre à ma question. L'avez vous lue Icare ?

Ma question, est il possible que, comme je n'utilise aucune sortie analogique , celles ci, ( comme j'ai pu le lire sur le forum) se comportent comme des antennes , et que à cause de la haute impédance, crèent des perturbations ?
dans ce cas, que me conseillez vous ?

Merci pour votre reponse.

alfone:
Oubliez le code svp. Je repose ma question, car je ne pense pas, qu'un bout de code entre balise ou pas, empêche de repondre à ma question.

Bonjour
Principe de base ici pour esperer avoir des reponses :
déjà respecter les bases
Icare tout comme moi , et surement d'autres avons lu la question 8)

Rhoo le melon

Mort de rire. Pour espérer une reponse qu'il dit...
Bravo le forum d'entraide. Je vous laisse faire mumuse à jouer les admin avec votre joujou. Ma reponse, je la trouverais ailleurs...

Je la trouverai sûrement par des personnes qui ont la réponse, et qui s'ils ne l'avaient pas ne serviraient pas des excuses ridicules comme celle d'apprendre des regles d'un soit disant forum d'entraide. Regles de forum plus compliquées que le sujet qu'elles sont en charge de traiter.
D'ailleurs, le code que j'ai posté, s'il necessite d'avoir des balises pour vous être compréhensible, demontre que je ne trouverai pas de reponses auprès de vous...

Ou alors, c'est bien un forum d'entraide, mais inversé. Il faut vous apporter avec la question, la solution, afin que l'on puisse , je cite, " espérer une reponse" ... :-D. Allez cette fois je file... Amusez vous bien..

Re,
On ne va polémiquer sur le sujet.
Va voir sur les autres forums si cela te fait plaisir, mais attention certains forums (surtout anglo-saxons) sont encore plus exigeant que celui ci.
Bon courage pour ton petit soucis pas trop compliqué.

La plus sage des décisions : poubelle.