Feux clignotants PN

Re: Feux clignotants PN

Messagepar Xavier » 28 Mars 2016, 12:57

Bonjour,

Une première version du sketch est prête a tester avec un Arduino Uno :
DCC_PN_Decodeur_V1.zip
(5.94 Kio) Téléchargé 130 fois

- pin 2 : Interface Dcc
- pin 5 et 6 : commandes des servomoteurs (PWM)
- pin 9, 10, 11, 13 : commandes des leds: L'allumage et l'extinction des leds sont progressifs (Grâce au PWM)

Les bibliothèques suivantes sont nécessaires:
- Servo (Standard)
- EEPROM (Standard)
- DCC_Decoder (http://www.snowopolis.com/mynabay/dcc-monitor)
- LiquidCrystal_I2C (https://github.com/fdebrabander/Arduino ... 2C-library :pas obligatoire sauf si ecran lcd 2x16 I2C)
- Music (pas obligatoire sauf MP3 itead)

Charger le sketch avec l'IDE Arduino, lancer le moniteur série (vérifier le port, le type de carte ainsi que les caractéristiques de la liaison série NL & CR à 9600 bds).
Au démarrage, on affiche sur le moniteur:
- La liste des commandes disponibles
- Les valeurs sauvegardées des paramètres (Adresse Dcc, Vitesse des servos, Vitesse de clignotement, temporisation entre Feux et PN)

La mémoire doit être initialisée à la première mise sous tension!
- Adresse Dcc: A<Adresse>
- Vitesse : V20
- Temporisation : D5000
- Clignotement : T1000
Ces paramètres pourront être modifiés par la suite pour mieux correspondre aux besoins.

Pour tester le montage sans Dcc, à partir du moniteur série:
- Fermeture du PN : C1
- Ouverture du PN : C0

Pour la suite, il n'est pas utile de lancer le moniteur série. L'interface Dcc est par contre nécessaire.
Si l'Arduino n'est pas branché, il faut l'alimenter soit par la prise Jack soit par un montage d'alimentation par le Dcc.

Je reste disponible pour tout complément et proposition d'amélioration.

Amicalement,

Xavier
Dernière édition par Xavier le 29 Mars 2016, 19:54, édité 1 fois au total.
Echelle N , Run depuis le 01/01/2013
Centrale NanoX/Roco + GenLiS88, Dcc++, Décodeurs Accessoires à base d'Arduino
Rétrosignalisation LDT RM-GB-8-N-B, Décodeur d'aiguillage LDT M-DEC-DC-B, Moteurs Conrad 219998
Club; AMFBC 73
Xavier
 
Messages: 465
Inscrit le: 11 Décembre 2009, 19:01
Localisation: Challes les eaux - Chambery (Savoie / Rhône Alpes)

Re: Feux clignotants PN

Messagepar gily » 29 Mars 2016, 12:57

Bonjour

C'est très interessant. L'arduino fourni ici avec le programme source et ses bibliothèques permet ainsi de personnaliser son décodeur d'accessoires :D

Voilà qui permet de piloter le PN sans programme client, mais juste avec deux actionneurs (un pour la fermeture et l'autre pour l"ouverture)

Juste une question : comment est interfacé le DCC sur la pin d'entrée 2 ?

merci pour ce post
gily
 
Messages: 1135
Inscrit le: 25 Juillet 2014, 14:32
Localisation: nord

Re: Feux clignotants PN

Messagepar christiandard » 29 Mars 2016, 16:24

Bonjour.

J'ai donc téléchargé le programme Arduino (version française) pour commencer.
La "plaque" arrivera dans la semaine, je suis occupé la semaine prochaine, je ne pourrai donc pas m'occuper de tout cela directement, les petits enfants d'abord...

J'ai voulu compiler (vérifier) le programme et j'obtiens des erreurs.
Est-ce du au fait qu'il n'y a pas d'Arduino branché.

C'est déjà une première approche pour un novice.

Si Xavier passe par là, on continue le sujet directement sur le forum pour que tout le monde puisse en profiter, si tu veux bien.

Ch.
Echelle N, Peco code 55.
Centrale MM et Lenz LVZ100, interface USB Lenz.
Rétro LDT RS-8, moteurs Conrad et Tortoise.
Sprog II pour la programmation des locos.

http://www.minivillepassion.net
christiandard
 
Messages: 1067
Inscrit le: 15 Décembre 2012, 09:35

Re: Feux clignotants PN

Messagepar Xavier » 29 Mars 2016, 18:21

Bonsoir,

Le schéma de l'interface DCC est ici, sur mon site

Les erreurs de compilations doivent être liées à l'absence des librairies.
Les librairies sont indiquées et début de sketch (c'est le nom des programmes Arduino) dans les lignes
#include <DCC_Decoder.h>
#define kDCC_INTERRUPT 0
#include <Servo.h>
#include <EEPROM.h>
#include <LiquidCrystal_I2C.h>
//#include <Music.h>

La compilation ne nécessite pas que l'Arduino soit branché (contrairement au chargement/televerser: attention au type de carte et au port dans le menu Outils )
En cas d'erreur, les messages d'erreur devraient aider à cerner l'anomalie. Par exemple ...
"DCC_PN_Decodeur_V1.ino:22:31: fatal error: LiquidCrystal_I2C.h: Aucun fichier ou dossier de ce type
compilation terminated."
indique que la librairie LiquidCrystal_I2C n'est pas correctement installée. D'ailleurs, quand on va dans le fichier Fichier / Exemples, elle ne se trouve pas dans la liste.
Pour l'installer, il faut disposer du Zip correspondant (savoir où il est) et aller dans le menu Croquis \ Importer bibliothèque (linux 1:1.0.5 + dfsg2-2) ou son équivalent (Windows 1.6.6) Croquis \ Inculre une bibliothèque \ Ajouter la bibliothèque .Zip

Le premier qui réussit à compiler ... a le droit de :
- rejouer
- expliquer comment il a fait!

Amicalement,

Xavier
Echelle N , Run depuis le 01/01/2013
Centrale NanoX/Roco + GenLiS88, Dcc++, Décodeurs Accessoires à base d'Arduino
Rétrosignalisation LDT RM-GB-8-N-B, Décodeur d'aiguillage LDT M-DEC-DC-B, Moteurs Conrad 219998
Club; AMFBC 73
Xavier
 
Messages: 465
Inscrit le: 11 Décembre 2009, 19:01
Localisation: Challes les eaux - Chambery (Savoie / Rhône Alpes)

Re: Feux clignotants PN

Messagepar christiandard » 29 Mars 2016, 19:49

Bonsoir.

Pour le branchement DCC, même si je n'y suis pas encore, le 1 et 2 correspondent à J K ?

Ch.
Echelle N, Peco code 55.
Centrale MM et Lenz LVZ100, interface USB Lenz.
Rétro LDT RS-8, moteurs Conrad et Tortoise.
Sprog II pour la programmation des locos.

http://www.minivillepassion.net
christiandard
 
Messages: 1067
Inscrit le: 15 Décembre 2012, 09:35

Re: Feux clignotants PN

Messagepar Xavier » 29 Mars 2016, 19:52

Bonsoir,

Exactement, Christian, et il n'y a pas de polarité.

Amicalement

Xavier
Echelle N , Run depuis le 01/01/2013
Centrale NanoX/Roco + GenLiS88, Dcc++, Décodeurs Accessoires à base d'Arduino
Rétrosignalisation LDT RM-GB-8-N-B, Décodeur d'aiguillage LDT M-DEC-DC-B, Moteurs Conrad 219998
Club; AMFBC 73
Xavier
 
Messages: 465
Inscrit le: 11 Décembre 2009, 19:01
Localisation: Challes les eaux - Chambery (Savoie / Rhône Alpes)

Re: Feux clignotants PN

Messagepar christiandard » 29 Mars 2016, 21:03

Bonsoir.

Il faudra me faire un petit schéma pour les branchements pour les alimentations et tout et tout...

Si tu veux bien.

Ch.
Echelle N, Peco code 55.
Centrale MM et Lenz LVZ100, interface USB Lenz.
Rétro LDT RS-8, moteurs Conrad et Tortoise.
Sprog II pour la programmation des locos.

http://www.minivillepassion.net
christiandard
 
Messages: 1067
Inscrit le: 15 Décembre 2012, 09:35

Re: Feux clignotants PN

Messagepar christiandard » 30 Mars 2016, 14:31

Bonjour.

J'ai reçu ma carte Uno.
J'ai relancé le programme Arduino, les biblis sont ok.
Quand je compile, une erreur à propos de l'écran LCD.

'class LiquidCrystal_I2C' has no member named 'init'

Quand j'enlève la phrase, le compilateur est ok.

Si j'ai bien repéré dans le programme, l'écran sert (s'il y en a un de branché) à voir les réglages DCC, angles des servos, etc....
S'il n'y a pas d'écran, comment fait-on?
Directement par l'intermédiaire de CDM via un client I/P ou ??????

J'en suis déjà là, j'ai tous les éléments pour faire le décodeur et je vais d'ailleurs monter sur plaque d'essai maintenant.

Si Xavier passe par ici, peux-tu m'expliquer la marche à suivre ?

Ch.
Echelle N, Peco code 55.
Centrale MM et Lenz LVZ100, interface USB Lenz.
Rétro LDT RS-8, moteurs Conrad et Tortoise.
Sprog II pour la programmation des locos.

http://www.minivillepassion.net
christiandard
 
Messages: 1067
Inscrit le: 15 Décembre 2012, 09:35

Re: Feux clignotants PN

Messagepar christiandard » 30 Mars 2016, 17:04

Bonsoir.

Pour Xavier.

A quoi correspond le C0 ou C1 pour tester sans DCC.
Bon je viens de voir qu'il faut inscrire la commande dans le moniteur de série.

Mais y'a rien qui bouge.....

Comment fait on pour avoir les paramètres sur le moniteur de série ?

Je suis toutes les instructions que tu as données pour la mise en route.
Il ne faut pas brancher toutes les leds ni les deux servos (je suppose) pour que tout fonctionne.

Merci de ton aide.

Ch.
Echelle N, Peco code 55.
Centrale MM et Lenz LVZ100, interface USB Lenz.
Rétro LDT RS-8, moteurs Conrad et Tortoise.
Sprog II pour la programmation des locos.

http://www.minivillepassion.net
christiandard
 
Messages: 1067
Inscrit le: 15 Décembre 2012, 09:35

Re: Feux clignotants PN

Messagepar Xavier » 30 Mars 2016, 17:59

Bonsoir Christian,

J'ai craint un moment que tu ne lise pas tout... ;)
Effectivement Tu peux mettre en commentaire toutes les lignes qui commencent par "lcd." ou "lcm1602" ainsi que
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,2); // set the LCD address to 0x27 for a 16 chars and 2 line display

A la mise sous tension le moniteur série affiche un certain nombre d'informations sur le moniteur:
- La liste des commandes disponibles
- Les valeurs sauvegardées des paramètres (Adresse Dcc, Vitesse des servos, Vitesse de clignotement, temporisation entre Feux et PN)
Si ce n'est pas le cas il faut vérifier le port, le type de carte ainsi que ( C'est en bas du moniteur!) les caractéristiques de la liaison série 'NL & CR' à '9600 bds' et cocher le défilement automatique.

Tu ne peux pas aller plus loin temps que ces messages ne s'affichent pas au reset : le bouton sur l'Arduino ou l'ouverture du moniteur. :mrgreen:

Les commandes C0, C1 et les autres sont écrites dans la ligne du haut et validées par la touche 'entrée' du clavier. Elles sont toutes confirmées par un message en retour.
C0 ouvre le PN
C1 ferme le PN
Ces 2 commandes correspondent à l'état du bit 0 du décodeur (c'est l'adresse de base)
Les mouvements de servomoteurs et autres se font en fonction du contenu de la mémoire EEPROM qu'il faut initialiser à la toute première utilisation: quand tu achètes ton Arduino tout est à 255!
Tu peux visualiser le contenu utile de l'EEPROM avec la commande Y

Pour initialiser la mémoire, ce sont les commandes suivantes...
- Adresse de base Dcc: A<Adresse>
- Vitesse : V20
- Temporisation : D5000
- Clignotement : T1000
Les valeurs données ici s'afficheront à la commande L. Ce sont les valeurs que je préconise... A affiner par la suite.

Pour mes tests, j'ai branché une led en 9, un Servo en 6. La led 13 (sur l'Arduino clignote aussi) voir ligne 415 à 420 du sketch!
PnServo[0].attach(6);
PnServo[1].attach(5);
LedPin[0]=13;
LedPin[1]=9;
LedPin[2]=10;
LedPin[3]=11;

Les lignes 35-38 définissent les angles mini, maxi et reset de chaque servomoteur (rien n'est mis en place pour paramétrer ces informations)
int MinValue[16]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75};
int MaxValue[16]= {25,30,35,40,45,50,120,60,65,70,75,80,85,90,95,100};
int MoveValue[16]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75};
Comme j'utilise la pin 6 pour le servomoteur j'ai mis en gras les valeurs correspondantes ci dessus, qui définissent un mouvement de 90°.

J'avais bien dit que c'était un peu à l'arrache!

une petite vidéo quand même... avec l'écran

Amicalement,

Xavier
Echelle N , Run depuis le 01/01/2013
Centrale NanoX/Roco + GenLiS88, Dcc++, Décodeurs Accessoires à base d'Arduino
Rétrosignalisation LDT RM-GB-8-N-B, Décodeur d'aiguillage LDT M-DEC-DC-B, Moteurs Conrad 219998
Club; AMFBC 73
Xavier
 
Messages: 465
Inscrit le: 11 Décembre 2009, 19:01
Localisation: Challes les eaux - Chambery (Savoie / Rhône Alpes)

PrécédentSuivant

Retourner vers Automatismes

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invités