Hackage de guirlande

Bonjour à tous !

Ma petite soeur m'a confié une mission. Bidouiller sa guirlande de LEDs afin qu'elle soit allumable à distance avec une télécommande.

Je pensais que ce serait extrêmement facile or je suis honteusement bloqué...
J'ai ce code qui marche parfaitement car je l'ai testé avec une led et ça marche.

#include <IRremote.h> // Bibiliotheque pour l'infrarouge

const char DIN_RECEPTEUR_INFRAROUGE = 3; // pin du recepteur infrarouge

IRrecv monRecepteurInfraRouge (DIN_RECEPTEUR_INFRAROUGE);

decode_results messageRecu;// message reçu

float led = A3; //pin de la la borne + de la guirlande


void setup()
{
  pinMode(led,OUTPUT);
 Serial.begin(9600);
 monRecepteurInfraRouge.enableIRIn();// intialisation
 
}

void loop()
// là, pour chaque message reçu (en HEXA), un comportement est lié
{ if (monRecepteurInfraRouge.decode(&messageRecu))
{
  if(messageRecu.value == 0xC03FE817)
  {
      Serial.println(messageRecu.value,HEX);
    
    analogWrite(A3,255);// Là je demande de fournir du 5volts
    
    monRecepteurInfraRouge.resume();// Là j'annonce que je suis prêt à recevoir une autre commande
  }
else if( messageRecu.value == 0x3138F3E0 || 0x6B1052D5 || 0xE6AFB950 || 0xB65A291F || 0x3F17E592 || 0xFAAACAB7 || 0x6679AD8E || 0xC20A20A3 )// là j'agrandis les possibilités

{  Serial.println(messageRecu.value,HEX);
    
  analogWrite(A3,255);// Et je demande à ce que ça clignotte chaque seconde
  delay(1000);
  analogWrite(A3,0);
  delay(1000);
  monRecepteurInfraRouge.resume();
   }
  else if( messageRecu.value ==0xC03F38C7
)
{
    
  analogWrite(A3,255);// La comme tout a l'heure mais un peu plus vite et idem pour après 
  delay(500);
  analogWrite(A3,0);
  delay(500); 
  monRecepteurInfraRouge.resume();
}
 else if( messageRecu.value == 0xC03F8877)
{
    
  analogWrite(A3,255);
  delay(200);
  analogWrite(A3,0);
delay(200); 
monRecepteurInfraRouge.resume();
}
else
{  Serial.println(messageRecu.value,HEX);// La si autre chose est recu alors on envoit 0volts
    delay(500);
  analogWrite(A3,0);
monRecepteurInfraRouge.resume();

}
}
 

}

J'ai déjà essayé la PWM mais ça marche pas.

PS: J'alimente l'arduino avec un transfo de 5 volts et 550mA

Voila c'est tout ce que j'ai à fournir comme infos :slight_smile:

Merci d'avoir lu :slight_smile:

bonjour,
voltage ampérage pour la guirlande?

la guirlande fonctionne sinon toute seule?

4.5volts et 0.54watts:)

oui la guirlande fonctionne toute seule :slight_smile:

0.54W sous 5V, cela donne 108mA.
Ca fait beaucoup pour une sortie d'arduino (limitée à 20mA max):

Each of the 14 digital pins on the Uno can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive 20 mA as recommended operating condition and has an internal pull-up resistor (disconnected by default) of 20-50k ohm. A maximum of 40mA is the value that must not be exceeded on any I/O pin to avoid permanent damage to the microcontroller.

.

au pire, tu peux utiliser un mofset pour jouer sur le pwm en utilisant le transfo pour alimenter la guirlande.
un BC517 devrait aussi faire l'affaire par exemple

ramtron666:
0.54W sous 5V, cela donne 108mA.
Ca fait beaucoup pour une sortie d'arduino (limitée à 20mA max):

Aie..comme je débute tout juste en électricité et électronique, je n'ai pas vu le problème :confused:

infobarquee:
au pire, tu peux utiliser un mofset pour jouer sur le pwm en utilisant le transfo pour alimenter la guirlande.
un BC517 devrait aussi faire l'affaire par exemple

Ok merci j'essaierais ! :slight_smile:

Mais comme j'y connais rien peux tu me dire comment tu fais le branchement et si possible expliquer tes choix ? :slight_smile: