Construisez votre propre R2-D2 avec Raspberry Pi

Quel fan de Star Wars n'a pas rêvé de posséder son propre droïde? Les droïdes C-3PO et R2-D2 servent de narrateurs à une histoire épique entre le bien et le mal.

Avec la sortie prochaine du dernier film de la série, The Last Jedi, c’est le moment idéal pour vous essayer à la construction de votre propre R2-D2..

C-3PO est un droïde protocolaire qui vit pour servir son maître, tandis que R2-D2 a été vu pour la première fois (chronologiquement) dans l'épisode 1: La menace fantôme et a sauvé la reine Amidala et son groupe alors qu'ils quittaient la planète Naboo. R2-D2 est un droïde Astromech, un ingénieur robotique capable de résoudre tous les problèmes..

Dans ce didacticiel, nous allons construire notre propre robot R2-D2 en piratant un jouet acheté en magasin avec le dernier Raspberry Pi, le Raspberry Pi Zero..

Le Raspberry Pi Zero est un Raspberry Pi à très bas coût. Son prix de détail est de 5 $ (environ 4 £, environ 7 $ AU). Cette carte offre une expérience informatique complète pour très peu d'argent. Venant avec 512 Mo de RAM, un processeur ARM de 1 GHz et capable de produire une vidéo 1080p, il est sorti des étagères, et la Fondation Raspberry Pi s'efforce de réapprovisionner.

Nous utiliserons également la dernière carte Explorer pHAT de Pimoroni. Cette carte est un contrôleur de moteur et une carte d’expérience peu coûteux et faciles à utiliser. Elle fournira les fonctionnalités de notre unité R2..

Pour ce projet, vous aurez besoin de:

  • Un Raspberry Pi Zero, ou un autre Raspberry Pi (A +, B + ou Pi 2)
  • La dernière version du système d'exploitation Raspbian
  • Connexion Wi-Fi pour votre Raspberry Pi
  • 2x micro-moteurs métalliques à engrenages
  • Roues pour R2
  • Carte Explorateur pHAT
  • Une led
  • Une résistance de 220 Ohm (RED-RED-BROWN)
  • Câbles de démarrage mâles à femelles
  • Câbles de démarrage homme à homme
  • 2x bornier avec bornes à vis
  • Pistolet à colle chaude
  • Équipement de soudure

La majorité de ces composants peuvent être trouvés à Pimoroni et The Pi Hut.

Vous pouvez également télécharger tout le code de ce projet.

Vous n'avez pas envie de construire votre propre R2-D2? Vous pouvez tricher et acheter votre propre robot R2-D2 avec le Sphero R2-D2.

Précédent Page 1 sur 11 Suivant Précédent Page 1 sur 11 Suivant

1. Souder le GPIO

Avant de pouvoir utiliser le Raspberry Pi Zero, nous devons souder le GPIO, une série de 40 broches, sur le tableau..

Ces broches permettent à notre carte additionnelle Explorer pHAT d’interagir avec le Raspberry Pi. Pour de meilleurs résultats, utilisez une goutte de pâte à modeler pour soutenir la planche pendant que vous soudez. Si vous ne pouvez pas souder, demandez de l'aide à un hackspace local, à un expert du bricolage ou à des amis. Vous devrez également souder les broches d'en-tête pour la carte Explorer pHAT..

Si vous utilisez un autre type de Raspberry Pi, vous pouvez ignorer cette étape, car le GPIO est déjà soudé..

Précédent Page 2 sur 11 Suivant Précédent Page 2 sur 11 Suivant

2. Pirater le jouet R2-D2

Nous avons choisi un petit jouet R2-D2 coûtant environ 20 £ (environ 30 $, 42 AU $). Nous avons commencé par retirer tous les composants internes pour voir quelle pièce nous devions pirater. C'était assez serré même pour le Raspberry Pi Zero, nous avons donc choisi de loger les principaux composants à l'arrière du R2-D2.

Nous avons retiré les jambes de R2-D2 et mesuré la taille de nos moteurs sur les pieds. À l'aide d'un outil Dremel, nous découpons et façonnons soigneusement un espace pour les moteurs sur chaque pied..

Avant de fixer les moteurs, nous avons soudé des câbles aux bornes pour une utilisation ultérieure. Donnez-vous donc suffisamment de câbles de rechange et reliez les câbles de chaque moteur aux embases des moteurs 1 et 2 sur Explorer pHAT. Utilisez de la colle chaude pour fixer les moteurs en place sur les pieds.

Précédent Page 3 sur 11 Suivant Précédent Page 3 sur 11 Suivant

3. Qu'il y ait des LED

Pour plus d'authenticité, nous avons percé un trou dans l'orbite oculaire rouge de R2-D2 et remplacé le plastique par une LED rouge fonctionnelle.

À l’intérieur de la tête de R2-D2, nous avons utilisé un bornier, couramment utilisé dans l’électrique pour sécuriser les fils sans soudure, et avons fixé les pieds de la LED dans chaque trou..

La longue jambe de la LED recevra une alimentation 5V de l’Explorer pHAT via une résistance de 220 ohms vissée à l’autre extrémité du bloc et reliée à l’Explorer pHat via un câble de liaison femelle à mâle. La jambe courte se connectera à la sortie 1 de l’Explorer pHAT.

Précédent Page 4 sur 11 Suivant Précédent Page 4 sur 11 Suivant

4. Power R2-D2 up

Connectez l’Explorer pHAT au Raspberry Pi, puis connectez vos périphériques avant de mettre le Raspberry Pi sous tension..

Une fois le Raspberry Pi démarré, vous devez disposer d'une connexion Internet avant de continuer. Ouvrez un terminal (son icône est un écran sombre en haut à gauche de votre bureau) et tapez ce qui suit pour installer le logiciel Explorer pHAT:

curl get.pimoroni.com/i2c | frapper

On vous posera une série de questions auxquelles vous pourrez répondre par l'affirmative, car cela ne pose aucun problème. Après quelques instants, le logiciel sera installé et il est temps de procéder au redémarrage de votre Raspberry Pi. Une fois terminé, retournez au bureau.

Précédent Page 5 sur 11 Suivant Précédent Page 5 sur 11 Suivant

5. Codage R2-D2

Pour coder notre unité R2, nous utiliserons Python, un langage très facile à utiliser qui convient bien au Pi et que la majorité de la communauté Raspberry Pi utilise comme langue principale. Pour coder en Python, nous devons ouvrir l'application Python3, que vous pouvez trouver dans le menu de programmation..

Lorsque Python3 est ouvert, cliquez sur Fichier> Nouvelle fenêtre ouvrir un nouveau document vierge. Enregistrez maintenant le projet sous R2P10.py avant de continuer. N'oubliez pas de sauvegarder régulièrement votre travail - c'est une bonne habitude à prendre car cela limitera les suppressions accidentelles..

Préc. Page 6 de 11 Suivant Préc. Page 6 de 11 Suivant

6. Code d'importation

Nos trois premières lignes de code Python sont des importations: elles importent des bibliothèques de code externes que notre projet peut utiliser..

importer explorerhat
à partir de l'heure d'importation sommeil
de Randint import aléatoire

Premièrement, nous importons la bibliothèque pour Explorer pHAT - cela permettra à notre projet d’interfacer et d’utiliser la carte..

Les deux importations suivantes servent à importer un aspect de chaque bibliothèque. Depuis la bibliothèque de temps, nous importons la fonction sleep, utilisée pour contrôler le rythme de notre code. De manière aléatoire, nous importons un générateur d’entier aléatoire, utilisé plus tard dans le projet..

Précédent Page 7 de 11 Suivant Précédent Page 7 de 11 Suivant

7. Plus de codage

Nous passons maintenant au corps de code principal (montré ci-dessus).

Ici, nous créons une méthode pour tester notre code, et à l'intérieur de celle-ci, nous utilisons une boucle qui fonctionnera pour toujours, alors que True; Cette boucle exécute le code pour définir la sortie 1 de notre pHAT Explorer afin qu’il clignote toutes les demi-secondes. Nous créons maintenant une variable, un conteneur pouvant stocker n'importe quel type de données. Dans ce cas, nous l'utilisons pour stocker un nombre aléatoire, un entier, compris entre 1 et 5..

L’indentation du code est importante et Python 3 vous aidera à taper.

Précédent Page 8 de 11 Suivant Précédent Page 8 de 11 Suivant

8. Déplacement de R2-D2

Pour notre prochaine section de code, nous allons allumer les moteurs et contrôler R2-D2.

Nous commençons par allumer et avancer nos deux moteurs à 20% de la puissance, un glissement agréable pour que R2-D2 puisse continuer. Si votre moteur tourne dans le mauvais sens, remplacez les câbles par ce moteur afin qu'ils soient inversés dans l'Explorateur pHAT..

Avec les moteurs en marche, nous utilisons un délai, sommeil, pour empêcher les moteurs de s’arrêter. Nous utilisons le nombre aléatoire stocké dans la variable, duration, pour contrôler la durée d'exécution de R2. Ensuite, nous tournons un moteur en arrière pour permettre à R2 de tourner sur place; ceci est également contrôlé pour une durée déterminée.

Précédent Page 9 de 11 Suivant Précédent Page 9 de 11 Suivant

9. Tester votre code

Cette section de code suivante existe en dehors de la boucle while True.

Nous avons commencé le code en utilisant un test, essayez, nous devons maintenant ajouter une exception - dans ce cas, lorsque nous appuyons sur CTRL + C pour arrêter le code en cours d'exécution. Lorsque cela se produit, nous demandons aux moteurs de s’arrêter et, pour que la sortie s’éteigne, d’arrêter le clignotement de R2-D2..

Sauvegardez votre code et préparez-vous à tester votre unité R2! Pour de meilleurs résultats, conservez l’unité R2-D2, sinon elle s’échappera..

Précédent Page 10 sur 11 Suivant Précédent Page 10 sur 11 Suivant

10. Contrôle R2-D2

Avec notre code complet, vous pouvez maintenant exécuter le code en cliquant sur Exécuter> Exécuter le module dans le menu. R2-D2 devrait avancer pendant quelques secondes, puis tourner à gauche.

Ce code sera ensuite répété jusqu'à ce que vous appuyiez sur CTRL + C. Pour une solution réellement portable, vous pouvez utiliser une batterie USB, telle que celle utilisée pour charger vos appareils mobiles, pour alimenter le Raspberry Pi. Vous pouvez également contrôler R2 via une connexion Wi-Fi à l'aide de technologies telles que SSH et VNC..

Et voilà - votre propre unité R2-D2, prête à répondre à vos commandes!

  • Découvrez ce que vous pouvez faire d'autre avec le petit PC avec notre collection de projets Raspberry Pi
Précédent Page 11 sur 11 Suivant Précédent Page 11 sur 11 Suivant
Actions