Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - jeanmi67

Pages: 1 [2]
16
Débuter / Re : Rétrosignalisation
« le: septembre 05, 2019, 11:07:45 am »
Bonjour,

Pour l'analogique, vous avez plusieurs solutions possibles sur cette page :
http://amfn.nice.free.fr/det2.htm

Jean-Michel  :)

17
Vos projets / Re : Réalisation de carte pour compléter le shield ATTiny
« le: février 22, 2018, 09:33:32 am »
... voir http://forum.locoduino.org/index.php?topic=290.msg3125#msg3125 ...

Bonjour,

Le lien ne fonctionne pas très bien semble-t-il...

Cordialement.
Jean-Michel

18
Vos projets / Re : Utilisation d'ATTiny
« le: février 16, 2018, 04:11:48 pm »
Merci pour votre réponse  :D

Pour la mutualisation de frais, j'avais bien compris votre proposition dans ce sens, mais j'admets que ma formulation sur ce sujet était un peu maladroite  ;)

Jean-Michel

19
Vos projets / Re : Utilisation d'ATTiny
« le: février 16, 2018, 02:28:56 pm »
Bonjour, :)

Merci pour votre proposition, mais ayant déjà réalisé un module "universel" (universel pour mes besoins évidement) à partir d'un support de test à 40 broches, je ne vais malheureusement pas vous passer commande.

Par contre, les photos que vous nous montrez ainsi que le schéma de votre shield pour Uno m'interpellent.

En effet, pour réaliser mon module, je me suis basé sur ce que Christian avait écrit et dessiné sur le site Locoduino concernant la procédure de programmation du microcontrôleur ATtiny45 (http://www.locoduino.org/spip.php?article189).
Dans cet arcticle sur Locoduino, à aucun moment il n'est fait mention de condensateur, et j'ai déjà programmé sans problème plusieurs ATtiny45 comme celà.

Sur votre shield, je vois six condensateurs dont un polarisé.
De plus, en regardant le lien que vous avez donné concernant l'ATTinyCore (https://github.com/SpenceKonde/ATTinyCore), je lis :
Citer
To work correctly, these parts should be installed with a 0.1uf capacitor between Vcc and Ground, as close to the chip as possible

Mes questions sont donc les suivantes :
  • Quelle est l'utilité de ces condensateurs ?
  • Comment doivent-ils être connectés ?
  • Quelles sont leur valeur ?
Je ne suis pas du tout électronicien de formation, j'ai fait un peu de programmation dans ma vie, vous m'avez fait découvrir l'électronique programmable et je vous en suis très reconnaissant.
Mon apprentissage se faisant avec vous, c'est donc vous que j'embête avec mes questions ;D et excusez moi par avance si les réponses ont déjà été données par ailleurs.

Bien cordialement.
Jean-Michel


20
Vos projets / Re : Bibliotheque minabay et le DCC.loop()
« le: juin 13, 2017, 12:24:27 am »
...
le temps de déplacement d'une butée à l’autre est de 1sec. Pendant ce temps le nano n'est pas capable de lire une commande DCC. Je suis sur Train Controller et Train Controller envoi les ordres les uns derrière les autres sans delai, le résultat fait que mon système n'est pas capable de lire toutes les commandes DCC envoyées par la centrale. en fait il lit la premiere et puis plus rien tant que le servo n'est pas arrivé
Logiquement j'ai inserré une commande DCC.loop() dans la boucle for pour pouvoir lire plusieurs commande DCC en provenance de la centrale.

Bonjour,

Une première piste : je ne sais pas quelle est la finalité des instructions delay(30) dans la routine mais toujours est-il que la fonction delay() met en pause totale le programme. Donc si des commandes DCC arrivent durant cette pause, elles seront perdues.

Par ailleurs, et à titre personnel, je ne trouve pas très heureux le choix de la police utilisée pour retranscrire du code.
L'utilisation de la balise "Code" (bouton #) serait sans doute plus judicieux. Exemple :
case 0:  // bouge le servo vers position droite
        for (pos = Aig[xx][2] ; pos <= Aig[xx][1] ; pos = pos + Pas) {
          Aig1.writeMicroseconds(pos);
          Serial.println (pos);
          delay(30);
          if (pos == xP + Aig[xx][2] ) {
            Serial.println("vers pos droite pos Droit > devié relais actionne");
            digitalWrite (NumPinR[xx], LOW);
            DCC.loop();
          }
        }
        Aig1.writeMicroseconds(Aig[xx][1] + Ressort);
        break;
      case 1:  // bouge le servo vers position deviee
        for (pos = Aig[xx][1] ; pos >= Aig[xx][2] ; pos = pos - Pas) {
          Aig1.writeMicroseconds(pos);
          Serial.println (pos);
          delay(30);
          if (pos == Aig[xx][1] - xP) {
            Serial.println("vers pos deviee pos Droit > devié relais actionne");
            digitalWrite (NumPinR[xx], HIGH);
             DCC.loop();
          }     
        }

Jean-Michel  :)

21
Vos projets / Re : Utilisation d'ATTiny
« le: juin 02, 2017, 05:13:16 pm »
Bonjour,

Merci pour cette vidéo  :)

Pour ceux que cela intéresse, la version modifiée de ce programme intégrant l'extinction et l'allumage progressifs des LEDs a également été publiée un peu plus haut dans ce fil (version testé sur un montage réalisé avec un ATtiny85).

Jean-Michel

22
Vos projets / Re : Re : Utilisation d'ATTiny
« le: mai 29, 2017, 11:48:39 pm »
Bonjour,

jeanmi67 : merci pour tes expérimentations. Donc il existe une bibliothèque pour les ATtiny. Peux-tu nous dire où la télécharger ?

J'ai trouvé cette bibliotèque sur le site de l'Arduino, et plus précisément ici : https://playground.arduino.cc/ComponentLib/Servo


CATPLUS : effectivement, il manque une ou deux lignes dans le programme de la fiche pratique du LR mai 2017.

Je pense que c'est plutôt moi qui avait émis cette hypothèse (message du 14-05-2017, 01:27:45), mais je ne suis pas jaloux ;D, l'important, me semble-t-il, est que chaque pierre apportée par chacun contribue à faire avancer la communauté  :)

Bien cordialement.

Jean-Michel

23
Vos projets / Re : Utilisation d'ATTiny
« le: mai 15, 2017, 12:02:07 pm »
Suite à la demande d'Albert, voici le programme complet et documenté de l'adaptation de celui de Christian paru initialement dans Loco-Revue de mai 2017 (simulation de BAL)

/* Simulation de Bloc Automatique Lumineux
  Base tirée de Loco-Revue n° 837 - Mai 2017 (Christian Bézanger)
    Adaptation *** jmB *** 04/05/2017
    Durée du Jaune paramétrable
    Allumage et extinction des LEDs de façon progressive
    Testé sur ARDUINO MEGA2560 et sur ATtiny85
  Fading repris de l'IDE Arduino : Exemples - 03.Analog - Fading
  http://www.arduino.cc/en/Tutorial/Fading

  Signal à anode commune, allumé par LOW

  ===>>> Version ATtiny85 <<<===
*/

// Déclaration des constantes
//  => Assignation des broches d'entrées et de sorties
//  ===>>> Version ATtiny85 <<<===
const byte ILS_entree = 3; // Pin 2
const byte ILS_sortie = 2; // Pin 7
enum FEU : const byte { VERT = 4, ROUGE = 0, JAUNE = 1 }; // Ordre des LEDs en partant du haut du signal (www.railexpert.fr/images/railexpert/photos-pave-droite/signal.jpg)
//  ===>>> Version ATtiny85 <<<===

//  => Gestion du fading
const byte fadeValue = 10;  // Incrément de fading
const byte fadeDelay = 10;  // Temporisation de fading

// Déclaration et initialisation des variables
unsigned int dureeJaune = 5000; // Durée du jaune : 1000 = 1 seconde
unsigned long debJaune = 0;
unsigned long time0; // Top pour le cyle d'extinction et d'allumage
unsigned long time1; // Top intermediaire
byte FEU = VERT; // Pour mémorisation de l'état du feu : ou VERT, ou ROUGE ou JAUNE

////////////////////////////////////////////////////
// Routine d'allumage et d'extinction progressifs //
////////////////////////////////////////////////////
void signal(const byte quelFeuA, const byte quelFeuE, byte fadingA, byte fadingE) // A=Allumage - E=Extinction
{
  time0 = 0;
  do {
    time1 = millis();
    if (time1 - time0 >= fadeDelay) {
      analogWrite(quelFeuA, fadingA);
      analogWrite(quelFeuE, fadingE);
      time0 = time1;
      fadingA = fadingA - fadeValue;
      fadingE = fadingE + fadeValue;
    }
  } while (fadingE >= fadeValue);
  analogWrite(quelFeuA, 0);   // Fin de boucle : allumage 100%
  analogWrite(quelFeuE, 255); // Fin de boucle : extinction totale
  FEU = quelFeuA;
}

//  Initialisation du module
void setup() {
  // Déclaration des entrées et initialisation (HIGH) => ILS non enclenchés
  pinMode(ILS_entree, INPUT_PULLUP);
  pinMode(ILS_sortie, INPUT_PULLUP);
  // Déclaration des sorties
  pinMode(VERT, OUTPUT);
  pinMode(ROUGE, OUTPUT);
  pinMode(JAUNE, OUTPUT);

  // Initialisation du signal
  digitalWrite(VERT, LOW); // Vert allumé - Pas de fading à la mise sous tension
  digitalWrite(ROUGE, HIGH); // Rouge éteint
  digitalWrite(JAUNE, HIGH); // Jaune éteint
}

//  Boucle principale
void loop() {
  // surveillance ILS entrée
  while (digitalRead(ILS_entree) == HIGH)
  {
    // ILS Entrée non enclenché
    if (FEU == JAUNE)
    {
      if ((millis() - debJaune) > dureeJaune)
      {
        signal(VERT, JAUNE, 255, 0); // Ordre : allumage, extinction
      }
    }
  }

  // ILS Entrée déclenché
  switch (FEU) {
    case VERT:
      signal(ROUGE, VERT, 255, 0); break; // Ordre : allumage, extinction
    case JAUNE:
      signal(ROUGE, JAUNE, 255, 0); break; // Ordre : allumage, extinction
  }

  // Surveillance de l'ILS de sortie
  while (digitalRead(ILS_sortie) == HIGH)
  {
    // ILS Sortie non déclenché, ne rien faire
  }
  // ILS Sortie déclenché
  signal(JAUNE, ROUGE, 255, 0); // Ordre : allumage, extinction
  debJaune = millis();
}

Bonne journée à tous.  :)

Jean-Michel

24
Vos projets / Re : Re : Utilisation d'ATTiny
« le: mai 15, 2017, 10:20:07 am »

Bonjour Christian
....
Pourrais-tu STP nous faire profiter des modifs que tu as apporté "inclure le programme sur le post de ce  Forum"

Bonjour Marcel,

Je me permets de répondre à la place de Christian  ;D ;D ;D

Je déposerai ici le programme complet dans le courant de la journée  :)

Jean-Michel

25
Vos projets / Re : Re : Utilisation d'ATTiny
« le: mai 15, 2017, 10:15:02 am »

Concernant les servos, cette bibliothèque est-elle affectée du "syndrome de l'essuie-glace" au démarrage ?

Bonjour Denis,

Comme je le disais plus haut, je n'ai pas d'expérience particulière avec les servos, donc je ne connais pas le "syndrome de l'essuie-glace".
Si celui-ci peut-être représenté par un aller-retour complet du servo à sa mise en route, la réponse est non.
Je viens de faire quelques essais, servo toujours "conduit" par l'ATtiny84, et voici mon constat : quelque soit la position de départ du servo, à la mise en route il y a un premier mouvement très fugitif dans le sens des aiguilles d'une montre suivi immédiatement après par le déroulé normal du balayage commençant dans le sens inverse des aiguilles d'une montre, sens initial de déplacement donné par le programme.
Voila, j'espère avoir répondu à ta question. :)

Jean-Michel

26
Vos projets / Re : Utilisation d'ATTiny
« le: mai 14, 2017, 09:53:45 pm »
Bonjour Christian,

Finalement, j'ai trouvé pourquoi cela ne marchait pas : c'est la bibliothèque Servo.h utilisée dans le programme "Sweep" qui n'est pas adaptée.
En effet, cette bibliothèque est basée sur un timer 16-bit alors que les ATtiny utilisent en standard un timer 8-bit (l'ATtiny84 dispose bien d'un timer 16-bit mais son utilisation dans un programme n'est pas simple puisqu'il s'agit plutôt d'un artifice permettant de faire travailler de concert deux timers 8-bit).

Donc, en cherchant un peu, j'ai finit par trouver une bibliothèque basée sur un timer 8-bit et adaptée à l'ATtiny : SoftwareServo.h

En adaptant le programme "Sweep" à cette bibliothèque, ça fonctionne maintenant parfaitement : le servo connecté à l'ATtiny84 effectue bien son mouvement permanent de balayage.

En  adaptant le port de sortie, ça fonctionne aussi bien sans autre adaptation avec un ATtiny85  :)

Cordialement.

Jean-Michel

27
Vos projets / Re : Re : Utilisation d'ATTiny
« le: mai 14, 2017, 01:27:45 am »

Le but de la manip est de téléverser le programme Sweep dans un ATtiny84 et de voir ensuite si celui-ci peut commander un servomoteur (attaché à la bonne sortie) pour obtenir ce mouvement de balayage. Si c'est le cas, cela veut dire que la bibliothèque Servo est utilisable avec l'ATtiny84, ce qui serait une aide précieuse pour utiliser des servos.

Bonjour Christian,

Ben... malheureusement, ça ne marche pas  :-\
Aucun mouvement du servo quand le programme "Sweep" est téléversé dans l'ATtiny84, alors que le mouvement de balayage du servo est bien observé quand ce même programme est téléversé dans l'Arduino Mega.
Bien évidement, j'ai adapté le numéro de la sortie en fonction de la carte utilisée :
Sortie 2 pour le module Mega
Sortie 1 (pin 12) de l'ATtiny84

Pour être certain de mon coup quand à la sortie 1 de l'ATtiny84, j'ai testé celle-ci avec le programme basique "Blink" (avec le rythme modifié pour être bien sûr que c'était le mien) et une LED (externe évidement ;D)

A toute fin utile, je précise que, une fois le programme "Sweep" téléversé dans l'ATtiny84, le fait de connecter une LED sur la sortie prévue pour la commande du servo allume celle-ci de manière fixe (en tout cas, visuellement parlant).

Je profite de ce message pour vous dire que, avant de tester le programme "Sweep" et à titre de mise en bouche puisque je débutais en programmation de µC, j'ai programmé un ATtiny85 en m'inspirant du programme "signal_BAL" paru dans le LR de mai 2017 (programme auquel il manque une ou deux lignes il me semble) en lui rajoutant une durée du "Jaune" paramétrable ainsi que l'allumage / extinction des LEDs de façon progressive. Ca fonctionne très bien  :)



28
Vos projets / Re : Utilisation d'ATTiny
« le: mai 08, 2017, 08:43:09 pm »
Bonsoir,

Je suis toujours volontaire pour "faire avancer la science", mais je ne remplis pas trop le cahier des charges :
    . Je dispose d'ATtiny84 (ATtiny84A-PU)
    . Mon module est un ATMEGA2560 (et non un UNO)
    . Quand je compile à blanc le programme Sweep, celui-ci utilise 3128 octets (et non 2084) et 163 octets de RAM (et non 52)
    . Je n'ai pas dans l'immédiat de servomoteur disponible, ce dispositif ne figurant pas dans mes axes de développement, mais je pense pouvoir en trouver un
La manip est elle faisable ?

Cordialement.

Jean-Michel

29
Vos projets / Re : Re : Utilisation d'ATTiny
« le: mai 04, 2017, 11:19:12 pm »
...Je cherche quelqu'un qui utilise des puces de la série ATtiny24/44/84, enfin surtout 44 et 84 car le 24 n'a pas assez de mémoire pour ce que je veux tenter.
Si vous avez l'expérience et qu'il vous reste une puce que vous pouvez (re)programmer, je vous demanderai de réaliser une expérience pour moi....

Bonjour,

Je ne sais pas si cette demande est toujours d'actualité, mais je viens de recevoir mes deux premiers ATtiny 84.
Je n'ai pas d'expérience particulière (j'en suis au stade de reproduire les exemples donnés ici  :) ) mais je veux bien, si je suis guidé, réaliser une expérience, pour "faire avancer la science"  ;D ;D ;D

Cordialement.

Jean-Michel

30
Présentez vous ! / Bonjour,
« le: décembre 05, 2016, 01:01:06 pm »
Merci de m'accueillir sur votre forum  :)
Après une longue éclipse due à l'activité professionnelle et aux aléas de la vie, je suis revenu depuis quelques temps au modélisme ferroviaire et ai découvert le digital et ses possibilités qui m'ont emballé.
Fidèle à mes débuts, au milieu des années soixante avec du matériel Arnold Rapido (à l'époque), je suis donc resté un "N'iste" et ai aujourd'hui bientôt 64 ans.
Je n'ai pas encore de réseau mais ai commencé petit à petit à rassembler de nouvelles "briques", tant en matériel roulant que technique afin de m'initier (sur voie d'essais) au digital.
N'étant ni électronicien de formation, ni un as du fer à souder, je préfère rester, pour les éléments essentiels du digital comme la centrale, sur du matériel commercial.
Par contre, l'aspect DIY (si cela reste simple  :D) me plait bien car il permet de ne pas avoir uniquement une attitude passive. C'est ainsi que j'ai commencé à faire mes premières soudures à 60 ans passés en expérimentant différents petits montages de circuit de détection de présence par exemple à partir de schémas trouvés sur internet.
Une nouvelle étape pour moi consiste maintenant à "chaîner" les informations de présence ou non entres différentes zones surveillées pour pouvoir faire ensuite remonter ces informations à la centrale et au futur logiciel de gestion de l'ensemble. Je sais bien que de multiples solutions toutes faites existent mais, encore une fois, le côté DIY m'attire et je pense que le concept ARDUINO peut y répondre.
En attendant mon futur réseau, je suis adhérent d'un club de la région, ce qui me permet de faire rouler un peu mon matériel, mais malheureusement il n'y a pas de section digitale pour l'échelle N.
Cordialement.
Jean-Michel

Pages: 1 [2]