dimanche 25 mai 2014

Film en accéléré (time lapse) avec un vieil appareil photo, un transistor et un Arduino

J'ai toujours un peu de difficulté à accepter qu'un appareil électronique désuet prenne la poussière au fond d'un tiroir.  C'était le cas de mon appareil photo numérique Kodak EasyShare CD40:  il était encore fonctionnel, mais il n'avait pas servi depuis de nombreuses années.

Mon point de départ pour cet article n'a donc pas été "J'aimerais réaliser des films en accéléré, quelle est la meilleure façon d'y arriver?" mais plutôt "Qu'est-ce que je pourrais bien faire d'amusant avec ce vieil appareil?".

Ma réponse:  trafiquons l'appareil photo pour qu'il puisse être contrôlé par un Arduino!  Pour ce faire, j'ai remplacé le bouton déclencheur par un transistor (j'ai utilisé un 2N3904 car c'est ce que j'avais sous la main).

L'illustration ci-contre permet de distinguer la base, l'émetteur et le collecteur du 2N3904 (vous devrez probablement consulter la fiche technique de votre transistor si vous utilisez un autre modèle.).  

Notre transistor sera l'équivalent d'un interrupteur commandé de façon électrique:


  • si aucun courant ne circule dans la base, la résistance entre l'émetteur et le collecteur est très grande (donc aucun courant n'y circule)
  • si un courant circule dans la base, la résistance entre l'émetteur et le collecteur devient beaucoup plus faible (donc un courant y circule facilement).

J'ai donc ouvert le boîtier de l'appareil photo, et j'ai localisé les deux contacts électriques qui sont reliés entre eux lorsqu'on appuie sur le bouton déclencheur (pour vous assurer que vous avez correctement identifié les deux contacts:  assurez-vous que votre appareil prend une photo chaque fois que vous les reliez temporairement au moyen d'un fil conducteur).

Au moyen d'un multimètre, déterminez lequel des deux contacts se trouve au potentiel le plus élevé:  c'est sur ce contact que nous brancherons le collecteur du transistor, alors que l'émetteur sera soudé sur l'autre contact (celui qui est au potentiel le plus bas).

L'émetteur sera également relié à la masse (GND) de l'Arduino, alors que la base sera reliée à une résistance de quelques kiloohms (j'ai utilisé 4,7 kΩ), elle-même reliée à une des sorties de l'Arduino (j'ai utilisé la pin numéro 13).



Pour faire un film en accéléré, il s'agit d'écrire un sketch qui mettra momentanément la pin 13 à 5 volts, toutes les 10 secondes (par exemple) et pointer la caméra vers quelque chose qui bouge lentement (des nuages, par exemple), et réunir les images obtenues pour en faire une vidéo (j'ai utilisé Windows Movie Maker).

Le film ci-dessous a été filmé en quelques heures:  il a été tourné au rythme d'une image toutes les 10 secondes, mais il est visionné à une fréquence de 20 images par seconde (les nuages se déplacent donc 200 fois plus rapidement que dans la réalité).




Voici le sketch (probablement le sketch le plus simple depuis la fondation de ce blog!):


Notez que dans ce cas la tâche de l'Arduino est ridiculement simple:  il est tout à fait possible de le remplacer par un cricuit à base de 555.

Et ensuite?

Maintenant que je dispose d'un appareil photo qui répond aux ordres de l'Arduino, on peut penser à d'autres applications.  Par exemple, l'appareil pourrait être déclenché par un détecteur de mouvement pour en faire une espèce de caméra de surveillance ou encore  pour photographier automatiquement des animaux dans leur habitat naturel.   On pourrait aussi suspendre l'appareil à un ballon gonflé à l'helium pour prendre des photographies aériennes.

Yves Pelletier (Twitter:  @ElectroAmateur)

Sources:  Je me suis inspiré de ce projet publié sur le site Instructables, qui utilisait un relai plutôt qu'un transistor.


2 commentaires:

  1. Il y avait peut etre encore plus simple, un delay(interval) plutot que de faire le test sur millis(); a moins que je n'ai loupé qq chose?

    RépondreSupprimer