Table des matières

Machine à TimeLaps

Le projet a pour but de réaliser des TimeLaps tout en bougeant très légèrement, au cours du temps, la camera selon deux axes (pour le moment mais un mouvement de translation serait cool).

Conception

Pour faire ce projet, j'ai souhaité utiliser la camera du RaspberryPi ainsi qu'un Arduino pour commander les servomoteurs.

Etape du projet

Réalisation

Réalisation de la structure en 3D

Voici le support imprimé: Les pièces en violet sont la pour maintenir les servomoteurs (il faut que je fasse celles pour le servo de droite). Les deux parties de la base sont vissées mais je réfléchie à une V2 afin de ne plus en avoir besoin. En fasse de la pièce du milieu la liaison est faite avec la structure de droite grâce à un roulement à bille.

Code pour prendre des TimeLaps avec le Raspberry Pi

Ce code est un test pour prendre un TimeLaps avec le RaspberryPi et copier chaque image dans une clef USB du nom de TIMELAPS:

   import time , picamera , shutil, os
   from datetime import datetime
   
   with picamera.PiCamera() as camera:
      camera.start_preview() # ouverture de l'entre de l'appareil photo
      time.sleep(2)
      try:
              print("la duree du time laps en minute est de:")
              temps = input()
              print("l'interval entre deux photos en minute")
              interval = input()
              nb_photo = temps / interval
              d = datetime.now()
              
              dossier = "timelapse_" + str("%04d" % (d.year)) +"_"+ str("%02d" % (d.month)) +"_"+ str("%02d" % (d.day)) +"_"+ str("%02d" % (d.hour)) +"_"+ str("%02d" % (d.minute))
              os.mkdir('/media/TIMELAPS/'+ dossier)
              
              for i, filename in enumerate(camera.capture_continuous('img{counter:02d}.jpg')):
                      print('captured %s' % filename)
                      shutil.move('/home/pi/timelaps/v1/%s' % filename,'/media/TIMELAPS/'+dossier) # copie l'image dans un clef USB qui s'appelle TIMELAPS
                      time.sleep(interval*60) # temps d'attente en seconde
                      if i >= nb_photo: # nombre de photo
                              break
      finally:
              camera.stop_preview()

Difficultés rencontrées

Des problèmes dans certaines cotations.