mardi 8 mai 2018

Ambiance et effets lumineux pour réseaux de trains miniatures

Afin de donner plus de réalisme à un réseau de train, il peut-être intéressant de créer certains effets lumineux du ciel au-dessus du décor. Je me suis penché d'une part à créer un effet  de nuit bleue (ou nuit au clair de lune) et d'autre part à simuler des éclairs orageux aléatoirement.
Ces 2 phénomènes sont indépendants et  peuvent donc aussi bien être effectués conjointement qu'individuellement.

Pour cela j'ai utilisé une carte Arduino  Uno, une bande LED BLEUE pour la nuit et, une Bande LED BLANC FROID pour les éclairs, deux interrupteurs (1 pour la nuit et 1 pour l'orage), du fil, éventuellement une ou 2 résistances si les bandes LED ne comportent pas de résistance. Dans ce dernier cas ont utilisera une résistance de 10 Ohms 1/2 Watt de protection en amont sachant que les sorties 13 et 11 (Broches numériques) délivreront une tension de 5 V. Relier le - des bandes LED à la masse.


L'interrupteur commandant l'allumage des éclairs aléatoires est branché entre la masse de "Broches d'alimentation" et la "broche  analogique 0". Un circuit fermé à la Masse déclenchera l'orage.
Idem pour la nuit bleue mais cette fois relié à la broche analogique 1. Pour éviter un fonctionnement instable des LED Bleues en cas d'extinction, l'interrupteur sera aussi relié à la broche 5 V. (c'est à dire si 0 v allumage des LED bleues; si 5 v extinction).

Voici une démonstration du montage sur mon réseau de trains :


Un Cd de bruitage d'orage accompagne les effets lumineux.

Ci-joint le programme que j'ai créé pour la carte Arduino :

[code]
/*
  Blink aleatoire et nuit pour réseau de trains :
  Pour générer aléatoirement ,si un interrupteur est enclenché, des éclaires afin de simuler un orage avec une bande led blanche ton froid au dessus d'un réseau de train tous les 5 à 15 secondes d'intervalles
  et / ou
  éclairer une bande led bleue grâce à un second interrupteur pour simuler la nuit bleue
  Réalisé par Frédéric GARRIDO le 26/04/2018

*/
int analogPin0 = 0;
int analogPin1 = 1;
int val0 = 0;
int val1 = 0;
long randNumber2; // déclaration d'une variable long
long randNumber1; // déclaration d'une variable long
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN (13 generaly) and pin 11 as an output .
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(11, OUTPUT);
  Serial.begin(9600); // initialise la connexion série vers le PC à 9600 bauds
  randomSeed(analogRead(0));
}
// the loop function runs over and over again forever
void loop() {
  val0 = analogRead(analogPin0); // interrupteur pin 0 pour contrôle LEd blanche
  val1 = analogRead(analogPin1); // interrupteur pin 1 pour contrôle led bleue
  Serial.print("pinA0 : "),
               Serial.println(val0);
  switch (val0) {
    case 0 : Serial.print(" pas d'orage ");
      break;
    default:
      Serial.print("attention orage ");
  }
  Serial.print("pinA1 : "), Serial.println(val1);
  switch (val1) {
    case 0 : Serial.print(" Nuit ");
      break;
    default:
      Serial.print(" jour ");
  }
  if (val1 == 0)   // si second interrupteur sur masse
  { digitalWrite(11, HIGH); // TURN BLUE LED on
  }
  else
  { digitalWrite(11, LOW); // turn blue led off
  }
  if (val0 == 0) // si premier interrupteur sur 0 v
  {

    digitalWrite(LED_BUILTIN, LOW); // éteindre en permanence led blanche pas d'orage
  }
  else {
    digitalWrite(LED_BUILTIN, LOW);
    randNumber2 = random(5000, 15000); // turn the white's LED off during between 5 and 15 seconds
    Serial.println(randNumber2);
    delay (randNumber2);
    digitalWrite(LED_BUILTIN, HIGH);   // flash the white's LED
    randNumber1 = random(100, 2000);  // déterminate the time of flash between 0.1 and 2 seconds
    Serial.println(randNumber1);
    delay(randNumber1);   // waiting for .1 à 2 sec

  }

}

[/code]

Maintenant vous avez toutes les données en main afin de donner un surplus de réalisme à vos réseaux. ! J'espère bien que cette réalisation se retrouvera à l'occasion de belles expositions de trains.

Frédéric GARRIDO (Chapelon01)

Aucun commentaire:

Enregistrer un commentaire