Article Arduino de LR 802 (mai 2014)

Toutes les discussions sur l'Arduino !

Modérateur : MOD

Avatar du membre
Arduino
Prolixe
Messages : 1700
Enregistré le : mer. 25 sept. 2013, 17:14

Article Arduino de LR 802 (mai 2014)

Message par Arduino » lun. 21 avr. 2014, 10:32

Bonjour à tous,

Loco-Revue vient de publier, dans le numéro 802 de mai 2014, un épisode supplémentaire de ma série d'articles consacrée à Arduino appliqué au train électrique (le projet APTE, Arduino Pour Train Electrique, que vous avez été nombreux à reprendre et à développer comme en témoigne ce forum :coeur1: ).

Ce nouveau fil est donc ouvert pour ceux qui voudraient poser des questions concernant ce nouvel article. La microélectronique programmable n'est pas compliquée, mais ce qui est évident pour ceux qui pratiquent, ne l'est pas forcément pour ceux qui débutent. Alors ne restez pas avec des interrogations, posez simplement vos questions. :moi: J'essaierai d'y répondre au plus vite, à moins qu'un Arduineur ne l'ait déjà fait auparavant.

J'imagine déjà que la première question sera : où est passé le programme ?

Le graphiste qui réalise la mise en page a fait un excellent travail de présentation pour que mon article soit moins aride à lire :applause: . Comme tout artiste, il doit être un peu dans la lune :lol: car une petite erreur s'est malencontreusement glissée, puisque les figures 6 et 7 sont les mêmes. Il manque donc la suite du programme. :roll:

Je suis un peu responsable car, pour que mon article soit mieux illustré, j'avais fourni le programme sous forme de copies d'écran pour éviter un long listing ennuyeux à lire. Visiblement, cette méthode n'est pas la bonne, sauf pour des programmes très courts qui tiennent sur un seul écran. Nous ferons mieux la prochaine fois ... :ange:

Je demanderai à ce qu'un correctif soit publié dans le prochain numéro (par correction envers les lecteurs) mais il est bien évident que je ne vais pas vous laisser attendre. Le programme sera donc dans mon prochain post. C'est cela l'avantage d'un forum ! :wink:

Christian

Avatar du membre
Arduino
Prolixe
Messages : 1700
Enregistré le : mer. 25 sept. 2013, 17:14

Re: Article Arduino de LR 802 (mai 2014)

Message par Arduino » lun. 21 avr. 2014, 10:46

Voici la figure qui manque, la Figure 6 Suite du programme :

Image

Comme vous le voyez, la figure 3 de l'article (début du programme) se termine par le début de la fonction loop, la figure 6 donne donc toute la fonction loop et se termine par // Conversion de la tension analogique en numéro d'ILS, cette fonction étant donnée par la figure 7.

Il vous faut donc trois figures pour avoir l'ensemble du programme. Ce n'est peut-être pas aussi pratique que je le pensais :roll: J'envie mon ami Daniel Aurilio qui traite de sujets se prêtant bien à une suite de photos largement commentées :wink:

Bon, et bien mon prochain post sera le programme dans sa totalité :moi:
Fichiers joints
Figure 6.PNG

Avatar du membre
Arduino
Prolixe
Messages : 1700
Enregistré le : mer. 25 sept. 2013, 17:14

Re: Article Arduino de LR 802 (mai 2014)

Message par Arduino » lun. 21 avr. 2014, 10:55

Voici l'intégralité du programme qui permet de faire fonctionner le montage décrit dans Loco-Revue 802 pour localiser vos trains :
// Ce programme permet de suivre le déplacement d'un train sur une voie munie d'ILS
// Les ILS sont reliés à un diviseur de tension relié à l'entrée analogique A0

int val_seuils [5] = {90, 300, 500, 700, 900} ;
int nbre_ILS = 5 ; // nombre d'ILS
int valeur_lue ;
int repere = -1 ;
int repereprecedent = -1 ;
int affichage = 0 ;
int affichage_precedent = 0 ;

void setup ()
{
  Serial.begin (9600) ;
}

void loop ()
{
  valeur_lue = analogRead (0) ;
  repere = num_ILS (valeur_lue) ;
  if (repere != repereprecedent) // ILS déclenché
  {
    delay (50) ;
    valeur_lue = analogRead (0) ;
    repere = num_ILS (valeur_lue) ;
    if (repere != repereprecedent) // ILS déclenché
    {
      repereprecedent = repere ;
      if (repere >= 0)
      {
        affichage = repere ;
        if (affichage != affichage_precedent)
       {
          Serial.print ("Le train est sur le repere ") ;
          Serial.print ("\t") ;
          Serial.println (affichage) ;
       }
       affichage_precedent = affichage ;
      }
    }
  }
}

// Conversion de la tension analogique en numéro d'ILS
int num_ILS (unsigned int donnee)
{
  int k ;
  for (k = 0 ; k < nbre_ILS ; k++)
  {
    if (donnee < val_seuils [k])
    {
      return k ;
    }
  }
  if (k >= nbre_ILS)
  {
    k = -1 ;  // Aucun ILS détecté fermé
  }
  return k ;
}


Bien sûr, vous pouvez le recopier tel quel (ayant fait le montage (voir figure 8 ), je vous assure qu'il fonctionne) ou bien vous pouvez l'améliorer et proposer ici même vos solutions pour l'ensemble de la communauté APTE.

Christian

Avatar du membre
likiki
Éloquent
Messages : 301
Enregistré le : dim. 29 avr. 2012, 15:21
Echelle pratiquée : H0 3R
Prénom : Christian
Site Internet : http://passionnement.forumactif.org
Localisation : Corbeil Essonne
Âge : 52

Re: Article Arduino de LR 802 (mai 2014)

Message par likiki » lun. 21 avr. 2014, 14:49

Merci Christian, super.

Il te reste plus qu'a nous mettre le montage qui vas bien avec.

:coeur1:
Cordialement,

Christian.

Avatar du membre
Arduino
Prolixe
Messages : 1700
Enregistré le : mer. 25 sept. 2013, 17:14

Re: Article Arduino de LR 802 (mai 2014)

Message par Arduino » lun. 21 avr. 2014, 18:03

Bonjour Christian,

Le montage figure dans l'article de Loco-Revue N°802. Ce serait déloyal de publier sur ce forum, ce que la revue accepte de publier. :ange:

Chaque fois qu'un de mes articles parait dans la revue, j'ouvre un fil, mais c'est simplement pour répondre aux éventuelles questions, ou pour préciser quelques points. :wink:

Ce que Loco-Revue ne peut publier (faute de place), je suis libre de l'inclure sur le forum. Par exemple, lorsque Loco-Revue a publié le montage du feu tricolore, nous avions pris la décision avec Yann Baude de ne pas publier le chenillard ni l'enseigne lumineuse, car cela prenait trop de place et faisait double emploi avec le feu tricolore. J'ai donc publié, pour ceux que cela intéresse, le chenillard et l'enseigne sur le forum, et j'ai également démontré qu'il était possible de réunir les trois montages sur un seul Arduino Uno. :geek:

Dans le même esprit, j'y ai rajouté les feux de fêtes foraines et le simulateur de soudure à arc car je pense que l'article sur le feu tricolore montre l'essentiel et le domaine des LED était suffisamment traité.

L'article du numéro 802 aborde un autre domaine, celui de la localisation des trains, donc de la rétrosignalisation en quelque sorte. Et les articles suivants aborderont encore d'autres choses, toujours en rapport avec le train électrique. :coeur1:

Mais je peux dire que le numéro 802 propose, pour les bricoleurs que nous sommes sur ces forums, bien d'autres choses intéressantes, dans sa rubrique "Pratiquer". Plein de raisons pour courir l'acheter ! :applause:

Gdefareins
Démonstratif
Messages : 1530
Enregistré le : sam. 10 avr. 2010, 00:03
Localisation : 71570
Âge : 48

Re: Article Arduino de LR 802 (mai 2014)

Message par Gdefareins » ven. 25 avr. 2014, 22:46

Bonsoir,

J'ai lu avec beaucoup d'intérêt votre article, mais je découvre Arduino et suis complètement novice avec ce système.

Pourrait-on envisager à tout hasard de remplacer les ILS par des détecteurs infra-rouges (voire par une détection par consommation de courant)

Courtoisement vôtre,

G. Bouchet de Fareins

Avatar du membre
jlb
Fécond
Messages : 694
Enregistré le : jeu. 04 oct. 2012, 16:38
Echelle pratiquée : N
Prénom : Jean-Luc
Site Internet : http://modelleisenbahn.triskell.org

Re: Article Arduino de LR 802 (mai 2014)

Message par jlb » sam. 26 avr. 2014, 09:50

Bonjour
gdefareins a écrit :Pourrait-on envisager à tout hasard de remplacer les ILS par des détecteurs infra-rouges (voire par une détection par consommation de courant)
Tout à fait. Du moment qu'en bout de chaine on récupère une tension comprise entre 0V et 5V et < 1,5V pour un 0 logique et > 3V pour un 1 logique on peut mettre ce que l'on veut

Avatar du membre
Arduino
Prolixe
Messages : 1700
Enregistré le : mer. 25 sept. 2013, 17:14

Re: Article Arduino de LR 802 (mai 2014)

Message par Arduino » sam. 26 avr. 2014, 15:23

gdefareins a écrit :Bonsoir,

J'ai lu avec beaucoup d'intérêt votre article, mais je découvre Arduino et suis complètement novice avec ce système.

Pourrait-on envisager à tout hasard de remplacer les ILS par des détecteurs infra-rouges (voire par une détection par consommation de courant)

Courtoisement vôtre,

G. Bouchet de Fareins
Mon ami Jean-Luc a parfaitement répondu : effectivement, un des intérêts d'Arduino tient à sa simplicité. La seule contrainte est de lui donner des signaux de 5V.
Alors, comment faire si le signal délivré par le détecteur est (par exemple) en 12 V ?
Il faut mettre ce signal en forme et on peut faire appel (par exemple) à des coupleurs optiques pour cela. Ainsi, il n'y a plus aucun risque d'endommager le module Arduino, car le 12 V du signal n'arrive pas dans le module.
Ces techniques sont décrites sur les différents forums (électronique ou Arduino). Mais on peut aussi en reparler ici si nécessaire ...

Kikipausu
Messages : 4
Enregistré le : sam. 25 févr. 2012, 20:37

Re: Article Arduino de LR 802 (mai 2014)

Message par Kikipausu » dim. 27 avr. 2014, 20:36

Je remercie Disert pour avoir mis ici les trois encarts du N° 802. Je suis vraiment novice et je n'arrivais pas à téléverser sur ma carte car en recopiant les trois fenêtres j'avais du faire des erreurs. Mais avec ce copier coller çà c'est passé comme une lettre à la poste.
Donc merci à l'auteur de l'article.

Avatar du membre
ORION-PROTO87
Bibliothécaire du forum !
Messages : 1984
Enregistré le : mer. 14 févr. 2007, 19:24
Prénom : Olivier
Localisation : Lorgues 83
Âge : 60

Re: Article Arduino de LR 802 (mai 2014)

Message par ORION-PROTO87 » mar. 29 avr. 2014, 14:21

Bonjour Kikipausu,

L'auteur de l'article a pour pseudo Arduino, "Disert" n'est qu'un qualificatif correspondant au nombre de messages, comme "Papotier" ou "Eloquent". Il y en a aussi bien d'autres, mais jamais en bleu...
Bienvenue et bons débuts en programmation arduino.
Olivier
Ryzen7-V16 Bi-Turbo !

Avatar du membre
Arduino
Prolixe
Messages : 1700
Enregistré le : mer. 25 sept. 2013, 17:14

Re: Article Arduino de LR 802 (mai 2014)

Message par Arduino » mer. 30 avr. 2014, 16:00

Kikipausu a écrit :Je remercie Disert pour avoir mis ici les trois encarts du N° 802. Je suis vraiment novice et je n'arrivais pas à téléverser sur ma carte car en recopiant les trois fenêtres j'avais du faire des erreurs. Mais avec ce copier coller çà c'est passé comme une lettre à la poste.
Donc merci à l'auteur de l'article.
Bonjour Kikipausu,

Effectivement, je me suis rendu compte que tronçonner un programme en plusieurs parties pour faire des copies d'écran dans le but de présenter plus joliment n'est VRAIMENT PAS UNE BONNE IDEE. La copie d'écran sera dorénavant réservée aux programmes très courts, tenant dans la fenêtre.

Pour les programmes plus longs, je donnerai le listing complet, ce qui évite les erreurs pour ceux qui veulent le reproduire. Heureusement, il y a aussi ce forum qui me permet, chaque fois qu'un de mes articles parait, d'ouvrir un fil à votre disposition pour poser des questions et à ma disposition pour éclaircir ce qui n'est pas clair (et dont je me rends compte que trop tard).

Mon but premier est de vous entrainer dans un voyage que vous ne regretterez pas, celui de la microélectronique. Mais je suis comme tout le monde, je peux faire des erreurs, des oublis, de mauvais choix. A vous de me le dire, d'autant qu'il y a ce forum ainsi qu'une adresse mail publiée dans LR pour cela.

Christian

Kikipausu
Messages : 4
Enregistré le : sam. 25 févr. 2012, 20:37

Re: Article Arduino de LR 802 (mai 2014)

Message par Kikipausu » mer. 30 avr. 2014, 17:39

Bonjour Christian
Une question pour toi, est-ce qu'il faut une nouvelle carte pour chaque programme différent? Ou une seule carte uno convient-elle?
Merci de tes éclaircissements forts utiles.

Avatar du membre
Arduino
Prolixe
Messages : 1700
Enregistré le : mer. 25 sept. 2013, 17:14

Re: Article Arduino de LR 802 (mai 2014)

Message par Arduino » jeu. 01 mai 2014, 00:24

Une seule carte suffit pour faire tous les programmes car elle se reprogramme (un peu comme une clé USB sur laquelle tu peux enregistrer des données et les effacer autant de fois que tu veux).

La carte Uno contient de quoi mettre à peu près 30 kilo-octets de programme ; c'est vraiment beaucoup. Tu peux donc réaliser un programme, puis rajouter des fonctionnalités (donc étendre le programme) et ainsi de suite.

Il y a sur le forum un exemple où je démontre qu'il est possible de mettre sur une seule carte trois applications différentes (schéma et programme sont donnés pour être reproduits). Pour ma part, je n'ai qu'un seul module Arduino, mais je vais sans doute en racheter un autre car il est actuellement utilisé pour la robotique et mon train est orphelin. J'achèterai peut-être un Mega ou bien cette petite merveille qu'un de mes amis Arduineur vient de dénicher. Mais crois moi, un seul module Arduino te permettra de faire autant de montages que ta première boite de meccano en permettait.

Christian

PS : dans mon jargon, carte ou module c'est la même chose

Kikipausu
Messages : 4
Enregistré le : sam. 25 févr. 2012, 20:37

Re: Article Arduino de LR 802 (mai 2014)

Message par Kikipausu » ven. 02 mai 2014, 17:20

Merci pour tes renseignements Christian, je ne pourrais qu'en tenir compte! J'attends la suite sur le forum, pour transférer donc sur ma même carte. Encore un grand MERCI!

Pierrot
Messages : 31
Enregistré le : mer. 30 août 2006, 19:36
Echelle pratiquée : H0
Localisation : AUBAGNE 13400
Âge : 81

Re: Article Arduino de LR 802 (mai 2014)

Message par Pierrot » lun. 16 juin 2014, 19:49

Bonjour Christian

Je decouvre grace à tes articles dans LR la carte arduino et sa programmation je suis donc un débutant.

Je repose la même question que Kikipausu.

Est ce que sur la même carte Arduino Uno je peu programmer programmer pour mon passage à niveau:
1) La commande de 2 servomoteurs, un par barrière, commandés par un poussoir pour la montée et un pour la descente
2) Le démarrage des feux rouges clignotant en descendant les barrières et leur arrêt en montant les barrières.

Ce programme complet ne me semble pas possible sur une seule carte Arduino Uno car la fontion loop gère 2 boucles séparées avec des delay diférants.

Excusez mon vocabulaire informatique, mais je débute dans ce domaine.

Pierrot

Nota: j'ai programmé la partie 1) et ça marche (Grace aux supers explications et la programmation de jlb pour 8 servos).

Répondre