Passionnement
Bonjour et bienvenu,

Bonjour et bienvenu sur le forum. Ici tu verra, la bonne humeur et l'entraide sont de mise.
Pas de reproche ni de prise de tête. Respect et Amitié sont de rigueur.
Pour la convivialité, nous te demandons de prendre 5mn pour te présenter a tout le monde et de renseigner ton profil le plus précisément possible.

Pour cela, ==> clique ici <== et tu créer un nouveaux sujet (une petite explication est en haut de la page).

Si tu ne fait pas de présentation, ton compte sera supprimé automatiquement après 48H.

Sans présentation, tu n'aura pas accès a la totalité du forum (qui comporte plus de 30.000 messages). Quand tu aura fait ta présentation, un modérateur ou administrateur te donnera les droits pour le forum dans sa totalité dans les 24 h.

Le Staff

Bienvenu sur ton Forum 
Invité  
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  

Calendrier Calendrier

Rechercher
 
 

Résultats par :
 

 


Rechercher Recherche avancée

Derniers sujets
» Construction d'une BR52 au 1/35
Lun 19 Juin 2017 - 21:46 par dany-om

» Transformation d'un véhicule statique 1/87 en véhicule roulant autonome
Sam 10 Juin 2017 - 19:26 par Filou

» Le grassmaster de Likiki
Jeu 25 Mai 2017 - 8:11 par Filou

» Pourquoi il faut s'arrêter a un passage a niveau.
Ven 19 Mai 2017 - 20:37 par dany-om

» Le nouveau gouvernement
Ven 19 Mai 2017 - 20:34 par lherve54

» Photos du monde.
Jeu 11 Mai 2017 - 22:12 par dany-om

» Car-system de chez Faller
Mer 10 Mai 2017 - 18:58 par dany-om

» Realistic Scenery
Mar 9 Mai 2017 - 18:05 par lherve54

» Arduino et les servomoteur.
Dim 7 Mai 2017 - 19:01 par dany-om

» Circulation routière animée
Lun 1 Mai 2017 - 14:40 par Cousin Hub

» [France] Signalisation et service de la circulation
Sam 29 Avr 2017 - 13:35 par dany-om

» Accident du Tunnel du Crozet.Samedi 20 mars 1971
Sam 29 Avr 2017 - 9:37 par dany-om

» La gare de Hua Lomphong
Sam 29 Avr 2017 - 9:30 par dany-om

» Actualités des tramways
Ven 28 Avr 2017 - 18:27 par likiki

» Les autos automatique en HO
Mer 26 Avr 2017 - 16:08 par Vince Belgium

» Automotrices régionales Z 7100 "Les Zézettes"
Mer 26 Avr 2017 - 9:55 par dany-om

» Autorails Billard
Mer 26 Avr 2017 - 9:52 par dany-om

» Actualités des tramways
Lun 24 Avr 2017 - 19:53 par likiki

» [LU] Canton de Lucerne (Luzern)
Lun 24 Avr 2017 - 19:48 par likiki

» Région Auvergne-Rhône-Alpes
Lun 24 Avr 2017 - 19:44 par likiki


un petit chenillard à 5 lampes pour moins de 5€

Voir le sujet précédent Voir le sujet suivant Aller en bas

un petit chenillard à 5 lampes pour moins de 5€

Message par likiki le Dim 15 Nov 2015 - 14:29

Bonjour à tous,

Aujourd'hui, je vous propose un petit chenillard à 5 lampes, tel qu'on en trouve au bord des routes pour signaler qu'il faut se rabattre en raison de travaux. Et bien entendu, ce montage vous reviendra à moins de 5 euros.

Je viens de le réaliser ; il fait appel à un microcontrôleur ATtiny45 qui coûte 1,13 euros (je viens d'en faire rentrer 18 !  :wink: ) et il faut rajouter à cela 5 LED jaunes ou oranges et 5 résistances de 220 Ohms, un support de CI et un bout de plaque à bandes cuivrées. A 5 euros, on doit être large.

Pourquoi 5 lampes alors que l'ATtiny a 6 sorties ? Parce que ce n'est pas si simple de programmer la sixième sortie qui sert au RESET, je viens de m'en apercevoir  Rolling Eyes Alors que les autres sorties (de 0 à 4) c'est très facile à programmer et à utiliser.

Bon, je vous laisse imaginer comme ce montage animera superbement votre réseau... Le temps de faire de beaux dessins et une petite vidéo, et je vous donne rendez-vous dans quelques jours pour vous présenter tout cela.

Alors, intéressés ?  

Préparez vos outils

Ceux qui ont réalisé le simulateur de soudure à arc sur un ATtiny45 connaissent la marche à suivre ; pour les autres, plutôt que de renvoyer à un autre fil du forum, voici comment nous allons opérer.  geek 

Tout d'abord, il faut écrire un programme de chenillard capable de fonctionner sur une puce ATtiny. Ceci se fait très facilement avec l'IDE (le logiciel de programmation d'Arduino que vous avez téléchargé sur le site du constructeur). Pour cela, on part d'un programme mis au point pour un module Uno et on l'adapte aux sorties de la puce ATtiny.

On va ensuite transférer ce programme dans la puce ATtiny, et pour cela, on utilisera un module Uno que nous aurons au préalable programmé pour en faire un programmateur.

Le module Uno est alors raccordé à la puce ATtiny par un montage qu'on peut réaliser sur une plaque d'essai. Les liaisons servent à envoyer à la puce les signaux nécessaires à sa programmation. Il n'y a pas besoin de savoir comment ça se passe ; le module Uno est capable de programmer la puce, ce qui nous suffit.

Voici un petit résumé des opérations :

1- Programme écrit en langage Arduino
2- Compilation de ce programme par l'IDE pour le transformer en code pour l'ATtiny45
3- Transfert de ce code depuis votre ordinateur vers la puce en passant par le module Uno qui agit en programmateur

Tout ceci n'est pas plus compliqué que de programmer un module Arduino quel qu'il soit. Le point 1 est fait sur votre ordinateur au clavier, le point 2 est réalisé par le programme IDE présent sur votre ordinateur (mais pour cela, l'IDE a besoin de connaitre les caractéristiques des puces ATtiny de manière à proposer ce type de puces dans le menu Outils > Type de carte). Enfin, le point 3 est la fonction téléverser avec un module Arduino Uno comme programmateur (on le précise dans le menu Outils > Programmateur).

Le programme pour ATtiny45

Initialement, ce programme avait été mis au point pour un module Arduino Uno et faisait flasher 6 lampes. Vous pouvez retrouver la description de ce programme et du montage à cette page, plutôt en fin de page :
http://forum.e-train.fr/viewtopic.php?f=63&t=74953&start=0
Il a donc fallu l'adapter pour une puce ATtiny.  geek 

Voici le code du programme de chenillard à 5 lampes pour une puce ATtiny45 (ou de la série 25/45/85).

Code:
// Chenillard_ATtiny.ino
/*
Ce programme réalise un chenillard.
Il fait flasher successivement cinq LED oranges reliées aux sorties 0 à 4
Puis il réalise une pause de 500 millisecondes avant de recommencer
*/

// Initialisation des lignes 0 à 4 en sortie
void setup () {
  pinMode (0, OUTPUT) ;
  pinMode (1, OUTPUT) ;
  pinMode (2, OUTPUT) ;
  pinMode (3, OUTPUT) ;
  pinMode (4, OUTPUT) ;
  // Extinction de toutes les LED au départ du programme
  for (byte i = 0 ; i <= 4 ; i++) {
    digitalWrite (i, LOW) ; // éteint la LED reliée à la broche i
  }
}

// Fonction loop
void loop () {
    // Boucle pour faire flasher les LED
  for (byte i = 0 ; i <= 4 ; i++) {
    digitalWrite (i, HIGH) ; // allume la LED sur broche i
    delay (50) ; // durée du flash 50 millisecondes
    digitalWrite (i, LOW) ; // éteint la LED
  }
    // délai de 500 millisecondes
  delay (500) ;
    // Recommence la séquence
}
 

Les puces ATtiny ont 6 sorties possible, numérotées de 0 à 5, mais la sortie 5 est sur une broche qui sert au RESET ; il n'est pas simple de l'utiliser. Nous limitons donc ce chenillard à 5 lampes (ou LED) ce qui est souvent bien suffisant pour matérialiser des travaux sur un réseau. On utilise donc les broches 0 à 4.

Le reste est très classique :
- initialisation des broches en sorties
- extinction de toutes les LED
- séquence faisant flasher les LED successivement un cours instant
- pause d'une demi-seconde et recommencement de la séquence

C'est donc ce programme que nous allons transformer en code machine pour les puces ATtiny, puis téléverser dans la puce grâce au module Uno utilisé en programmateur. Cliquez sur tout sélectionner, copier le programme avec CTRL + C, importez le dans l'IDE d'Arduino dans un nouveau programme avec CTRL + V, sauvegardez-le sous le nom chenillard_ATtiny.

Avant d'aller plus loin, je vous propose cette petite vidéo qui montre ce que donnera le chenillard. Le montage est réalisé sur une plaque d'essai mais à la fin, le montage sera réalisé sur une plaque à bandes cuivrées.

https://vimeo.com/144750455

Si la séquence des flash ne vous convient pas (rythme, LED par LED ou plusieurs en même temps, temps entre deux séquences), vous pouvez modifier le programme ci-dessus pour l'adapter selon vos goûts.  

Nous avons un programme écrit en « langage Arduino » ; nous allons maintenant transformer ce langage en codes compréhensibles par la puce ATtiny. C’est ce que réalise la fonction téléverser qui commence déjà par vérifier qu’il n’y a pas d’erreur de syntaxe dans votre programme, puis qui transforme votre programme en codes pour ATtiny et enfin qui envoie ce code vers l’ATtiny.

Pour faire tout cela, il faut dire à l’IDE que nous allons travailler avec une puce ATtiny45. Allez dans Outils > Type de carte et regardez si vous trouvez ATtiny45. Si oui, c’est gagné pour la suite des opérations, dans ce cas, ne tenez pas compte de ce qui suit.

Sinon il faut importer dans l’IDE des fichiers qui définissent plus en détails les puces ATtiny.

Dans ce cas, voici la marche à suivre. Nous supposerons que votre IDE est la version 1.0.5 du logiciel IDE d’Arduino (ou 1.0.4, 1.0.3, 1.0.1 mais pas la version 1.0.2). Cette manip ne marche pas avec la version béta 1.6.5 qui nécessite une autre manip.

Connectez-vous à cette page :

http://scuola.arduino.cc/lesson/qX1117g/Programming_an_ATtiny_with_Arduino_ISP

Dans le paragraphe 4, cliquez sur la deuxième ligne (Download the ATiny support for Arduino IDE) et enregistrer sur le bureau le fichier ZIP attiny-master. Déziper le fichier (extraire tout), vous obtenez un dossier attiny-master qui contient un dossier attiny.

Localisez où se trouve le dossier Arduino dans le répertoire programme (en général C:/program files (x86)/Arduino) et regardez s’il contient un sous-dossier « hardware » (sinon, créez le). 

Copiez dans ce sous-dossier « hardware » le dossier attiny (pas le dossier attiny-master !)

Redémarrez l’IDE d’Arduino ; cette fois, vous devez voir apparaitre tout ce qui concerne l’ATtiny dans le menu Outils > Type de carte  

Votre IDE est prêt. 

Nous allons construire notre programmateur à partir d'un module Arduino Uno ; nous préparons le terrain pour la dernière phase qui sera d'envoyer les codes du programme à notre puce ATtiny.

C'est notre module Uno qui jouera le rôle du programmateur ; il faut donc le préparer avec un programme qui transformera le module en programmateur et ce programme existe dans les exemples fournis avec l'IDE. Ce programme s'appelle ArduinoISP et vous le chargerez dans votre ordinateur avec le menu
Fichier > Exemples > ArduinoISP

Une fois le programme chargé dans l'IDE, connectez votre module Uno avec le câble USB.

Vérifier que le module est alors branché sur le bon port de communication. Voici comment savoir :

Une fois le module branché à votre ordinateur avec le câble USB, allez dans Panneau de configuration (de Windows) puis choisissez Gestionnaire de périphérique. Dans la fenêtre qui s'ouvre, développez Ports (COM et LPT). Vous pouvez voir sur quel port se trouve votre module Uno. Revenez à l'IDE et allez dans Outils > Port série et vérifiez que le module est sur le bon port (normalement le cas), au besoin sélectionnez le bon port.

Nous allons maintenant téléverser le programme ArduinoISP dans le module Uno. Avant l'opération, vérifiez plusieurs petites choses :
Outils > Programmateur > AVRISP mkII (à sélectionner)
Outils > Type de carte > Arduino Uno (à sélectionner)

Nous avons régler le type de programmation, le type de carte et le port utilisé, nous sommes prêts à téléverser le programme ArduinoISP ; il suffit d'appuyer sur le bouton téléverser.

Lorsque l'opération est terminée, débrancher le câble USB.

Votre module Arduino est devenu un programmateur (l'opération n'est pas irréversible, vous pouvez à tout moment le reprogrammer pour autre chose). Ce programmateur doit maintenant être relié à votre puce ATtiny que vous voulez programmer. Réalisez le montage suivant sur une plaque d'essai (attention aux câbles de liaison qui doivent réaliser des contacts francs):


Nous sommes maintenant prêts pour la programmation de la puce. 

Nous allons maintenant programmer la puce ATtiny, ce qui revient à dire que notre programmateur que nous venons de construire va envoyer dans la mémoire programme de la puce, les codes adéquats. Voici la marche à suivre.

Programmation de la puce

Rebranchez votre Uno à l’ordinateur via le câble USB.

Comme nous utilisons un module Arduino comme programmateur, il faut le dire à l'IDE :
Dans l’IDE, sélectionnez « Arduino as ISP » dans Outils > Programmateur.

Le code à générer doit être adapté à une puce ATtiny ; cela aussi, il faut le dire à l'IDE :
Dans l’IDE, sélectionnez le type de carte « ATtiny 45 (internal 8 MHz clock) » dans Outils > Type de carte.

Si c’est la première programmation de votre puce, gravez la séquence d’initialisation avec Outils > Graver la séquence d’initialisation. Ceci n’est pas à faire si vous reprogrammez votre puce ultérieurement.

Ouvrez le programme que vous voulez téléverser (ici « chenillard_ATtiny.ino ») et téléversez le. Le module Uno agit comme un programmateur pour programmer la puce ATtiny.

C’est fini (c’est plus compliqué à décrire qu’à faire !)

Si vous souhaitez reprogrammer votre module Arduino, pensez à restaurer les paramètres dans l’IDE (type de carte et programmateur AVRISP mkII).

La puce ATtiny est maintenant programmée ; collez-lui dessus un confetti de couleur pour la repérer des autres puces.

Les prochaines fois, nous verrons comment assembler les composants, d’abord sur la breadboard pour vérifier que tout fonctionne comme prévu, puis sur une plaque cuivrée pour un montage définitif qui prendra place sur le réseau miniature.

Maintenant que votre puce ATtiny est programmée, nous allons vérifier qu'elle fonctionne. Le mieux pour cela est d'utiliser une plaque d'essai (breadboard chez les anglo-saxons) et de réaliser le montage suivant (attention à l'orientation de la puce ATtiny, la broche 1 est en bas à gauche) :



Une fois le montage réalisé (et surtout bien vérifié, plutôt deux fois qu'une !   Wink ), vous pouvez alimenter le montage en 5 V. Si vous n'avez pas d'alimentation stabilisée en 5 V, vous pouvez utiliser votre module Arduino Uno qui dispose de la masse (GND) et du 5 V. 

Les LED doivent s'allumer les unes après les autres pour former le chenillard.

Comme il n'est pas très pratique d'utiliser un montage sur plaque d'essai sur un réseau de trains miniatures, nous allons pérenniser le montage en le soudant sur une plaque à bandes cuivrées.



Par Arduino sur le forum LR Press
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 9786
Age : 50
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: un petit chenillard à 5 lampes pour moins de 5€

Message par dany-om le Dim 15 Nov 2015 - 14:46









avatar
dany-om
Animateur en chef dit "SkippY"
Animateur en chef dit

Localisation : ALSACE 68
Humeur : Bonne Humeur
Messages : 9895
Age : 49
Emploi/loisirs : Menuisier

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum