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 - lambda95t3

Pages: [1]
1
Merci pour la suggestion, que j'ai suivie (je lis l'anglais) mais sans succès.
Le lien qui me semble le plus intéressant est:
http://www.cunningturtle.com/attiny4585-servo-library/
mais je n'ai pas réussi à compiler le programme de démonstration proposé. J'ai seulement des rudiments de programmation et je ne comprends pas les erreurs signalées.
La lecture des autres liens et forums me laisse penser qu'il faudrait vraiment se plonger au cœur de la programmation de ces petites bêtes..
Comme je ne veux pas y passer trop de temps (mon hobby, c'est le train HO, pas la programmation), je vais en revenir à mon idée: Uno.

J'ai songé à utiliser un ATtiny84 mais c'est bien moins commode que le kit Digispark car on ne peut le (re)programmer directement via l'IDE: il faut un Uno. Pour une faible différence financière, le Uno (éventuellement clone) l'emporte encore par sa simplicité (du moins pour un non spécialiste).

2
Bonjour,
j'ai un servo actionnant automatiquement une aiguille par détecteur infra-rouge et Arduino. Le programme a été testé sur Uno avec la bibliothèque Servo et fonctionne sans problème.
J'ai ensuite essayé d'utiliser un ATtiny85, avec la bibliothèque Servo8bit.h pour les mêmes raisons que Fantasio.
J'utilise un kit Digispark programmé par l'IDE avec l'USB; testé OK avec le programme  Exemples>Digispark_Exemples>Start
Le servo a été testé OK indépendamment.
J'ai rédigé un programme d'essai très simple pour essayer de piloter mon servo, un Modelcraft ES-030:
- j'inclus la bibliothèque dans le programme Digispark_Exemples>Start avec
   #include <Servo8Bit.h>
- j'ajoute les instructions qui vont bien pour allouer la sortie vers le servo:
   pinAig = de zéro à 4 sauf 1
   pinMode(pinAig, OUTPUT);
   MotAig.attach(pinAig);
- dans le loop, j'ajoute une instruction pour bouger le moteur dans un sens quand la LED Builtin s'allume, et dans l'autre sens quand elle s'éteint:
   MotAig.write(angle);
Même résultat: compilation et téléversement sans problème mais rien ne se passe.
Pire: il semble que le programme ne fonctionne plus du tout car la LED builtin ne clignote plus.
J'ai essayé avec le servo branché et débranché: pas de différence.
J'ai essayé successivement les sorties P0 à P4 du Digispark (sauf P1 qui sert à la LED): même échec.
Précision complémentaire: j'ai par ailleurs fait fonctionner sans problème le programme Locoduino de chenillard pour ATtiny.

Comme il semble que je ne sois pas le seul à rencontrer ce problème de pilotage de servo avec ATtiny, je pense que je vais devoir retourner au Uno, sauf si un expert propose une solution que je serai enchanté de tester.

3
Vos projets / Re : Un BV animé par ATtiny 85
« le: mars 30, 2020, 03:45:37 pm »
Bonjour,
mon club était confronté au même problème et je commençais à me creuser la tête sur la base d'un Uno et des enseignements aléatoires  ;) de Locoduino (formidable site!).
Et voilà que je trouve votre exemple très simple. Je vais donc le mettre en œuvre avec joie, étant très paresseux de nature.
Mille mercis pour le partage. En plus, ça me permet de découvrir des instructions peu familières pour moi.

4
Composants / Re : Digispark Kickstarter Attiny85
« le: février 16, 2019, 05:54:37 pm »
Bonjour,
merci pour ces informations qui m'ont permis de parvenir à programmer mon Digispark Kickstarter ATtiny85 avec l'IDE Arduino sous Windows10   :). Cela facilitera son usage dans le cadre Locoduino (en l’occurrence pour essayer d'automatiser la gestion d'une aiguille actionnée par servo, ce qui impliquera d'utiliser la bibliothèque Servo8, ainsi que je l'ai lu dans les échanges consacrés à l'ATtiny du site Locoduino; c'est mon prochain essai....).
Dommage   :(   que je n'aie pas découvert ce fil plus tôt: j'ai essayé de programmer le Kitstarter comme si c'était un simple ATtiny avec un Arduino: le Kitstarter ne répond plus à rien, ni à l'Arduino, ni à l'IDE   :'(  ; bon, ce n'est pas bien grave.

Mais je ne suis pas un adepte de Windows: j'utilise couramment Ubuntu 18.04.
Selon Digistump, il est possible, comme sous Windows10, de programmer le Digispark Kickstarter ATtiny85 via l'IDE Arduino. Un tutoriel décrit la marche à suivre:
https://digistump.com/wiki/digispark/tutorials/connecting
complété par:
https://digistump.com/wiki/digispark/tutorials/linuxtroubleshooting.

J'ai donc suivi la procédure décrite, en paramétrant correctement l'IDE et en me mettant en "root". Sans succès, alors que le même câble et le même kit fonctionnent sans problème avec W10 (ce qui semble signifier que le bootloader est OK). J'ai utilisé une autre prise USB du PC. J'ai essayé de passer par un hub USB auto-alimenté. Rien à faire: l'IDE sous Ubuntu ne "voit" pas le kickstarter quand je le connecte.
Je suis allé consulter le forum Digistump:
http://digistump.com/board/
et notamment:
https://digistump.com/board/index.php?topic=2686.0
mais je n'ai pas trouvé de solution.

Question: est-ce qu'un(e) participant(e) à ce forum a réussi à programmer le Digispark Kickstarter ATtiny85, raccordé par câble USB au PC, avec l'IDE Arduino sous Ubuntu? Si oui, comment a-t-il/elle fait?

EDIT du 22/02/2019: première erreur décelée dans ce qui précède: je n'exécutais pas l'IDE en root (désolé: pas encore l'habitude de fouiller dans les profondeurs d'Ubuntu). J'ai réussi -dur dur- à trouver comment faire mais pas (encore?   ;)  ) dans mon environnement (je ne retrouve pas mes sketchs ni les bibliothèques ni les composants ajoutés; on dirait que je viens d'installer l'IDE sans rien d'autre) . Je poursuivrai prochainement (délai >15 jours... Autres priorités....) mes investigations et je reviendrai sur ce fil quand j'aurai progressé (si j'y arrive). A moins que quelqu'un me précède....


5
Merci  :) pour cet avis très précieux: je prends bonne note qu'il ne vous semble pas possible d'agir suffisamment rapidement avec un Arduino pour bloquer en temps réel une commande de programmation émise par la centrale.

Quant aux autres options, soit elles consistent à bâtir une "usine à gaz" autour de la z21, soit à reprendre le problème à la base, ce qui me paraît nettement plus rationnel.
Quant à la conception et aux spécifications de la z21, j'ai un peu l'impression qu'elles découlent plus d'une étude marketing de segmentation de marché que du souhait d'apporter au meilleur coût une solution optimale pour le client   :(  . Mais ça marche puisque le prix d'appel de la z21 fait que notre club avait décidé d'en acheter une et que nous ne sommes sans doute pas les seuls à avoir été "piégés" par ce marketing sans pleinement mesurer les contraintes ultérieures en termes "d'exploitation club".

Nous allons redébattre du sujet z21 au sein de notre club; je doute que nous nous orientions vers une solution DCC++ car peu d'entre  nous possèdent un niveau de maîtrise suffisant de l'Arduino et de sa programmation et/ou du temps à y consacrer.

Cela dit, je ne manquerai pas de revenir sur ce forum/fil lorsque nous aurons pris une décision, qui dans l'immédiat pourrait bien être "status quo" compte tenu d'autres priorités, et bien sûr partager au cas où nous trouverions une solution. Encore merci pour vos avis.

6
Merci pour les indications.

En ce qui concerne la z21:
- sur la centrale elle-même, rien ne permet de savoir si la sortie DCC est reliée au réseau ou à une voie de programmation. C'est bien le problème. Ce n'est qu'en installant un inverseur en aval de cette sortie qu'on pourra basculer de l'un à l'autre. Je pense qu'il en est de même pour toutes les centrales à sortie DCC unique.
- et je ne connais pas de moyen d'empêcher la z21 de basculer en mode Programmation.
C'est pour cela que j'imaginais un contrôle en aval par un Arduino pour détecter le signal critique et agir en conséquence.
C'est ce que décrit Thierry.
Perso, je voyais plutôt l'Arduino branché comme une voie normale sur la sortie DCC avec un relais qui coupe le DCC vers le réseau quand l'Arduino détecte le signal de programmation.
La question de délai est évidemment critique : est-ce faisable avant qu'il ne soit trop tard?

Et bien sûr, l'Arduino ne coupe rien si on a raccordé la centrale à la voie de programmation. Mais ça, c'est facile à faire avec l'inverseur réseau  <> voie de programmation qui, en plus, devra simplement couper l'alimentation de l'Arduino quand il donne la voie de programmation, arrêtant ainsi la surveillance dans ce cas. À moins que je néglige quelque chose qui m'échapperait?

7
Certaines centrales, telles que la Roco z21, ne possèdent qu'une sortie DCC pour l'exploitation du réseau ET pour la programmation des locomotives (en particulier de leur adresse). En général, on installe un inverseur pour réserver une voie à la programmation et isoler le réseau; mais il ne faut pas oublier de le basculer. La loi de Murphy dit que, un jour ou l'autre, quelqu'un programmera sa locomotive par erreur sur le réseau, reprogrammant TOUS les décodeurs qui s'y trouvent.  :-[   .
On ne rit pas: ça vient d'arriver dans mon club avec un débutant qui ne savait pas qu'en programmant sa loco posée sur le réseau, il allait reprogrammer toutes les autres.  >:(

Pour éviter cela, il y a la solution d'acheter une centrale à deux sorties distinctes, réseau et programmation, par exemple une Z21.

Mais ce que j'ai lu sur ce forum me laisse penser qu'il pourrait y avoir une solution moins chère où un Arduino surveillerait les signaux DCC émis par la centrale. S'il détecte un passage en mode programmation, il allume une grosse LED rouge d'alerte et il bascule automatiquement le fameux inverseur (un relais) pour ne programmer que sur la voie de programmation.

Étant complètement débutant en Arduino, ignorant en électronique et peu familier des normes DCC, je suis incapable de traiter un tel problème.
Mais je ne suis sans doute pas le seul à y être confronté.
Je ne sais même pas si un dispositif à base d'Arduino tel que je l'imagine serait possible et/ou judicieux, ou s'il faudrait s'orienter dans une autre direction.

Si quelqu'un a un avis ou une solution "sur étagère" pour ce problème, j'en prendrai connaissance avec grand intérêt (NB: mon temps de réaction est souvent lent, voire très lent).

8
Présentez vous ! / Re : On va essayer....
« le: février 22, 2017, 05:51:10 pm »
Bonjour,
merci pour la suggestion: cela m'a permis de résoudre le problème après quelques essais.  :)
Mon Uno était correctement identifié et reconnu sur le port COM3 de mon portable; mais il fallait quand même mettre à jour le pilote avec le gestionnaire de périphérique, le Uno étant connecté. Il faut aussi dans l'IDE paramétrer le Programmateur avec "Arduino as ISP" (à ce stade, je ne sais pas ce que ça veut dire, mais ça marche!).
Bon, je vais maintenant pouvoir rentrer dans le vif du sujet. Encore merci.

9
Présentez vous ! / On va essayer....
« le: février 06, 2017, 12:17:17 pm »
Bonjour,
je suis membre d'un club du 95: Le Train d'Enfer, lui-même affilié à Union-Rail 95.
En lisant Locoduino, j'ai eu l'impression que je pourrais y trouver des solutions à quelques situations techniques que je rencontre.
Bien que complètement novice en électronique, j'ai décidé de me jeter à l'eau.
Un copain m'a prêté un Arduino Uno, j'ai récupéré des alims 5 et 12 V, et acheté divers compléments recommandés par Locoduino pour débuter.
J'ai installé l'IDE sur mon ordi de bureau sous Ubuntu 14.04, branché le Uno, téléversé Blink et youpi: ça marche!   :)
Voilà...
Maintenant, on va essayer d'aller un peu plus loin, tout en restant dans le basique (car j'ai l'impression que si on pousse, ça risque de devenir fortement chronophage, et là, ça va coincer).
Et là, les difficultés commencent  :(  : malgré moult recherches sur le web, dont ce forum, et essais, impossible de téléverser Blink depuis mon portable HP Sleekbook sous Windows  10 vers le Uno. J'ouvrirai peut-être un fil pour ça....

Pages: [1]