Bonjour,
Je commence à m'initier à Arduino.
J'ai fait plusieurs essais basiques en suivant les tutos éxistants.
J'ai une carte Arduino Uno V2, un module relais un récepteur et une télécommande infrarouge.
Je veux tout simplement allumer et éteindre un spot avec la télécommande.J'ai utilisé ce script :
//allumage et arret d une lumiere avec telecommande quelle que soit la touche
//Led sur 9 et IR sur A0 ( 3.3V)
int rel = 9;
int analogPin = 0;
int val =0;
void setup()
{
pinMode(9, OUTPUT);
Serial.begin(9600);
digitalWrite (rel,HIGH);
}
void loop()
{
val = analogRead(analogPin);
Serial.println(analogRead(A0));
if (val == 0 && digitalRead(9) == HIGH)
{
digitalWrite(9, LOW);
delay(250);
}
val = analogRead(analogPin);
if (val == 0 && digitalRead(9) == LOW)
{
digitalWrite(9, HIGH);
delay(250);
}
}
Tout va bien jusqu'à ce que j'allume la lumière basse consommation du fond de la même pièce, ça clignote en permanence.
Voyez-vous une solution pour enlever ce parasitage ?
Merci et bonne fin de journée
Edit de Jean-François : merci de mettre le code entre les balises
Relis bien ton script :
Tu utilises les pin A0 et 9 mais aussi la pin 0 (Rx) et ça je pense à une erreur d'inattention.
int analogPin = 0;
Il y a aussi un seul pinmode pour deux pins utilisées, par défaut après un reset les pins sont toutes dans le même état (lequel je ne sais plus) mais par principe même si l'état par défaut convient il est préférable de fixer l'état de chaque pin par programmation.
Pour les parasites saches qu'une lampe basse consommation c'est un néon et un néon fonctionne avec une tension bien supérieure à 220V : dans le culot il y a un convertisseur de tension qui est la source de tes parasites.
Pour en minimiser son pouvoir de nuisance deux actions simples:
Ne jamais laisser une entrée flottante il faut soit une résistance de tirage à la masse soit au Vcc (des anglophones diraient pull-down et pull-up). Pour une pin configurée en entrée ecrire un "digitalWrite(pin, HIGH)" a pour propriété de mettre en circuit une résistance de tirage au Vcc dont la valeur fait 50 kOhms +/-20%. Voir Le Guide Arduino épinglé en tête du forum.
Faire un câblage propre, éviter les longueurs de fils de liaisons inutiles ce sera autant d'antennes en moins.
Si la résistance de tirage et un câblage propre ne suffisent pas utiliser des fils blindés en reliant le blindage à la masse en 1 seul point coté arduino , en remplacement du fil blindé tu peux utiliser deux fils tordadés et tu en relies un à la masse comme pour le blindage.
Je dois t'avouer que c'est un miracle que ton code marche lumière eteinte
En faite c'est le principe même de ton code qui pose probléme, tu ne détecte pas un code IR mais uniquement une activé sur le capteurs IR, donc il est normale que tu capte les parasites de la lampe basse conso puisse que celle ci émet des IR.
salut
les lampes basse consommation n'émettent pas des IR mais un peu de rayon ultraviolet !
Elles émettent de fréquences diverses avec toutes leurs harmoniques !!!
Tu n'as pas une lampe basse consommation made in china ?
chabot380:
les lampes basse consommation n'émettent pas des IR mais un peu de rayon ultraviolet !
Elles émettent de fréquences diverses avec toutes leurs harmoniques !!!
Ouai, enfin les lampes basse conso font quand même bien bugger les trucs contrôle en IR