Lo Furòl

... de l'ouverture (en occitan)

Vous êtes ici : Accueil / Électronique / Raspberry Pi / [Raspberry Pi] Console de stop motion

Raspberry Pi

[Raspberry Pi] Console de stop motion

Raspberry Pi logoJ'ai découvert un projet intéressant sur le site Instructables permettant de réaliser des animations en stop-motion très simplement en appuyant sur 5 boutons de type jeu vidéo d'arcade : https://www.instructables.com/id/Raspberry-Pi-Stop-Motion-Animation-Rig/. Ce système s'appuie sur un Raspberry Pi 3 avec une webcam.
Ce type d'outil trouvera très bien sa place dans une classe pour réaliser par exemple des capsules vidéos.
Autres sources : https://projects.raspberrypi.org/en/projects/push-button-stop-motion
Évolutions envisageables par rapport au projet initial :

  • On peut faire évoluer cette console en utilisant comme surface, un petit tableau blanc magnétique pour maintenir plus facilement un décor, des personnages, dessiner, ...
  • De plus, le bras pour la caméra pourrait être amélioré notamment en le fabriquant avec une imprimante 3D pour avoir plus de possibilités de points de vue.
  • Il faudrait aussi brancher les périphériques sans avoir à ouvrir la console donc un accès facile aux ports USB (prévoir de mettre le Raspberry Pi au fond, en prévoyant des dégagements pour insérer et  débrancher les prises).
  • Prévoir aussi un tiroir pour ranger le clavier, la souris (pour une prochaine version peut-être).

I- Liste du matériel (acheté + récup) :

On peut estimer que cette console coûte aux alentours de 160 € hors écran.

II- Fabrication du socle et adaptation du plateau tableau blanc

L'idée est d'avoir un accès facilité au Raspberry Pi 3  sans avoir à démonter le plateau. Voici une proposition adaptée pour supporter le tableau blanc magnétique avec du medium de 10 mm. Pour maintenir les différentes parties entre-elles, j'ai utilisé un tasseau carrelet en bois de 20x20mm et vissé avec des vis de 3 x 20mm (j'avais auparavant pré-percé le médium). J'ai utilisé une scie circulaire sous-table pour effectuer les coupes en biais à 33° (ou 57° ) ainsi qu'une défonceuse avec une fraise large pour créer le passage pour la nappe du Raspberry Pi (pièce intitulée "Côté Gauche Raspi" sur le plan).
Les plans ont été conçu avec Freecad. Vous les trouverez en bas de cette page.

pi motion plan vue dessus

 Feuille de débit (9 parties) :

pi motion plan débit

 Socle Vue Avant

Socle Vue Arrière

Pour percer l'emplacement des boutons sur le plateau, j'ai utilisé une mèche de 25 mm et par contre, je vous conseille de percer en commençant côté bois pour finir côté métal blanc (en posant le tableau sur une pièce martyre et en faisant attention pour ne pas abîmer la surface blanche très fragile avec la limaille...).
Pour maintenir le plateau sur le socle, j'ai collé 6 morceaux de tasseau 20x20mm dans lesquels j'ai mis un insert fileté de 6mm dans lequel viendra se visser une vis de 6x30mm.

Socle Plateau Dessous

III- Support du boitier du Raspberry Pi 3B+

Afin de maintenir le boîtier du Raspberry Pi 3B+ (qui n'a pas de système d’accroche) et de l'enlever assez facilement, j'ai conçu une platine avec l'imprimante 3D sur laquelle le boîtier se fixe à l'aide d'un seule vis d'angle. Les 3 autres angles sont évidés pour que puissent s'y encastrer les boulons des vis du boîtier. Ce système de fixation permet aussi de ménager un espace à la base du boîtier pour faciliter la circulation d'air. La platine est fixée avec 4 vis en 3x12mm. Voir le plan élaboré avec Freecad en bas de cette page.

Support nu Boitier Raspi

Support avec Boitier Raspi

IV- Pictogrammes des boutons

Pour repérer les fonctions des boutons, on les démonte et on insère dans la partie supérieure une pastille de papier avec un pictogramme. Ces pictogrammes ont été récupérés sur Wikimedia Commons https://commons.wikimedia.org/wiki/Accueil?uselang=fr et en faisant une recherche avec un mot clé en anglais suivi de la mention "svg" afin d'avoir des dessins vectoriels de qualité pour agrandissement/réduction. Je les ai ensuite travaillés dans Inkscape pour obtenir la bonne taille. Vous trouverez le fichier au bas de cette page.

V- Câblage des boutons

Les boutons du plateau, de type jeu d'arcade, se branchent à 2 endroits : 1 pour l'allumage de la diode en 5 Volts (attention à bien respecter la polarité sinon la LED ne s'allumera pas) avec des cosses femelles de 6,3mm, et l'autre sur les broches GPIO du Raspberry Pi avec des cosses femelles de 4,8mm pour interagir avec le programme de stop motion.
Branchement pour les actions des boutons :
GPIO 2 (SDA) -> action "Supprimer"
GPIO 3 (SCL) -> action "Lecture"
GPIO 4 -> action "Défaire" (Undo)
GPIO 5 -> action "Prise de photo"
GPIO 6 -> action "Enregistrer"

Il y a aussi un bouton poussoir, que j'ai placé à l'arrière, qui permet de sortir du programme de stop motion :
GPIO 13 -> action "Quitter"

Branchements internes (1er montage avec faux contacts)

Remarque : attention à la qualité des soudures ainsi qu'aux connecteurs (j'ai eu quelques petits problèmes à cause de mauvais contacts, notamment des boutons qui ne fonctionnaient pas...). en fait, il faut essayer de limiter au maximum les connecteurs car ils sont sources de soucis...
Pour tester si les GPIO "répondent" bien, utiliser la librairie pigpio  http://abyz.me.uk/rpi/pigpio/ ainsi que l'indispensable application Piscope http://abyz.me.uk/rpi/pigpio/piscope.html qui permet de voir en live les signaux envoyés et reçus par le Raspberry.

Du coup, j'ai éliminé tous les connecteurs et monté des borniers à vis pour les boutons. Je n'ai gardé les connecteurs que pour le ventilateur et le bouton "Quitter".

Branchements internes 2 (sans connecteurs)

Branchements internes 2bis (sans connecteurs)

 

VI- Support pour la caméra

Maintien Cable Pi CamLa caméra sera fixée sur un bras articulé et rotatif fabriqué à l'imprimante 3D en s'inspirant de ce projet https://www.thingiverse.com/thing:2842300. Autre pièce utile : support de la caméra https://www.thingiverse.com/thing:3429254
Base pour le boîtier de la pi cam : https://www.thingiverse.com/thing:3294512

Pour faciliter son rangement et le transport, ce bras sera fixé au cadre via un axe cranté orientable en le tirant. Il sera rappelé via un ressort axial. via un boulon et un écrou afin de pouvoir pivoter.
Pour la roue crantée, je me suis basé sur ce projet : https://www.thingiverse.com/thing:397553 (Hirth joint ou dentures Hirth).

J'ai opté pour un bras en bois fabriqué à partir d'un tasseau 14x30mm (il aurait mieux valu quelque chose de plus épais comme du 20x30mm, ne serait-ce que pour avoir plus de marge pour percer les trous des vis de liaison en 5mm).

Du coup, j'ai fabriqué à l'imprimante 3D diverses pièces (plans au format Freecad en bas de page) :

  • des attaches pour maintenir le câble ruban de la Pi Cam que je vous joins en bas (on peut trouver aussi les infos sur Thingiverse : https://www.thingiverse.com/thing:3606930),
  • un support articulé qui se monte sur le bras et sur lequel s'attachera le boîtier de la Pi Cam. On fera un filetage de 5 mm (M5) pour son blocage par une vis qui s'encastrera dans une tête imprimée à la 3D selon ce modèle trouvé sur Thingiverse : https://www.thingiverse.com/thing:774472. Du coup, je suis parti de cette version pour en proposer une autre percée pour bloquer l'articulation du bras https://www.thingiverse.com/thing:3607589
  • un boîtier en 2 parties s'encastrant l'une dans l'autre pour protéger la Pi Cam.

Bras Vue arrière

Bras Vue avant

 

VII- Installation des logiciels :

VIII- Changement d'orientation de la caméra

Du fait de l'orientation de ma Pi Cam (avec le câble ruban vers le bas), afin d'avoir les images dans le même sens que les opérateurs, il faut aller dans le dossier contenant le programme de stop motion (par exemple : /home/pi/Desktop/pi-stop-motion-rig-master/src) et éditer le programme "run.py". Puis on rajoute avant l'instruction "CAMERA.start_preview()" (ligne 119), la ligne ci-dessous :

CAMERA.rotation = 180

Infos sur l'utilisation de la Pi Cam :

J'ai aussi voulu augmenter la résolution de la caméra via la commande :

CAMERA.resolution = (2544, 1440)

... mais j'ai eu des messages d'erreurs. Pour les éviter, il faut éditer avec sudo le fichier /boot/config.txt puis activer la valeur de la ligne commençant par "gpu_mem" et passer la valeur de 128 à 144 :

gpu_mem=144

Ensuite, il faut aller dans "run.py" et forcer la résolution... mais je ne suis pas allé plus loin... À suivre... https://picamera.readthedocs.io/en/latest/fov.html#camera-modes

 

 

 

Vous êtes ici : Accueil / Électronique / Raspberry Pi / [Raspberry Pi] Console de stop motion