1/160 - Echelle N

Le Forum consacré à l'Echelle N
 
AccueilAccueil  PortailPortail  ÉvènementsÉvènements  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
N'hésitez pas à consulter le calendrier et les événements du forum pour voir les manifestations près de chez vous !
-39%
Le deal à ne pas rater :
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
399 € 649 €
Voir le deal

 

 Animation d'une remise

Aller en bas 
3 participants
AuteurMessage
Fantasio
Membre
Membre
Fantasio


Masculin Age : 63
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 2259
Date d'inscription : 15/11/2019

Animation d'une remise Empty
MessageSujet: Animation d'une remise   Animation d'une remise Icon_minitimeJeu 13 Mai 2021 - 18:48

Tout part de là:
L'annexe de SoiFran et d'une proposition d'animation pour sa remise.
En complément de Bruno83, j'envisagerai bien une simulation de soudure à l'arc au fond de ta remise qui se déclencherait quand une machine s'approche d'un heurtoir...

En cherchant un peu sur le net- en particulier l'excellent site Locoduino- et de me creuser un peu la tête voici le résultat:
L'animation que j'envisage est double, tout d'abord un éclairage du bâtiment fonction de son occupation ou non, et complétée par une simulation de soudure à l'arc.

La chronologie des évènements
-remise vide: L'éclairage est éteint et la soudure à l'arc ne fonctionne pas.
-une machine rentre dans la remise: L'éclairage s'allume, au bout de quelques secondes la soudure à l'arc fonctionne, ces deux animations continuent tant que la remise est occupée.
-la machine quitte la remise: L'éclairage et la soudure à l'arc s'arrêtent.

Matériels
Le cœur du système est un microprocesseur ATtiny85, sur les 5 E/S disponibles j'en utilise 4. Bien évidemment une carte Uno ou Nano peuvent le remplacer. Pour détecter les machines dans la remise j'ai recours à un capteur infrarouge. Une bande de LEDs pour l'éclairage ainsi qu'une LED blanche 3mm pour la soudure à l'arc.

Vue du montageAnimation d'une remise Anim_r10

Précisions nécessaires:
La détection se faisant par coupure du faisceau IR, il faut transformer le capteur qui fonctionne par reflection en barrière IR. Cela nécessite de sortir l'émetteur et le récepteur du capteur et de les positionner en vis à vis. Attention de bien repérer les pattes!.
L' ATtiny ne peut que délivrer 40mA par sortie, si la consommation des LEDs est inférieure à cette valeur elles peuvent être câblées en parallèle directement sur la sortie, dans le cas contraire utiliser par exemple un Transistor BS170 pour les commander.

Maintenant voici le code:
Je me suis inspiré de celui de Christian sur le site Locoduino.
Code:
/* attiny detection remise2
   13/05/2021
   Fantasio
   ATtiny85 8MHz
   Capteur détection IR modifié en barrière IR
    lien: https://www.vs-elec.fr/fr/lumiere/281-ir-infrarouge-capteur-evitement-obstacles-cellule-photoelectrique-3665662005397.html

  Ce programme se base sur le code proposé par Christian sur le site Locoduino
   lien: https://www.locoduino.org/spip.php?article191
  Duree_flash est la durée d'un flash.
  Duree_int est la durée entre deux flashes.
  Duree_flash et Duree_int forment un événement.
  Nbre_even est le nombre d'événements au cours
  d'un cycle de soudure
  P_repos est la durée entre deux cycles de soudure.

  Toutes ces données sont aléatoires mais bornées
  entre une valeur minimum et une valeur maximum.
  En jouant sur l'intervalle, on peut simuler au
  mieux l'effet de soudure à l'arc.
  Led est la broche sur laquelle la LED est connectée
  L'emetteur et le récepteur du capteur IR sont positionnés l'un face à l'autre perpendiculairement aux voies.
  Si la remise est vide, son écalirage est éteint et la soudure à l'arc est à l'arrêt.
  Si une machine rentre dans la remise quelque soit la voie, elle coupe le faisceau lumineux, la remise s'éclaire
  et après un retard la soudure à l'arc débute.

          Brochage Attiny85
             =|1  U  8|= +5V
   Capteur 3 =|2     7|= 2 random
           4 =|3     6|= 1 AllumeRemise
         GND =|4     5|= 0 Led
*/

//constantes
const byte Led = 13;           // la sortie qui commande la Led
const byte Capteur = 4;        // reliée à la sortie du capteur IR
const byte AllumeRemise = 1;   // commande de l'éclairage de la remise
const int TempoRetard = 5000;  // temporisation en ms avant de lancer la soudure à l'arc

//variables
long Duree_flash;
long Duree_flash_mini = 10;
long Duree_flash_maxi = 101;
long Duree_int;
long Duree_int_mini = 10;
long Duree_int_maxi = 31;
long Nbre_even;
long Nbre_even_mini = 10;
long Nbre_even_maxi = 21;
long P_repos ;
long P_repos_mini = 1500;
long P_repos_maxi = 7001;
long i;
boolean retard;

void setup () {
  randomSeed (analogRead (2));
  pinMode(Capteur, INPUT_PULLUP);//
  pinMode(Led, OUTPUT);
  pinMode(AllumeRemise, OUTPUT);// éclairage de la remise
  retard = true;
}

void loop () {
  int etatCapteur = digitalRead(Capteur); // lecture du niveau logique présent sur la pin
  if (etatCapteur) {                      // si présence d'une machine
    digitalWrite (AllumeRemise, HIGH);    // éclairage de la remise
    if (retard) {
      delay(TempoRetard);
      retard = false;
    }
    soudure(); // lancement de la soudure à l'arc après un retard
  }
  else {
    digitalWrite (AllumeRemise, LOW); // remise éteinte
    digitalWrite (Led, LOW);          // pas de soudure
    retard = true;
  }
}

void soudure() {
  Nbre_even = random (Nbre_even_mini, Nbre_even_maxi);
  for (i = 1; i <= Nbre_even; i++) {
    Duree_flash = random (Duree_flash_mini, Duree_flash_maxi);
    Duree_int = random (Duree_int_mini, Duree_int_maxi);
    digitalWrite (Led, HIGH);
    delay (Duree_flash);
    digitalWrite (Led, LOW);
    delay (Duree_int);
  }
  P_repos = random (P_repos_mini, P_repos_maxi);
  delay (P_repos);
}

Amusez vous bien
Revenir en haut Aller en bas
rvmer52
Membre
Membre
rvmer52


Masculin Age : 71
Localisation : 29 Roscanvel
Nombre de messages : 605
Date d'inscription : 15/11/2011

Animation d'une remise Empty
MessageSujet: Re: Animation d'une remise   Animation d'une remise Icon_minitimeJeu 13 Mai 2021 - 19:56

Sympa comme idée mais j'ai deux demandes :

La photo est super mais comment tous cela est-il connecté ?
Peux tu faire un schéma pour les nuls comme moi !!!!

Y aurait-il la possibilité de mettre du son ?
RV
Revenir en haut Aller en bas
Fantasio
Membre
Membre
Fantasio


Masculin Age : 63
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 2259
Date d'inscription : 15/11/2019

Animation d'une remise Empty
MessageSujet: Re: Animation d'une remise   Animation d'une remise Icon_minitimeJeu 13 Mai 2021 - 21:09

Pour le son c'est possible, mais il ne faudra pas être trop exigeant:
La solution serait de brancher entre la broche 3 et la masse de l'ATtiny un petit haut parleur de 8 ohms  avec en série une résistance de 100 ohms.  
Après il est nécessaire de modifier le code de la façon suivante:

-à la fin du bloc constantes, rajouter
Code:
const byte HP = 4;

-à la fin du bloc Setup, rajouter
Code:
pinMode(HP, OUTPUT);

-rajouter à la suite des lignes 
Code:
digitalWrite(Led,LOW);
la ligne suivante:
Code:
digitalWrite(HP,LOW);

Enfin à la suite de la ligne
Code:
digitalWrite(Led,HIGH);
la ligne suivante:
Code:
digitalWrite(HP,HIGH);


Et voilà pour le son  Very Happy
Revenir en haut Aller en bas
Fantasio
Membre
Membre
Fantasio


Masculin Age : 63
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 2259
Date d'inscription : 15/11/2019

Animation d'une remise Empty
MessageSujet: Re: Animation d'une remise   Animation d'une remise Icon_minitimeJeu 13 Mai 2021 - 21:25

rvmer52 a écrit:
...
La photo est super mais comment tous cela est-il connecté ?
Peux tu faire un schéma pour les nuls comme moi !!!!
Je n'avais pas prévu de faire un schéma.
je te demande un peu de patience...
Revenir en haut Aller en bas
Fantasio
Membre
Membre
Fantasio


Masculin Age : 63
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 2259
Date d'inscription : 15/11/2019

Animation d'une remise Empty
MessageSujet: Re: Animation d'une remise   Animation d'une remise Icon_minitimeJeu 13 Mai 2021 - 22:38

J'ai mis à jour le code en prenant en compte le HP et une erreur dans le branchement de la sortie du capteur.

Code:
/* attiny detection remise2
   13/05/2021
   Fantasio
   ATtiny85 8MHz
   Capteur détection IR modifié en barrière IR
    lien: https://www.vs-elec.fr/fr/lumiere/281-ir-infrarouge-capteur-evitement-obstacles-cellule-photoelectrique-3665662005397.html

  Ce programme se base sur le code proposé par Christian sur le site Locoduino
   lien: https://www.locoduino.org/spip.php?article191
  Duree_flash est la durée d'un flash.
  Duree_int est la durée entre deux flashes.
  Duree_flash et Duree_int forment un événement.
  Nbre_even est le nombre d'événements au cours
  d'un cycle de soudure
  P_repos est la durée entre deux cycles de soudure.

  Toutes ces données sont aléatoires mais bornées
  entre une valeur minimum et une valeur maximum.
  En jouant sur l'intervalle, on peut simuler au
  mieux l'effet de soudure à l'arc.
  Led est la broche sur laquelle la LED est connectée
  L'emetteur et le récepteur du capteur IR sont positionnés l'un face à l'autre perpendiculairement aux voies.
  Si la remise est vide, son écalirage est éteint et la soudure à l'arc est à l'arrêt.
  Si une machine rentre dans la remise quelque soit la voie, elle coupe le faisceau lumineux, la remise s'éclaire
  et après un retard la soudure à l'arc débute.

          Brochage Attiny85
             =|1  U  8|= +5V
        HP 3 =|2     7|= A1 random
   Capteur 4 =|3     6|= 1 AllumeRemise
         GND =|4     5|= 0 Led
*/

//constantes
const byte Led = 13;           // la sortie qui commande la Led
const byte Capteur = 4;        // reliée à la sortie du capteur IR
const byte AllumeRemise = 1;   // commande de l'éclairage de la remise
const byte HP = 3;             // sortie HP
const int TempoRetard = 5000;  // temporisation en ms avant de lancer la soudure à l'arc

//variables
long Duree_flash;
long Duree_flash_mini = 10;
long Duree_flash_maxi = 101;
long Duree_int;
long Duree_int_mini = 10;
long Duree_int_maxi = 31;
long Nbre_even;
long Nbre_even_mini = 10;
long Nbre_even_maxi = 21;
long P_repos ;
long P_repos_mini = 1500;
long P_repos_maxi = 7001;
long i;
boolean retard;

void setup () {
  randomSeed (analogRead (A1));
  pinMode(Capteur, INPUT_PULLUP);//
  pinMode(Led, OUTPUT);
  pinMode(AllumeRemise, OUTPUT);// éclairage de la remise
  pinMode(HP, OUTPUT);
  retard = true;
}

void loop () {
  int etatCapteur = digitalRead(Capteur); // lecture du niveau logique présent sur la pin
  if (etatCapteur) {                      // si présence d'une machine
    digitalWrite (AllumeRemise, HIGH);    // éclairage de la remise
    if (retard) {
      delay(TempoRetard);
      retard = false;
    }
    soudure(); // lancement de la soudure à l'arc après un retard
  }
  else {
    digitalWrite (AllumeRemise, LOW); // remise éteinte
    digitalWrite (Led, LOW);          // pas de soudure
    digitalWrite (HP, LOW);           // pas de son
    retard = true;
  }
}

void soudure() {
  Nbre_even = random (Nbre_even_mini, Nbre_even_maxi);
  for (i = 1; i <= Nbre_even; i++) {
    Duree_flash = random (Duree_flash_mini, Duree_flash_maxi);
    Duree_int = random (Duree_int_mini, Duree_int_maxi);
    digitalWrite (Led, HIGH);
    digitalWrite (HP, HIGH);
    delay (Duree_flash);
    digitalWrite (Led, LOW);
    digitalWrite (HP, LOW);
    delay (Duree_int);
  }
  P_repos = random (P_repos_mini, P_repos_maxi);
  delay (P_repos);
}

Revenir en haut Aller en bas
rvmer52
Membre
Membre
rvmer52


Masculin Age : 71
Localisation : 29 Roscanvel
Nombre de messages : 605
Date d'inscription : 15/11/2011

Animation d'une remise Empty
MessageSujet: Re: Animation d'une remise   Animation d'une remise Icon_minitimeJeu 13 Mai 2021 - 23:02

OK Merci ....Animation d'une remise Super_12
Revenir en haut Aller en bas
SoiFran
Membre
Membre
SoiFran


Masculin Age : 57
Localisation : Toulouse
Nombre de messages : 3959
Date d'inscription : 13/06/2008

Animation d'une remise Empty
MessageSujet: Re: Animation d'une remise   Animation d'une remise Icon_minitimeSam 15 Mai 2021 - 6:02

Merci Fantasio de t'être ainsi penché sur l'animation de ma petite annexe.
L'idée est très sympa.
Je n'envisageais pas , dans un premier temps, d'éclairage quel qu'il soit pour mon réseau. Que ce soit l'annexe, comme Laroque de l'autre côté.
Peut-être au fil du temps y viendrai-je ?
Quoi qu'il en soit, encore un grand merci à toi .
Je vois que tu maîtrises bien Arduino, à l'inverse de moi qui suis ignare dans ce domaine.
Revenir en haut Aller en bas
Fantasio
Membre
Membre
Fantasio


Masculin Age : 63
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 2259
Date d'inscription : 15/11/2019

Animation d'une remise Empty
MessageSujet: Re: Animation d'une remise   Animation d'une remise Icon_minitimeSam 15 Mai 2021 - 14:12

C'est moi qui te remercie car ton annexe m'a motivé ...

L'Arduino n'est qu'un outil que j'utilise pour créer des animations sur les réseaux, surtout des animations lumineuses -éclairage de  bâtiments- mais pas que...)
Je me considère sans fausse modestie comme débutant en Arduino et ma grande chance c'est que d'autres qui maitrisent parfaitement le sujet, partagent leur savoir sur le net. Il suffit de s'en inspirer.   

Bonne continuation à toi
Revenir en haut Aller en bas
Fantasio
Membre
Membre
Fantasio


Masculin Age : 63
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 2259
Date d'inscription : 15/11/2019

Animation d'une remise Empty
MessageSujet: Re: Animation d'une remise   Animation d'une remise Icon_minitimeVen 21 Mai 2021 - 18:29

rvmer52 a écrit:
Sympa comme idée mais j'ai deux demandes :

La photo est super mais comment tous cela est-il connecté ?
Peux tu faire un schéma pour les nuls comme moi !!!!

Y aurait-il la possibilité de mettre du son ?
RV
@rvmer52

Comme tu le souhaitais voici le schéma de l'animation remise.
J'ai rajouté le haut-parleur.

Animation d'une remise Schzom10

J'espère que cela pourra te convenir.

Pour info, j'ai utilisé comme logiciel de dessin SDS version 3.2 de Bruno Urbani.
Revenir en haut Aller en bas
rvmer52
Membre
Membre
rvmer52


Masculin Age : 71
Localisation : 29 Roscanvel
Nombre de messages : 605
Date d'inscription : 15/11/2011

Animation d'une remise Empty
MessageSujet: Re: Animation d'une remise   Animation d'une remise Icon_minitimeVen 21 Mai 2021 - 19:12

Bonjour Fantasio

Au nom des Nuls UN GRAND MERCI !!!!Animation d'une remise Super_14

RV
Revenir en haut Aller en bas
Fantasio
Membre
Membre
Fantasio


Masculin Age : 63
Localisation : Saint Médard en Jalles (33)
Nombre de messages : 2259
Date d'inscription : 15/11/2019

Animation d'une remise Empty
MessageSujet: Re: Animation d'une remise   Animation d'une remise Icon_minitimeVen 21 Mai 2021 - 19:24

De rien! Very Happy
Ta demande était légitime et c'est normal de s'entraider.

Le plus difficile pour moi c'était en fait de retrouver un logiciel pour faire ce schéma.

Bonne continuation
Revenir en haut Aller en bas
Contenu sponsorisé





Animation d'une remise Empty
MessageSujet: Re: Animation d'une remise   Animation d'une remise Icon_minitime

Revenir en haut Aller en bas
 
Animation d'une remise
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Signalisation dune gare en IPCS
» animation personnages
» Animation de Noël
» Animation automobile
» PETITE ANIMATION (PROTOTYPE)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
1/160 - Echelle N :: Modèles réduits à l'echelle N :: Electricité / Electronique-
Sauter vers: