Pages: [1]   Go Down
Author Topic: [résolu] IR parasité par lampe basse consommation  (Read 882 times)
0 Members and 1 Guest are viewing this topic.
ITTEVILLE
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 :
Code:
//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
« Last Edit: January 15, 2012, 02:03:30 pm by Jean-François » Logged

France S-O
Offline Offline
Edison Member
*
Karma: 41
Posts: 2237
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Code:
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:
1) 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.
2) 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.
Logged

ITTEVILLE
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci,
Je vais suivre tes conseils et essayer de résoudre ce problème.
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Je dois t'avouer que c'est un miracle que ton code marche lumière eteinte smiley-sweat

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.

Pour résoudre ton probléme il faut utiliser une librairie comme IRREMOTE qui va ce charger de détecter/décoder les codes IR de ta télécommande en laissant de coté les parasites smiley-wink
-> http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Biganos
Offline Offline
Sr. Member
****
Karma: 2
Posts: 362
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ?  smiley-mr-green

Changes ta lampe pour essai.

A+
chabot380
Logged

ORDINAUSORE 2Ghz AMD64 QUI S'ALLUME EN 48 SECONDES AVEC UBUNTU 12.04
ARDUINO UNO / Shield Ethernet / RTC DS1307
Programmation Python et j'apprends le C
Technicien Télé Vidéo à la retraite.

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-mr-green
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

ITTEVILLE
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci,
Je vais suivre aussi cette piste;
Logged

ITTEVILLE
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Suite à vos conseils et en fouillant vos liens sur le forum j'ai essayé celà:

La del N°13 s'allume si j'appuie sur la touche 1 de la télécommande

Code:
<IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  pinMode(13, OUTPUT);
}

void loop() {
  if (irrecv.decode(&results)) {
    if(results.value == 0xFF30CF) {
      digitalWrite(13, HIGH);
    }
    irrecv.resume(); // Receive the next value
  }
}
 



Plus de problème d'interférence !

J'essaierai cette semaine la fonction télérupteur par cette télécommande.
J'appuie , la del s'allume
J'appuie, la del s'éteint

Bonne journée.
« Last Edit: January 15, 2012, 10:43:00 am by zerko » Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

J'essaierai cette semaine la fonction télérupteur par cette télécommande.
J'appuie , la del s'allume
J'appuie, la del s'éteint
Ok tient nous au courant smiley-wink

Ps: met ton code entre balises "code" (le # dans l'éditeur) smiley-wink
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

ITTEVILLE
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Test concluant, ça fonctionne bien.
Logged

Pages: [1]   Go Up
Jump to: