LOCODUINO

Parlons Arduino => Vos projets => Discussion démarrée par: BB9004 le mai 31, 2018, 07:01:18 pm

Titre: Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le mai 31, 2018, 07:01:18 pm
Bonjour

voici un mini projet , présenté sur le forum Arduino de LocoRevue :

- cadre : animation de décor sur réseau HO
- objectif : créer une animation visuelle, éventuellement variable
- Contexte : Un incident technique ferroviaire (machine en panne, aiguille cassée, signalisation HS, etc...) nécessite la présence de techniciens de maintenance sur les lieux, avec le matériel dans leur véhicule
- moyens : un véhicule HO pouvant être équipé de Leds oranges (ses clignotants en mode warning)
- carte Arduino : Nano ? Uno ?
- petits "+" possibles :
  > option 1 : pourrait être pilotée par un décodeur DCC accessoire, à 4 fonctions (sinon : bouton ON/OFF ou rotatif à 4 sorties ??)
  > option 2 : pourrait avoir une lampe de cligno grillée sur demande si DCC
  > option 3 : pourrait avoir un rythme d'allumage du warning selon le mode "SOS" en morse (reprise du programme Titanic, esprit farceur / étonnement des spectateurs attentifs)
  > option x : ...

- le véhicule pouvant être déplacé, ses connexions (au décor) doivent être facilement démontables, et éventuellement être existantes à plusieurs endroits du réseau, si besoin, mais pilotées par la même carte Arduino
- si le châssis du véhicule HO est identique pour plusieurs caisses différentes, on optimise les effets d'animation

- L'objet de ce mini projet est d'accompagner les différents apprentissages Arduino à mettre en oeuvre (je débute).

Budget minimum estimé au départ : moins de 30€.

 version 0.2: Warning "simple" (ou warning en mode morse SOS, actuellement mis en commentaire //)  :

/*
 * Programme pour arduino Nano ou Uno : à préciser
 * par LLG Juin2018 V0.2
 * Licence GNU GPLv3 - Version IDE 1.8.5
 *
 * Ce programme fait fonctionner des feux Warning sur un véhicule HO, plus 3 options (a ecrire)
 * option 1 : gestion d'1 ampoule HS : a ecrire
 * option 2 : cycle du warning de type "SOS" : a ecrire
 * option 3 : liaison et pilotage du warning par un decodeur d'accessoires 4 fonctions DCC : a ecrire
 * 4 LED (oranges ou rouges) sont reliees aux sorties 4 a 7
 * Les sorties 4 a 7 sont indépendantes, afin de simuler eventuellement (en option # 1) une ampoule cassée
 */
     
// Initialisation des variables
const byte AVD = 4 ;  // cligno AVD
const byte AVG = 5 ;  // cligno AVG
const byte ARD = 6 ;  // cligno ARD
const byte ARG = 7 ;  // cligno ARG
const byte TOUS = 7 ;  // les 4 clignos ensemble

//Delai du Warning normal : duree on = off, rythme d'environ 1/2 seconde
const long TempsON = 500;
const long TempsOFF = 500;
// a completer pour l'option SOS (cf Titanic) et la condition IF, si decodeur DCC installe : ??
   
// Initialisation des lignes 4 a 7 en sortie
void setup () {
  pinMode (AVD, OUTPUT) ;
  pinMode (AVG, OUTPUT) ;
  pinMode (ARD, OUTPUT) ;
  pinMode (ARG, OUTPUT) ;
}
     
// Fonction loop
void loop () {
  // Extinction de toutes les LED au depart
  digitalWrite (AVD, LOW) ;
  digitalWrite (AVG, LOW) ;
  digitalWrite (ARD, LOW) ;
  digitalWrite (ARG, LOW) ;
     
  // Allumage des leds, en meme temps
  digitalWrite (AVD, HIGH) ;   
  digitalWrite (AVG, HIGH) ;   
  digitalWrite (ARD, HIGH) ;
  digitalWrite (ARG, HIGH) ;
     
  // Debut de cycle 0 : mode warning Normal
   
  delay (TempsON) ; // 4 Feux allumes
 
  digitalWrite (AVD, LOW) ; // Extinction AVD
  digitalWrite (AVG, LOW) ; // Extinction AVG
  digitalWrite (ARD, LOW) ; // Extinction ARD
  digitalWrite (ARG, LOW) ; // Extinction ARG
 
  delay (TempsOFF) ; // 4 feux eteints
       
  // et on boucle, jusqu'à la décision d'extinction DCC

   // option 1 : gestion d'1 ampoule HS : a ecrire
   // option 2 : cycle du warning de type "SOS" : a ecrire
   // option 3 : liaison et pilotage du warning par un decodeur d'accessoires 4 fonctions DCC : a ecrire
 
}
/* warning sur rythme SOS : à ré-ecrire , copie du SOS Titanic
//
void loop() {
 digitalWrite(pinLED, HIGH) ; // allumage du S = 3 fois point, avec delai entre chaque allumage
 delay (point) ;                     // durée d'allumage de la led
 digitalWrite (pinLED, LOW) ; // extinction
 delay (interPointTrait) ;           // attente
 digitalWrite(pinLED, HIGH) ;
 delay (point) ;
 digitalWrite (pinLED, LOW) ;
 delay (interPointTrait) ;
 digitalWrite(pinLED, HIGH) ;
 delay (point) ;
 digitalWrite (pinLED, LOW) ;
 delay (interPointTrait) ;
// fin du 1er "S"

 delay (interlettres) ;             // delai entre 2 lettres

// on allume pour le "O" : 3 fois trait de 0,6 s
 digitalWrite(pinLED, HIGH) ;
 delay (trait) ;
 digitalWrite(pinLED, LOW) ;
 delay (interPointTrait) ;
 digitalWrite(pinLED, HIGH) ;
 delay (trait) ;
 digitalWrite(pinLED, LOW) ;
 delay (interPointTrait) ;
 digitalWrite(pinLED, HIGH) ;
 delay (trait) ;
 digitalWrite(pinLED, LOW) ;
// delay (interPointTrait);

// pause entre 2 lettres :
 delay (interlettres) ;

// on allume le 2é S (recopie de la premiére fois)
 digitalWrite(pinLED, HIGH) ; // allumage du S = 3 points, avec delai entre chaque allumage
 delay (point) ;
 digitalWrite (pinLED, LOW) ;
 delay (interPointTrait) ;
 digitalWrite(pinLED, HIGH) ;
 delay (point) ;
 digitalWrite (pinLED, LOW) ;
 delay (interPointTrait) ;
 digitalWrite(pinLED, HIGH) ;
 delay (point) ;
 digitalWrite (pinLED, LOW) ;
//delay (interPointTrait);
// fin du 2é "S"

// on attend entre 2 SOS
 delay (entre2sos) ;

}
*/

Edit : ce fil présentera les différentes étapes d'apprentissage Arduino (questionnements, instructions utilisées, etc...) et l'avancement du projet.
 8)
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 01, 2018, 03:08:59 pm
bonjour

je butte sur ceci : peut-on "piloter" 4 sorties avec une SEULE variable définie ?
(par paresse, je voudrai éviter de répéter trop de ligne... but : 1 seule instruction pour allumer les 4 clignos ensembles, dans l'option SOS)

exemple :

const byte TOUS = x ;  // les 4 clignos seraient gérés ensemble >> comment le faire, si c'est possible ?

>> soit à l'origine : il y a une sortie par cligno (pour permettre de simuler, sur une autre option, 1 ampoule grillée dans les 4) :
const byte AVD = 4 ;  // cligno AVD
const byte AVG = 5 ;  // cligno AVG
const byte ARD = 6 ;  // cligno ARD
const byte ARG = 7 ;  // cligno ARG

merci
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Jean-Luc le juin 01, 2018, 03:40:54 pm
Bonjour,

Oui c'est possible mais il faut descendre dans les tréfonds du microcontrôleur et ça suppose que toutes les broches correspondent à un même registre du GPIO.

En l'occurrence les broches 4 à 7 (sur un Uno je suppose) correspondent aux bits 4 à 7 du port D (coup de pot). Donc en écrivant :

PORTD |= 0xF0;

on met à HIGH les 4 broches simultanément et en écrivant

PORTD &= ~0xF0;

On les met à LOW

Mais est-ce nécessaire ? On y perd en lisibilité et en portabilité et l'application ne nécessite pas d'aller vite

De manière plus portable, tu peux écrire :

for (byte broche = 4; broche < 8; broche++) digitalWrite(broche, HIGH);

Par ailleurs, pour éviter de répéter de nombreuse fois la même séquence, tu peux faire une fonction :

void clignotant(byte etat)
{
    for (byte broche = 4; broche < 8; broche++) digitalWrite(broche, etat);
}

Il suffit ensuite d'appeler la fonction :

clignotant(HIGH);
delay(2000);
clignotant(LOW);
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 01, 2018, 04:38:29 pm
Merci beaucoup Jean Luc de ton aide !
c'était d'abord sur une Nano, mais finalement c'est une Uno "RPC" (puce Atmel  mega 328P) pour les facilitées de branchement avec la breadboard

aide précieuse : ça me conduit vers des "couches" plus profondes d'IDE : génial !
et des "astuces" d'optimisation des lignes et fonctions ...

> j'étudie tes propositions, je les digère ... , puis je les mettrai  ai mises dans le prog

(j'ai changé le rythme d'allumage à 1/2 seconde > plus réaliste pour un warning  !
 8)

edit : maintenant que les "sorties" sont en cours de résolution..., je m'interroge sur la sélection des entrées ... (via digitalRead ? )
- choix 1 : warning normal
- choix 2 : warning "SOS"
- choix 3 : warning avec 1 ampoule cassée
- choix 4 : pas défini

> en attendant d'étudier (ultérieurement) les choix via un DCC, faut-il prévoir de passer par un bouton rotatif à 5 positions  (0 = éteint) pour piloter ces entrées ? (pour aller du plus simple vers le plus compliqué)

Pour le moment, j'écris les 3 premiers sous-programmes (testés individuellement, c'est OK) en les mettant en commentaire... en attendant de savoir par quelles instructions les sélectionner
> pas de test possible sur la BB, par manque de résistance 220 ou 330 ohm pour tester les 4 leds ensemble ...

PS : si quelqu'un est intéressé, je peux mettre le prog compilé ici (fait)
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 02, 2018, 09:06:56 am
hello

Dans le prog "Warning", je m'interroge sur la logique de gestion des entrées : vos avis seraient utiles ...

Q1 : il y a un choix multiples d’entrées, la majorité est exclusive ("OU") (1 entrée = 1 seule action de sortie), mais il y aura éventuellement 1 entrée = 2- ou 3 - actions/sorties simultanées ("ET")
 (ex : warning + phares allumés) et même "warning + phares + éclairage cabine" : possible ?
> est-ce le moment de s’intéresser aux bibliothèques, afin de ne pas ré-écrire ces sous-ensemble à chaque fois ?

>> les choix potentiels actuels :
* option 1 : warning normal : rédigé : à tester
 * option 2 : cycle du warning de type "SOS" : rédigé : a tester
 * option 3 : gestion d'1 ampoule HS : rédigé : a tester
 * option 4 : liaison et pilotage du choix du warning par un decodeur d'accessoires 4 fonctions DCC : a ecrire
 * option 5 : allumage des phares seuls : a ecrire
 * option 6 : allumage des phares ET du warning normal : a ecrire
 * option 7 : éclairage de la cabine du véhicule : a ecrire

Q2 > si la sélection en entrée se fait par un bouton rotatif sur TCO : le "pôle" choisi alimentera une SEULE Pin dédiée, en entrée, qui, elle, conditionnera la Pin de sortie : possible ?
>nota : cette option semble empêcher les choix "ET" : ?

Q3 > si la sélection en entrée se fait par différents boutons sur le TCO : risque de superposition des choix si on oublie, par fonction, "d'éteindre" l'ensemble avant de lancer la fonction choisie
> petit inconvénient : plus de cablage sur le TCO
> avantage : devrait permettre les choix "ET" : ?

Q4 > si la sélection se fait par décodeur DCC (je n'ai pas encore étudié les possibilités du décodeur Locoduino, que j'envisage de mettre en oeuvre), le nombre de choix possibles sera limité au nombre de possibilités de fonction de ce décodeur .
L'idée est d'associer 1 choix "warning" à une fonction DCC : réaliste ?

- Autres questions, concernant les "loop" :

L1 : peut-on conditionner leur "lancement" par un "index" ?
> genre : IF xx= YY, alors GOTO loop1, sinon goto loop2, etc ... : possible ?

L2 : peut-on avoir plusieurs loop dans un même programme ?
si oui, comment les gere-t-on ?
le IF le permet-il ? (si le "goto" est impossible)

Merci de vos conseils, bonne journée à tous
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Jean-Luc le juin 02, 2018, 09:51:48 am
Bonjour,

Dans le prog "Warning", je m'interroge sur la logique de gestion des entrées : vos avis seraient utiles ...

Q1 : il y a un choix multiples d’entrées, la majorité est exclusive ("OU") (1 entrée = 1 seule action de sortie), mais il y aura éventuellement 1 entrée = 2- ou 3 - actions/sorties simultanées ("ET")
 (ex : warning + phares allumés) et même "warning + phares + éclairage cabine" : possible ?
> est-ce le moment de s’intéresser aux bibliothèques, afin de ne pas ré-écrire ces sous-ensemble à chaque fois ?

>> les choix potentiels actuels :
* option 1 : warning normal : rédigé : à tester
 * option 2 : cycle du warning de type "SOS" : rédigé : a tester
 * option 3 : gestion d'1 ampoule HS : rédigé : a tester
 * option 4 : liaison et pilotage du choix du warning par un decodeur d'accessoires 4 fonctions DCC : a ecrire
 * option 5 : allumage des phares seuls : a ecrire
 * option 6 : allumage des phares ET du warning normal : a ecrire
 * option 7 : éclairage de la cabine du véhicule : a ecrire

Q2 > si la sélection en entrée se fait par un bouton rotatif sur TCO : le "pôle" choisi alimentera une SEULE Pin dédiée, en entrée, qui, elle, conditionnera la Pin de sortie : possible ?
>nota : cette option semble empêcher les choix "ET" : ?

Q3 > si la sélection en entrée se fait par différents boutons sur le TCO : risque de superposition des choix si on oublie, par fonction, "d'éteindre" l'ensemble avant de lancer la fonction choisie
> petit inconvénient : plus de cablage sur le TCO
> avantage : devrait permettre les choix "ET" : ?

Je vais faire une seule réponse à toutes :

Peu importe ces choix du point de vue fonctionnel puisqu'au bout du compte le programme décidera de la combinaison d'entrées qui sont valides. Je ne pense pas qu'il y ai besoin de bibliothèques.

La question est plutôt de savoir si l'utilisateur a besoin d'une information retour sur le TCO ou pas ? Observer le véhicule suffit-il ou non ?

Si la réponse est non, il ne suffit pas d'observer le véhicule, alors deux options :

Dans le premier cas, tu as le choix entre un commutateur à l'ancienne qui nécessite autant de sorties (fils) que de fonctions ou bien un codeur qui sort l'information codée en binaire (16 positions/fonctions = 4 fils par exemple) :

(https://static3.tme.eu//products_pics/3/e/7/3e7da2b79ba80336b1b6ef03d475017d/418856_t.jpg)(https://static4.tme.eu//products_pics/b/1/b/b1b98fd8fe846987e429bd30b990061b/417584_t.jpg)

Comme tu l'as souligné, ne permet pas à priori de choisir une option mais on peut aussi décider que les combinaisons valides sont prédéterminées et dans ce cas une position du bouton leur est affectée.

Dans le second cas, une paire de boutons poussoir et des LED font l'affaire.

Si observer le véhicule suffit, une paire de poussoir fait l'affaire. Après tout, les LED dans le véhicule peuvent servir à renseigner sur l'option sélectionnée. Par exemple 3 flash rapide pour signaler qu'on passe en DCC.

Citer
Q4 > si la sélection se fait par décodeur DCC (je n'ai pas encore étudié les possibilités du décodeur Locoduino, que j'envisage de mettre en oeuvre), le nombre de choix possibles sera limité au nombre de possibilités de fonction de ce décodeur .
L'idée est d'associer 1 choix "warning" à une fonction DCC : réaliste ?

Là je pense que tu es large

Citer
- Autres questions, concernant les "loop" :

L1 : peut-on conditionner leur "lancement" par un "index" ?
> genre : IF xx= YY, alors GOTO loop1, sinon goto loop2, etc ... : possible ?

L2 : peut-on avoir plusieurs loop dans un même programme ?
si oui, comment les gere-t-on ?
le IF le permet-il ? (si le "goto" est impossible)

Merci de vos conseils, bonne journée à tous

Les GOTO c'est mal.

Il n'y a qu'une loop, mais tu peux mettre chacune des options dans une fonction et, dans loop, appeler la fonction correspondant à l'option sélectionnée.
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 02, 2018, 10:00:34 am
Merci again !

je digère tout ça (j'essaie de comprendre et de mettre en oeuvre) ...

Quand tu écris, pour l'option DCC : "tu es large" : que veux tu dire ?
(j'imaginais que le DCC supprimerait du cablage au TCO, puisque piloté par une manette type roco, via la centrale DCC)

ps : le "goto c'est mal " m'a bien fait rire, sans en comprendre la raison !
Titre: Re : Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Jean-Luc le juin 02, 2018, 10:06:55 am
Quand tu écris, pour l'option DCC : "tu es large" : que veux tu dire ?
(j'imaginais que le DCC supprimerait du cablage au TCO, puisque piloté par une manette type roco, via la centrale DCC)

Je veux dire que tu as un choix beaucoup plus large de valeurs envoyées via une trame DCC. Au programme d'en déduire l'option.
Titre: Re : Re : Warning dans véhicule HO / animation de décor réseau
Posté par: msport le juin 02, 2018, 10:37:07 am
ps : le "goto c'est mal " m'a bien fait rire, sans en comprendre la raison !
le goto c'est pas structuré, ça part dans tous les sens, mais pour devenir un real programmer, lire aussi :
http://www.bernstein-plus-sons.com/RPDEQ.html
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Thierry le juin 02, 2018, 10:51:07 am
Je m’immisce dans la conversation...
Le GOTO représente la façon de programmer des années 80 parce qu'il n'y avait pas le choix, en assembleur ou en Basic.
Et puis sont venus les langages évolués comme le C et ses descendants qui offraient de bien meilleures possibilités de structuration du code avec les fonctions, les while(), do-while(), switch, etc... Si le GOTO reste possible et peut être justifié dans de très rares cas comme la gestion d'erreur si on ne veut pas utiliser d'interruptions, il est reconnu aujourd'hui comme un générateur du code 'spaghetti', du code qui part dans tous les sens avec une lisibilité et une maintenabilité faible.
Donc oui, je pense que le code bootloader de l'Enfer est plein de GOTOs, que celui de Trump aussi, ce qui rend sa pensée aussi volatile et imprévisible...
Le GOTO c'est LE mal !

Grillé par msport...
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Rob1 le juin 02, 2018, 11:00:02 am
Pour abonder dans le sens de Thierry et faire un peu d'humour.

Ce n'est pas par hasard que GoTo se traduit en français par " aléas "  ::) :( :D ;D

Amicalement Roland
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 02, 2018, 12:45:48 pm
 :D
Goto Hell , donc !
merci de vos explications détaillées, utiles !

(c'était bien un résidu de vieille mémoire, programmation des années 80 en GAP IBM... La règle était : si tu ouvres un Goto, veille à bien le fermer ! - Toujours fermer la boucle ! )

Bon, faut se mettre aux techniques modernes maintenant  ;)
je m'y replonge, donc
 8)
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: msport le juin 02, 2018, 04:44:48 pm
Un succédané : le break, au moins on sait d'où on revient.
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 02, 2018, 06:36:46 pm
le goto c'est pas structuré, ça part dans tous les sens, mais pour devenir un real programmer, lire aussi :
http://www.bernstein-plus-sons.com/RPDEQ.html

Belle histoire   :D  :D

+ wiki : https://en.wikipedia.org/wiki/Real_Men_Don%27t_Eat_Quiche

Bon, assez rigolé (pinaise, ça fait du bien !), au boulot !

 8)
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 04, 2018, 01:15:09 pm
bonjour

Pour la gestion des entrées :
la réflexion du moment est partie de cette proposition de Jean Luc :
"Il n'y a qu'une loop, mais tu peux mettre chacune des options dans une fonction et, dans loop, appeler la fonction correspondant à l'option sélectionnée"

* Précision  > il n'y aura pas de retour d'informations au TCO : pilotage du warning "à vue" sur le décor
(je garde l'idée du "3 flash pour signifier le passage au DCC:  ;) )

OK... Pour la Loop :

SI l'information d'entrée est donnée par un mini clavier (car le nb de possibilité augmente, il est de 14 actuellement, et donc un bouton rotatif - même en binaire - ne semble plus une solution - ou bien ce Pavé 16 fonctions (https://fr.aliexpress.com/item/TTP229-16-Channel-Digital-Capacitive-Switch-Touch-Sensor-Module-For-Arduino/2055105031.html?spm=a2g0s.8937460.0.0.4bc22e0erU2vr9)), on a donc un chiffre "frappé" en entrée (paramètre "clavier" : ?).
Edit : je n'ai pas encore étudié les possibilités d'un Clavier numérique (https://fr.aliexpress.com/item/4-3-Matrix-Array-12-Key-Membrane-Switch-Keypad-Keyboard-for-Arduino-AVR-PI-C/2038556771.html?spm=a2g0s.8937460.0.0.4bc22e0erU2vr9) , qui semble plus approprié : ?

Puis- je alors utilisé la fonction "IF" pour gérer les actions fonctions ?
> du style : "IF le numéro choisi au clavier est 7, alors réaliser l'action la fonction n° 7"

exemple :
  if (clavier==7){
    digitalWrite(action7,HIGH); //ça active le "scénario" 7
    return;                             //sortie de la fonction
  }
et on enchaîne toutes les actions possibles à la suite les unes des autres : ?

et donc il y aura autant de IF que de choix possibles au clavier : ?? > maintenance / portabilité aisée ...

 plus une action "ce code n'est pas opérationnel" si l'opérateur choisi un nombre non associé à une fonction (ce qui conduit à gérer un petit LCD ... ça va finir en usine à gaz...) , ou plus simplement on l'envoie à la fonction "tout est éteint" ! (plutôt que de proposer un...  "GOTO Fin" !)  :o

-------------------------------
nota : état actuel du cahier des charges :
- - Pour les entrées : la liste des possibles s'allonge ...
> gestion manuelle :
- bouton rotatif à choix multiples, au TCO, ou proche de la scène d'action : cette possibilité s'éloigne vu le nombre de possibilités envisagées
- boutons poussoirs (1/choix) sur le TCO (idem) : mais trop de boutons = confusion, + cablages...
- clavier numérique
> gestion automatique :
- toutes les possibilités se déroulent en séquence (fixe OU aléatoire) , selon une période individuelle fixe (à déterminer - 30 secondes, pour ne pas lasser le spectateur ?), ou modifiable à volonté, par un curseur linéaire - ou un mini clavier - (au TCO) par exemple
- animation permanente, ou par cycle (timer)
> gestion via DCC :
- un décodeur, piloté par une multimauss par exemple, permettrait un choix parmi l'ensemble des possibilités

- - pour les sorties : la liste s'allonge aussi...
* option 1 : warning normal
* option 2 : cycle du warning de type "SOS" en morse
* option 3 : gestion d'1 ampoule HS (à l'avant, D ou G)
* option 4 : liaison et pilotage du choix du warning par un decodeur d'accessoires multi-fonction DCC
* option 5 : allumage des phares seuls
* option 6 : allumage des phares ET du warning normal
* option 7 : éclairage de la cabine du véhicule
* option 8 : "rampe" de lampes (bleues ?) sur le toit (avec, ou pas, variation d'intensité de la puissance d'éclairage) mais alors : époque 5 ou 6, pas avant
* option 9 : RIEN (je l'avais oubliée !) à mettre en premier : ne pas oublier la sacro sainte PAUSE des ouvriers !
* option 10 : warning + phares + cabine
* option 11 : soyons fou : avec sonorisation d'alarme ?
* option 12 : je n'ose même pas envisager  ::) un ouvrier en train de réaliser une soudure à l'arc à l'arrière du véhicule... que
 l'on devinerait par la demi-porte ouverte ... Le prog de Christian Soudure à l'arc (http://www.locoduino.org/spip.php?article90) est tout prêt à intégrer la caisse à outil : faut "juste" lui trouver une place dans le fond de la camionnette... et à le compléter avec le buzzer proposé par Cardeau ... ?
* option 13 : warning + rampe de toit (bleue, avec variation d'intensité "faible/forte" - pour remplacer le mode "girophare")
* option 14 : phares + rampe de toit
* etc...

> Ce qui donne en nombre de Leds à gérer (et donc de PIN) : 12 leds > 12 fils + 1 masse : 1 nappe (Dupont) de 13 brins à passer de la caisse HO à la carte Uno (les résistances seront installées sous le plateau) :
- 4 leds oranges pour les Warning
- 1 led blanche (faible) pour la cabine
- 2 leds blanches (ou jaunes selon l'époque !) pour les phares Avant
- 2 leds rouges pour les feux Arrières (pas sur qu'il y ait assez de place pour tout loger dans une caisse HO...)
- 1 led blanche puissante pour la soudure à l'arc / ou une WS2812B (https://fr.aliexpress.com/item/5-1000-pcs-WS2812B-LED-Puce-5050-RGB-SMD-Noir-Blanc-version-WS2812-Individuellement-Adressable-Num/32839447056.html?spm=a2g0s.9042311.0.0.27426c37tFOKto), à calibrer au mieux, pour refléter cette intensité particulière ??
- 2 leds bleues pour la rampe de toit
- et 1 buzzer ? (pour accompagner les crépitements de la soudure)

> hum ?
(merci de vos avis, suggestions, commentaires, critiques, conseils  ;)...)

 8)
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Jean-Luc le juin 05, 2018, 11:29:30 am
Bonjour,

Trois remarques :

1) essaye d'aller au bout de quelque chose de plus simple d'abord (enfin c'est mon conseil) parce que là tu complexifies au fur et à mesure : tu allonge le chemin sans le parcourir

2) Plutôt un switch ... case qu'une séquence de if ... else if  ...

3) Pour gérer beaucoup de LED il y a le charlieplexing
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: savignyexpress le juin 05, 2018, 11:58:18 am
Bonjour à tous,

Pour rebondir sur le GOTO...

Si on a que cette possibilité, il est possible de reproduire les structures de base: if then else, for, while, repeat, avec l'instruction GOTO, en se fixant quelques règles. Je l'ai eu fait en assembleur Z80 il y a quelques décennies et c'est ce que les compilateurs font, les processeurs ne connaissant que les GOTO avec ou sans condition.

L'utilisation du GOTO pour sortir en cas d'erreur se remplace avantageusement par un bloc de traitement d'exception, mais il me semble que ce n'est pas disponible pour l'Arduino.

Meilleures salutations.
Titre: Re : Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 05, 2018, 01:23:15 pm
Bonjour

1) essaye d'aller au bout de quelque chose de plus simple d'abord (enfin c'est mon conseil) parce que là tu complexifies au fur et à mesure : tu allonge le chemin sans le parcourir
> oui, j'en suis conscient : quasi chaque matin je me réveille avec une nouvelle option  :) ... ça augmente donc la "densité" du futur prog, mais ça m'oblige aussi à réfléchir sur les différents moyens pour la future mise en oeuvre, et donc de la future programmation ...

... et grâce à tes/vos propositions, ça progresse ! Je crois que le Switch / IF et le charlieplexing en sont deux bons exemples  ;) ?

Pour le moment je rédige un prog (j'essaie) pour chaque idée, comme une action fonction "autonome", puis je teste avec la BB : la mise en "commun" de tous ces sous-ensembles sera pour une étape suivante (via le "switch/case)

J'ai réalisé avec la UNO, sur la BB, le warning simple, le warning SOS... mais je manque de composants (Leds, résistances...) pour tester plus de choses , pour l'instant... (commandes en cours)

"2) Plutôt un switch ... case qu'une séquence de if ... else if  ..."
>> merci de la piste : je vais étudier cette instruction  ;)
EDIT : ici : Switch... case (http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Switchcase) &  Switch... case By JL ! (http://www.locoduino.org/spip.php?article23)

3) Pour gérer beaucoup de LED il y a le charlieplexing
>> idem, je vais étudier ça  ;) (je n'avais pas trouvé cette instruction dans :  cette liste  (http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ReferenceEtendue) )
EDIT : ici ça parle charlieplexing ! (http://www.instructables.com/id/Charlieplexing-the-Arduino/), et ici un  schéma 20 Leds (https://www.google.fr/search?q=charlieplexing&tbm=isch&source=iu&ictx=1&fir=i0_LsBluw_2bbM%253A%252CkRWpLbz2QpnHVM%252C_&usg=__fceK7bDkvxzUrrA01TPHur7w8-g%3D&sa=X&ved=0ahUKEwiq7Lr1w7zbAhXGWxQKHcyoCFEQ9QEIOTAC#imgrc=i0_LsBluw_2bbM:)
>> suite à une première lecture rapide, ça semble tout à fait approprié à mon exercice :  ;)
et un sketch d'exemple est dispo  ICI  (https://github.com/maltesemanTS1/Charlieplexing-the-Arduino/blob/master/Charlieplexing%20Sketch)
> et avec cette méthode, une carte NANO devrait suffire : ??

Merci de tes remarques !
(car je préférerai rédiger un prog "élégant" (et facilitant la maintenance et/ou l'adaptation-évolution) plutôt qu'une liste d’innombrables instructions répétées et recopiées...)

Marc-Henri : pour le Goto  :D, je n'ai pas dit mon dernier mot, mais avant ça je dois faire mes preuves en programmation, en appliquant "Le monde selon Arduino"  ::)

Bonne journée à tous ,  8)
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 06, 2018, 12:57:30 pm
Point d'avancement du jour  : 2 réflexions sur les entrées

1 > dans ce projet, il y a beaucoup de pin à gérer : j'envisage d'utiliser le cours n° 227 sur les tableaux (http://www.locoduino.org/spip.php?article227) : est-ce approprié ?

2 > Puisque le nombre de possibilités de séquences "d'allumage" augmente régulièrement, coté matériel je pense utiliser un clavier numérique pour sélectionner rapidement et facilement le choix :
Un clavier "3 x 4" comme celui ci ? :  Clavier numérique pour Arduino à moins de 1€... (https://fr.aliexpress.com/item/4-3-Matrix-Array-12-Key-Membrane-Switch-Keypad-Keyboard-for-Arduino-AVR-PI-C/2038556771.html?spm=a2g0s.8937460.0.0.324c2e0erpvXiV)
ou bien un Clavier "4 x 4" (https://fr.aliexpress.com/item/4-x-4-Matrix-Array-16-Key-Membrane-Switch-Keypad-Keyboard-for-Arduino-AVR-PI-C/2038555791.html?spm=a2g0w.10010108.1000013.1.4ac45eecV3MwJS&scm=1007.13339.99734.0&scm_id=1007.13339.99734.0&scm-url=1007.13339.99734.0&pvid=2b2a73c8-4c80-4618-bf29-a58d1534fd69&_t=pvid%3A2b2a73c8-4c80-4618-bf29-a58d1534fd69%2Cscm-url%3A1007.13339.99734.0), ce qui permettrait de "classer" les possibilités de choix par "famille" (Axx=Attention warning/Bxx=phares/Cxx=Combinaisons/Dxx=Divers (soudure,...))

Données techniques pour le "3 x 4" :
Pad Taille: 69.2x76.9x0.8mm
Longueur du câble: 3-1/3 " ou 86mm (inclure connecteur)
connecteur: Dupont 7 broches, 0.1 " (2.54mm) Hauteur
Style De montage: Auto-L'adhésion
Max. Circuit Note: 35VDC, 100mA
isolation Spec.: 100 M Ohm, 100 V
Tenue diélectrique: 250 VRms (60Hz, 1 min)
Rebond de Contact: < = 5 ms
Espérance De vie: 1 million de fermetures
Température de fonctionnement:-20 à + 40 °C


> pour la programmation, j'envisage de m'inspirer de cette leçon (pour un "4x4") :Programmation d'un clavier (http://colmard.com/Arduino-lecon25.html)
> apprentissage de la gestion d'une bibliothèque :  CLAVIER  (http://playground.arduino.cc/Code/Keypad)
> et + 7 Pins (si 3x4) (ou 8 pin si 4x4) occupés en entrée... va falloir "tasser" ! (merci JLuc pour Charlieplexing , j'examine ça , le principe "matriciel" semble s'appliquer également à la gestion du clavier ?)
> le câble de liaison est court (8.6 cm) : à rallonger avec des fils Dupont

> ainsi, l'utilisateur devra :
1 - d'abord allumer la carte par un bouton ON/OFF sur le TCO, ce qui enclenchera une série de flash (sur les phares par exemple) pour signifier que "ça marche", puis la carte attendra un choix
2 -puis lire une liste (papier) des choix possibles
3 - puis taper le numéro choisi sur le clavier : ce qui "déclenchera la "fonction" associée (mini : 14/15 pour l'instant)
* * s'il choisi un code inexistant, on peut envisager une série très rapide de "10 flash rouges" par exemple, dont la signification sera indiquée sur la liste papier, et donc il devra/pourra ressaisir un code
4 - et enfin regarder le résultat !

> je vous remercie de vos remarques
 8)

Premiére utilisation de Fritzing : bcp de manques et d'anos

(https://nsa39.casimages.com/img/2018/06/06/mini_180606030527542964.jpg) (https://www.casimages.com/i/180606030527542964.jpg.html)
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 06, 2018, 04:31:34 pm
Petit bout de code (je n'ai pas l'éditeur IDE actuellement => saisie de texte "à la volée...") pour l'exercice "tableau", à partir de l'exercice n° 227
> but : vérifier que les 4 clignotants sont éteints dès "l'allumage" de la carte Uno, en "économisant" de la ligne de code...

const byte pin[] = {4,5,6,7};    // création du tbl pour les 4 Pin des clignotants - Attention Index du 4 = 0
                                              // à ajuster au total des 12 sorties / leds utilisées > TODO : sélectionner les 12 Pin
void setup () {
  for (int i = 0 ; i < 5 ; i++) {      // 5 car 4 leds utilisées dans cet ex
   pinMode (pin , output) ;       // les 4 leds sont déclarées en même temps en sortie
   digitalWrite (pin , LOW) ;      // on éteint ttes les leds avant de commencer une sélection au clavier
  }                                           // fin de la boucle FOR
}                                             // fin du setup

edit : les "crochets" des pin 'i' n'apparaissent pas ici, mais ils sont présents
 8)
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: bobyAndCo le juin 06, 2018, 06:53:57 pm
Bravo j'applaudis des deux mains, très bonne idée d'utiliser des tableaux  :) :) :)

Par contre, il faut utiliser les balises de code pour que ton code dans les messages soit plus lisible. Le bouton avec # à l'intérieur.


const byte pin[] = {4, 5, 6, 7}; // création du tbl pour les 4 Pin des clignotants - Attention Index du 4 = 0
// à ajuster au total des 12 sorties / leds utilisées > TODO : sélectionner les 12 Pin
void setup () {
  for (int i = 0 ; i < 5 ; i++) {      // 5 car 4 leds utilisées dans cet ex
    pinMode (pin[i] , OUTPUT) ;        // les 4 leds sont déclarées en même temps en sortie
    digitalWrite (pin[i] , LOW) ;      // on éteint ttes les leds avant de commencer une sélection au clavier
  }                                    // fin de la boucle FOR
}
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 07, 2018, 08:53:17 am
Merci  ;)

Quelqu'un a déjà utilisé / programmé une WS2812b ?

les résultats m'intéressent, pour simuler :
-- l'éclat d'une soudure à l'arc : pour obtenir la variation du bleu intense au bleu presque blanc, avec le changement de rythme de cette variation lumineuse (comme en vrai, quoi )
-- l'éclat d'une meuleuse : variation de la couleur orange (en intensité lumineuse et en rythme...)
-- pour la rampe bleue sur la toiture de la camionnette (en époque VI): variation des bleus pour "simuler" un gyrophare ...

- idées complémentaires nocturnes
::) :
> simuler une meuleuse, pour une animation supplémentaire qui se verrait par la demi porte ouverte à l'arrière : ajouter une led orange puissante (ou une WS2812 ?), dans la camionnette, avec variation de l'intensité de la lumière, en combinaison avec un SON (gestion d'un son enregistré, j'ai vu qu'il existait une petite carte arduino pour ça)

> un coup je soude, un coup je meule : 2 opérations techniques réelles et complémentaires ...

> à coté du clavier : afficher le choix en cours sur un LCD... (apprentissage...)

Merci de vos conseils
bonne journée à tous  8)
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Jean-Luc le juin 07, 2018, 09:01:57 am
Bonjour,

Oui, voir ici : http://modelleisenbahn.triskell.org/spip.php?article90
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: CATPLUS le juin 07, 2018, 09:08:07 am
Bonjour

Regarde en bas de cette page, j'avais créé un truc dans le même genre

http://forum.locoduino.org/index.php?topic=256.105

Marcel
Titre: Re : Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 07, 2018, 09:36:08 am
Bonjour,
Oui, voir ici : http://modelleisenbahn.triskell.org/spip.php?article90

>> SUPER ! Merci Jean Luc
(ya du boulot - pour moi - avant d'arriver au résultat, mais ton article est très motivant  ;) )

Marcel, merci, j'ai chargé ton prog : je vais l'étudier pour apprendre / comprendre les variations d'intensité et de rythme des lumières ;)

Merci encore  8)

Edit : ça va coincer au niveau du nombre de broches ... Uno = 14 E/S numériques
> prévisions actuelles : clavier 4x4 = 8 broches en entrée + 9 leds (mini) en sortie >> déjà 17 broches
et l'idée d'un affichage (LCD ou 7 segments) n'est pas incluse...
 :-\

edit 2 : demande d'info
> je peine sur la gestion/programmation du choix saisi au clavier...

si ce résultat de choix se nomme "choixClavier" (actuellement environ 20 choix possibles en entrée ), donc compris entre 1 & 20
Dois-je les déclare individuellement ainsi : ??
const int choixX (X = de 1 à 20, donc 20 lignes de programme...)
> y a t il une meilleure méthode ? (dans l'esprit de ceci : for (int i = 0 ; i < 5 ; i++)   

-sachant que "choixX" deviendra le NOM de la fonction qui sera appelée par SWITCH  CASE
>> switch (choixClavier) {
         case choix1:
         // ici la programmation de la fonction 1, par exemple warning simple
         break ;
...etc

merci
Titre: Re : Re : Re : Warning dans véhicule HO / animation de décor réseau
Posté par: msport le juin 07, 2018, 04:29:43 pm
... ça va coincer au niveau du nombre de broches ...

Mais non, mais non :
les broches A0 à A5 peuvent être utilisées en entrées ou en sorties numériques (et les A6 et A7 - disponibles sur certains clones et sur les Nano  peuvent être utilisées en entrée). Les déclarer comme 14 à 19 et 20 et 21.

Quitte à en ajouter quelques unes ...

PS : garder A4 et A5 pour un LCD 16x2 ou 20x4 en I2C / SPI
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 07, 2018, 04:34:50 pm
merci MS,
 je croyais quelles n'étaient qu'analogiques, exclusivement  :
 donc, avec les A4 A5 :  un DEUX pb en moins (clavier & LCD) !

edit : sur le conseil de Christian j'ai acheté le bouquin "Arduino, maitrisez sa programmation et ses shields" : ça va aider aussi .
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 20, 2018, 04:47:25 pm
bonjour

j'ai commencé les recherches sur le clavier 4x4, et trouvé la biblio Keypad.
Vidéo :
https://www.youtube.com/watch?v=qIDzzG2LUtg (https://www.youtube.com/watch?v=qIDzzG2LUtg)
https://www.youtube.com/watch?v=GteMrHri6r8 (https://www.youtube.com/watch?v=GteMrHri6r8) et avec un LCD en prime

> les exemples trouvés expliquent la gestion d'UN caractère sélectionné : je n'ai pas compris COMMENT, dans le programme, on lui indiquait qu'il devait :
Q1 - accepter 3 caractères en entrée (exemple : B12 = b pour la famille des actions xxxx, et 12 pour la 12é action dans cette famille), - sauf l'arrêt d'urgence qui pourrait etre ### ? (associé à un Goto fin  ;D , je plaisante)
Q2 - puis ensuite contrôler la bonne existence du code frappé, (1er caractère -alpha -  inclus compris entre A & D, 2é & 3é caractères - numériques - inclus dans la famille en question - toutes n'auront pas le même maximum, mais ça devra etre évolutif...) : un très vieux souvenir de gestion de tables... : possible dans ce cas ?
Q3 - avant de lancer l'action

> avez vous une piste à m'indiquer ?
merci  8)

edit : j'ai trouvé un début de piste , pour la Q1 : http://forum.arduino.cc/index.php?topic=276550.0 (http://forum.arduino.cc/index.php?topic=276550.0)
>> ça vous semble bon ?

... donc passage à la Q2...
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: msport le juin 20, 2018, 09:25:34 pm
C'est toujours utile de lire un code qui marche, écrit par nos illustres prédécesseurs :

http://trainelectronics.com/DCC_Arduino/DCC++/Throttle/#Rotary_Encoder_in_place_of_Potentiometer

Ce code se modifie sans trop de difficulté pour un clavier 4x4 mais fonctionne déjà tel quel avec.

attention la library LCD utilisée n'est pas obligatoirement à jour. Donc, soit récupérer celle fournie ou adapter le code en fonction des erreurs de compilation (initialisation).

PS : une remarque, le connecteur du clavier 4x4 a la bonne idée de s'adapter directement à 8 broches en ligne du Nano.
Titre: Re : Warning dans véhicule HO / commande par Clavier 4x4
Posté par: BB9004 le juin 21, 2018, 10:07:06 am
Bonjour

Merci Ms
pour le cadeau du matin !  :)  (Et vive les premiers explorateurs !)

> ça semble très proche de ma recherche initiale pour "piloter" l'ensemble des fonctions de la camionnette (et très utile pour d'autres actions HO...)
- utilisation d'un clavier 3x3 : ça me permettra de comprendre comment modifier le code pour passer à 4x4 (plus facile pour le rappel mnémotechnique des codes par famille)
- utilisation d'un LCD à 2 lignes
- alim par batterie de smartphone OU transfo (j'aurai à apprendre la partie "électrique" des différentes alim possibles)
- liaison "sans fil" ou avec fil
- etc ...

Sa vidéo est également bien démonstrative (... son atelier : quasi professionnel ) et les 2 manettes ensemble , miam !
son site doit également être intéressant : j'irai voir

> je vais longuement étudier tout ça, éditer le prog pour l'analyser plus en détail

Merci encore pour ton message  ;)

(ma démarche peut sembler un peu "brouillonne" à bon nombre d'entre vous (qui semblez nager dans la programmation et l'électricité/électronique depuis longtemps) en "papillonnant" sur plusieurs sujets à la fois - le langage de programmation, les cartes, les réalisations, l'évolution du CDC ...- , mais pour le moment j'essaie de comprendre les différentes possibilités et les outils disponibles du monde Arduino, pour ensuite essayer, à mon niveau, d'en extraire la synthèse la plus appropriée à ce premier projet d'apprentissage)

Exemple d'évolution du CDC, avec l'idée du matin  ::) : commander l'ouverture LENTE de la porte arrière de la camionnette AVANT de lancer la led de la soudure (blanche vive)  ou de la meuleuse (orange instable) ; pour cela : utilisation de l'instruction "stepper" à étudier, avec un servo, et éventuellement un signal PWM...

Puis ce serait une évolution avec l'association des sons : grincement d'ouverture de porte, grésillement de la soudure, bruit strident et varié de la meuleuse ...

Bonne journée à tous  8)
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Dominique le juin 21, 2018, 10:11:12 am
Citer
onc il y aura autant de IF que de choix possibles au clavier : ??

Il faut utiliser le switch case dans ce cas !

Titre: Re : Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 21, 2018, 11:29:10 am
Citer
donc il y aura autant de IF que de choix possibles au clavier : ??

Il faut utiliser le switch case dans ce cas !

Oui, c'est le conseil également donné par Jean Luc :

Bonjour,
...
2) Plutôt un switch ... case qu'une séquence de if ... else if  ...

3) Pour gérer beaucoup de LED il y a le charlieplexing

... ce que je vais donc mettre en oeuvre.

Actuellement je "travaille (réfléchi)" sur la gestion des Entrées, (je n'ai pas forcément les bons termes techniques) et le lien communiqué ce matin par Msport va grandement m'aider  :) ...
- puis ce sera la gestion des actions, par programmation individuelle de chaque "sous-fonction" ,
- puis les tests "individuels" (1 test = 1 sous fonction) sur une BB (j'ai reçu des leds et des R)
- puis la mise en commun de toutes les fonctions, par ajout successifs, afin de cerner les anos d'incohérence
- puis le (les...) test global : j'en suis loin
- puis montage d'un proto : une scénette SUR une boite à chaussures, pour y loger l'usine à gaz mécanico-arduinesque (je cherche la plus grande camionnette HO possible...) Une aiguille, 3 bouts de voie, un bout de décor en fond, une loco en panne (inerte), la camionnette, 2 ou 3 ouvriers...

ça avance doucement  8)

edit : un petit film YT sur la connexion Clavier / uNO : https://www.youtube.com/watch?v=Zs9sWxkHzf4 (https://www.youtube.com/watch?v=Zs9sWxkHzf4)
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 27, 2018, 11:07:33 am
Bonjour

la question du jour  ::)
> peut-on utiliser la touche "*" d'un clavier 4x4 en remplacement d'un potar ?
>> pour faire varier le son de sortie de la lecture de la carte micro SD ?
>>> par exemple : 1 appui =  son faible, 2 = son moyen, 3 = son fort (> le choix serait affiché sur le LCD)

Mais j'ai prévu de contrôler qu'il y avait bien toujours 3 touches de saisies, car le choix d'une action est composé d'1 lettre et de 2 chiffres, comme "B07" par exemple

> il faudrait donc contrôler en premier SI c'est la touche "*" qui est saisie, et donc "goto" ( ;D - blague !)  "potar": ? (puis suite des "swicth ... case", actuellement environ 23 case.

Donc : possible d'utiliser la touche "*" pour cette fonction ?
si oui, connaissez vous un exemple de prog où je pourrai analyser la prog ?

Merci de vos conseils et expériences, bonne journée à tous
 8)
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Dominique le juin 27, 2018, 11:37:35 am
facile :

Tu affectes une variables "niveau_son" à la détection de "*"
A chaque appui sur * tu incrémentes "niveau_son" : 1, puis 2, puis 3, puis 0, puis 1, etc..
et tu modifies le niveau du son évidemment.
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 27, 2018, 12:13:11 pm
Merci !

Effectivement : simple ...
mais pour le "0" ??? (bonne idée, sans son  ::) ) > comment un appui peut etre "zéro" ?
ou alors 1 appui * = sans son, 2 = faible, etc : ??

et un complément de question sur la gestion du SON :

> avec le module "carte SD" faut-il utiliser un ampli ? (qui serait alors "piloté" par "niveau_son" ?, mais son potar d'ampli ?)
ex : https://fr.aliexpress.com/item/PAM8406-Digital-Class-D-Stereo-Audio-Amplifier-Board-2-Channel-6W-2-AMP-Board/32665965317.html?spm=a2g0s.8937460.0.0.5cbd2e0eRLBpHA (https://fr.aliexpress.com/item/PAM8406-Digital-Class-D-Stereo-Audio-Amplifier-Board-2-Channel-6W-2-AMP-Board/32665965317.html?spm=a2g0s.8937460.0.0.5cbd2e0eRLBpHA)
??

(l'idée étant d'adapter la sortie sonore à l'environnement - imaginons cette mini animation dans une expo...)
Titre: Re : Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Dominique le juin 27, 2018, 01:22:34 pm
J’ai pourtant été clair :

Tu affectes une variables "niveau_son" à la détection de "*"
A chaque appui sur * tu incrémentes "niveau_son" : 1, puis 2, puis 3, puis 0, puis 1, etc..
et tu modifies le niveau du son évidemment.

A chaque appui (une fois) le niveau change.
Titre: Re : Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Dominique le juin 27, 2018, 01:31:50 pm
[/u]sur la gestion du SON :

> avec le module "carte SD" faut-il utiliser un ampli ? (qui serait alors "piloté" par "niveau_son" ?, mais son potar d'ampli ?)
ex : https://fr.aliexpress.com/item/PAM8406-Digital-Class-D-Stereo-Audio-Amplifier-Board-2-Channel-6W-2-AMP-Board/32665965317.html?spm=a2g0s.8937460.0.0.5cbd2e0eRLBpHA (https://fr.aliexpress.com/item/PAM8406-Digital-Class-D-Stereo-Audio-Amplifier-Board-2-Channel-6W-2-AMP-Board/32665965317.html?spm=a2g0s.8937460.0.0.5cbd2e0eRLBpHA)
??

(l'idée étant d'adapter la sortie sonore à l'environnement - imaginons cette mini animation dans une expo...)

Tu fais comme tu veux, selon la puissance et la qualité sonore recherchée. Ces petits ampli en classe D ne sont pas cher mais génèrent parfois des ultrasons que les enfants entendent. Je dirais même que la qualité du haut-parleur est primordiale. Je n’en connais pas de bons et petits. J’utilise de la récup.

Il faut faire des essais.
Titre: Warning dans véhicule HO / animation de décor réseau
Posté par: BB9004 le juin 27, 2018, 03:26:20 pm
J’ai pourtant été clair :
...

> ma réponse est : NON
ce n'est pas clair.

Au delà de l'aspect "pédagogique" de la forme de votre réponse, ma demande de précision illustre bien, me semble t il, mon incompétence et donc mon incompréhension : j'ai écrit à plusieurs reprises que je débutais, et cela signifie que les aspects limpides pour un expert ne le sont pas pour un débutant, qui, par nature, ne maitrise ni les subtilités des instructions , ni les conséquences de ces instructions.

Je suis sur ce forum pour apprendre, et mener à bien plusieurs projets ferroviaires à base d'Arduino : SI mes questions vous paraissent déplacées (il y a un précédent), je vous demande simplement d'éviter mes messages, je ne suis pas là pour vous" faire perdre votre temps".

Bien respectueusement.

Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Dominique le juin 27, 2018, 03:47:46 pm
Citer
> ma réponse est : NON
ce n'est pas clair.

Ah bon, pas besoin de s'énerver  >:(

qu’est-ce tu ne comprends pas ?
- créer une variable ?
- incrémenter une variable ?
niveau_son ++;
if (niveau_son > 3) niveau_son = 0;
-tester si un caractère reçu est « * » ?

Apprendre c’est un peu aussi chercher par soi-même, non ?
Je voulais juste te donner des pistes, pas faire ton programme.
 
Je crois que je vais éviter tes messages si tu préfères.

Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Tony04 le juin 27, 2018, 05:19:45 pm
Y aurait-il des participants qui ont besoin de vacances  8) 8) 8) 8) ???

Dommage de plomber un peu la belle ambiance de ce forum.

Cordialement
Antoine
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: savignyexpress le juin 29, 2018, 12:55:10 pm
Bonjour à tous,

Je souhaite proposer une démarche à BB9004 pour apprendre le développement Arduino puis l'appliquer à son projet. Le site Locoduino est une excellente source d'information pour cet apprentissage.

Apprentissage
Commencer par de petits programmes qui ne gèrent chacun qu'une fonctionnalité, pour bien comprendre les principes de base. Par exemple:
Mise en oeuvre dans le projet

Je suis prêt à répondre aux questions de BB9004 ainsi qu'à celles d'autres débutants qui auront suivi une telle démarche d'auto apprentissage. Certainement que les autres membres du forum partageront mon point de vue.

Bonne fin de semaine et meilleures salutations.

Marc-Henri
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Dominique le juin 29, 2018, 08:29:07 pm
Merci Marc-Henri,

Ça c’est très très gentil de proposer une méthode et une aide pour les débutants.

J’avoue que j’ai parfois du mal à me mettre à la portée des débutants après plus de 1000 messages sur ce forum, plus de 60 articles et 450 réponses sur le site éditorial.
J’espère que BB9004 ne m’en voudra pas (avec un petit conseil : la POO viendra plutôt après les bases  ;)).

Bien amicalement
Dominique



Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: msport le juin 30, 2018, 10:31:21 am
Bonjour à tous,

en essayant de prendre un peu de recul, je pense qu'il faut prendre en compte tous les points de vue.
Certes, si on intervient sur un forum, c'est pour aider aussi bien que ceux qui maitrisent leur sujet que ceux qui débutent (comme nous avons été aidés et comme nous le sommes toujours).
Parallèlement, il faut aussi comprendre qu'on espère que le débutant fasse au moins autant d'efforts pour avancer que celui qui va lui répondre. La machine à apprendre n'existe que dans le film de Claude Zidi. Il n'est pas souhaitable pour la bonne tenue du forum que des messages s'enchainent pour simplement arriver à poser la bonne question, bonne question qui a parfois eu sa réponse auparavant.

Je suis convaincu que poser de bonnes questions augmente les chances d'avoir de bonnes réponses.
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Thierry le juin 30, 2018, 10:43:41 am
Bonjour

C'est évident que la bonne réponse amène beaucoup plus facilement la bonne solution, mais depuis trente ans que j'utilise des moteurs de recherche, que je forme de jeunes (ou moins jeunes) développeurs, j'en suis arrivé à la conclusion que formuler correctement la bonne question/requête présuppose tout un tas de connaissances, d'acquis, de vocabulaire, que l'on ne peux acquérir que petit à petit. A charge pour nous, les anciens :), de donner les outils pour y arriver, d'être patients et didactiques.
Et quand je parle de vocabulaire... J'ai coutume de dire à mes ouailles que chaque mot est important, qu'il donne du sens, et qu'un mot employé pour un autre change quelquefois totalement la façon de réfléchir à la solution. La première des formations est celle qui doit donner un vocabulaire commun à un groupe qui est censé parler de la même chose. Lorsque de petits nouveaux arrivent, la première chose à leur apprendre, c'est ce vocabulaire, et il ne faut pas hésiter à les reprendre lorsque le terme employé n'est pas le bon (et qu'on s'en aperçoit !) ou juste approximatif. C'est notre boulot de dégrossir les jeunes pour les faire rentrer dans le moule. A charge encore pour nous de ne pas nous enfermer dans un jargon technique abscons : un résistance de tirage, un condo de filtrage, une liste chaînée ou une fonction récursive, ça ne parle pas forcément à tout le monde !
Titre: Re : Re : Warning dans véhicule HO / animation de décor réseau
Posté par: msport le juin 30, 2018, 11:24:07 am
... une résistance de tirage, un condo de filtrage, une liste chaînée ou une fonction récursive, ça ne parle pas forcément à tout le monde !

Effectivement, à moi non plus, mais un petit coup de Google m'a proposé environ 100 000 réponses à chaque fois.
Et certaines étaient très pertinentes !

Je pense que la vocation de Locoduino n'est pas de se substituer aux formations de base pour les primo débutants, très bien faites par ailleurs.
Ceux-ci y trouveront un apprentissage gradué comme le rappelle Marc-Henri. Et on répondra avec plaisir aux questions suivantes.

On a tous dans nos tiroirs des projets inaboutis qui, en raison d'ambitions trop grandes, attendent nos efforts. Evitons ces erreurs à nos jeunes amis.

Donc relisons et faisons relire l'article de Christian :
http://locoduino.org/spip.php?article233
Titre: Re : Re : Warning dans véhicule HO / animation de décor réseau
Posté par: msport le juillet 02, 2018, 11:04:04 am
> pour les curieux : propositions de lecture ...
- Waterfall : https://www.planzone.fr/blog/quest-ce-q ... -waterfall

Oups, il y a un problème...
Nous sommes désolés, mais la page que vous demandez n'existe pas.

Bon, on ne va quand même pas passer plus de temps à se justifier (de quoi ?) que de s'occuper de nos Arduinos ?

Par définition, on est dans le bénévolat, donc chacun est libre d'apporter ce qu'il souhaite et d'exprimer ses idées.
Tout un chacun y trouve sa satisfaction différemment.
Et ceux qui en bénéficient peuvent prendre en compte les avis de ceux qui apportent leur aide si ils souhaitent que ça continue.

LOCODUINOment votre,

Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Dominique le juillet 02, 2018, 11:09:49 am
Quand un débutant passe plus de temps à donner des leçons aux autres qu'à travailler son apprentissage en silence, qu'il étale ses acquisitions de connaissance dans le seul Arduino de base sur de multiples sujets plutôt que sur un projet ferroviaire, cela ne rend pas service aux autres modélistes et je dis HALTE au FEU !

Le message sans rapport avec le site a été enlevé.
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Dominique le juillet 02, 2018, 04:39:32 pm
Explications de la modération pour les messages supprimés et la disparition du membre BB0004 créateur de ce sujet :


Notre ami BB9004, qui a (ou avait) plusieurs projets intéressants de modélisme ferroviaire, plutôt complexes pour un débutant, a eu la maladresse de céder à la polémique à mon encontre en oubliant (probablement involontairement) qu'il n'était pas sur un réseau social, malgré les bonnes volontés de nombre d'entre nous (Marc-Henri, Jean-Luc, Msport, Thierry, Rob1, BobyAndCo, CATPLUS, Tony04 et même moi).

Quel bel avantage d'être si bien entouré, ce qui n'excuse nullement la polémique, les phrases déplacées et les citations hors sujet : un événement précédent m'ayant déjà amené à exercer la modération, il est probable qu'une rancune à mon égard l'a fait dérapé.

Ces beaux projets dans un contexte d'aide haut de gamme ne devaient pas être aussi réels puisque il a décidé de quitter ce forum.

Bien entendu il peut revenir plus tard nous faire part du succès de ses projets et partager son expérience avec d'autres membres.

Bien amicalement
Dominique
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Tony04 le juillet 02, 2018, 06:18:34 pm
Bonsoir Locoduino,

je comprends mieux pourquoi ce forum reste aussi "haut de gamme" avec un vrai pro pour modérateur.

Merci pour ton travail et un grand bravo pour ta diplomatie; n'aurais-tu pas raté une vocation ?

En toute amitié
Antoine
Titre: Re : Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Dominique le juillet 02, 2018, 06:34:24 pm
n'aurais-tu pas raté une vocation ?

Si, plein !
Mais la retraite étant venue, il faut savoir atterrir en douceur.

Merci pour ton soutien (et tout le monde aussi).
Amicalement
Dominique
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: Rob1 le juillet 05, 2018, 01:20:41 pm
En tant que fidèle lecteur et très modeste contributeur de ce site je souhaite apporter mon soutien à Dominique.
Je n’ai pas le sentiment que ce forum se veuille élitiste, chacun peut y trouver de quoi progresser suivant son niveau.
Certes un vrai débutant devra sans doute trouver par ailleurs (les sites ne manquent pas) les éléments nécessaires à accroitre sa maîtrise des technologies et Arduino en particulier afin de pouvoir intégrer les nombreuses solutions que Locoduino lui propose.
Ce qui semble faire défaut à certains, me semble-t-il, c’est la conscience de la différence entre des logiciels d’automatisation et des logiciels informatique.
Les premiers, appelés machine à états sur Locoduino ou Grafcet chez d’autres, sont plus rarement documentés pour les débutants. On en trouve sur Locoduino, doit-on les rendre plus progressifs ?
En tout cas un grand merci à tous les rédacteurs de ce site. Amicalement Roland
Titre: Re : Warning dans véhicule HO / animation de décor réseau
Posté par: petitrain le juillet 05, 2018, 01:52:43 pm
Je me joints à l'ambiance générale pour féliciter la tenue de ce site et surtout Dominique qui a l'air d'être mis en cause.
Même si des articles semblent un peu ardus aux novices que nous sommes, nous pouvons toujours posé le problème qui nous arrête et des éclaircissements, des pistes ne tardent pas à arriver....
Bien sur, il faut travailler par soi-même, mais c'est comme cela qu'on apprend et quelle joie se dépasser les problèmes...

Merci à vous tous pour l'entraide et votre dévouement.