Luciole

Un projet initié par une découverte d’@asthrolab rencontré à l’OpenBidouilleCamp de Montreuil (déc. 2013). On retrouve plusieurs autres projets sur le même sujet, comme :

qui sont plutôt tournés vers une version numérique du projet.

La genèse

Le circuit original est simple et tourné autour du toujours fameux circuit NE555 qui produit des impulsions dans une LED émettant en UV. Celle-ci est recouverte de peinture phosphorescente qui transforme le flash en un éclairement plus doux et progressif, surtout dans l’extinction ; de plus la couleur imitait parfaitement celle du vers luisant.

Le circuit devait ressemblé à quelque chose comme ça :

Il fait le job, mais :

  • il doit être alimenté avec 2 piles 3v pour arriver entre 6 & 9v ;
  • il est absolument régulier dans sa fréquence (et sa phase).

L’évolution

Mes objectifs sont :

  1. conserver la compacité du montage “en l’air” ;
  2. abaisser la consommation électrique pour en augmenter l’autonomie ;
  3. rendre le clignotement aléatoire afin qu’un groupe de lucioles donne l’impression d’être indépendantes.

On va donc remplacer le composant “analogique” NE555 par un micro-contrôleur qui permettra de répondre à tous ces objectifs.

Afin de réduire autant que ce peut le nombre de composants, on utilisera les facultés (PCM – Pulse Code Modulation) du contrôleur pour pouvoir brancher la diode électroluminescente sans résistance, sachant que l’abaissement de la tension d’alimentation limitera naturellement le courant.

Il nous restera donc :

  • Atmel ATTiny 13..45,85 suivant l’approvisionnement (DIL 8 pins) ;
  • Une LED de la couleur de son choix (attention certaines ont des tensions supérieures à 3v et pourraient ne pas s’éclairer) ;
  • Un support de pile 3v (CR 2032) ou mieux un pack lipo 3.7v.

Pour le reste, et bien tout sera dans le code du contrôleur.

Mise en veille (sommeil)

Je pars sur un micro-contrôleur Atmel Tiny 13 ou supérieur suivant les approvisionnements (le Tiny13 est en fin de vie), une diode électroluminescente, une pile et… rien d’autre.

           .  .
          /|\/|\  
           |  |
    vcc   | \ |                               vcc
     +----+---+-----+                          |
     |    | / |     |                       -------
     |              |                        #####    Pile (3v)
  +--+----+----+----+--+                       |     CR2023
  |                    |                    -------
   ) AtTiny 13/../85   |                     #####
  |.                   |                       |
  +--+----+----+----+--+                      gnd    
                    |   
                   gnd

Fonctions

  • Une variation lente de l’éclairage et de l’extinction de la led (comme dans la démo d’asthrolab) ;
  • Une période de scintillement aléatoire ;
  • Une très faible consommation électrique du contrôleur (en utilisant les fonctions de mise en sommeil) ;
  • A faire : utiliser la diode en capteur de luminosité pour ne faire briller la led que la nuit.

Pré-requis

Comme je n’ai plus rien pour coder et flasher le microcontrôleur, je vais m’appuyer sur un Arduino en mode ISP. Cela va me permettre d’utiliser :

  1. l’IDE de l’Arduino pour saisir et compiler mon code ;
  2. l’Arduino lui-même pour flasher le microcontrôleur.

Code