Blog

Comment apprendre la robotique avec Arduino

Apprendre la robotique
Partager
Comment apprendre la robotique avec Arduino

La robotique est un domaine tellement passionnant et en pleine croissance. Beaucoup de gens veulent apprendre à fabriquer des robots, mais il est parfois difficile de savoir par où commencer.

Si vous partez de zéro, ou si vous connaissez déjà quelques notions d'électronique et de programmation, apprendre la robotique avec Arduino est une bonne idée. Il vous donnera quelques bonnes bases que vous pourrez utiliser plus tard pour construire des projets robotiques plus importants.

Niryo One est un exemple de robot alimenté par ArduinoDe grandes choses peuvent être accomplies avec Arduino ! Vous trouverez également d'autres exemples d'applications robotiques sur Instructables, un site Web étonnant avec des tutoriels open source.

Dans cet article, nous vous montrerons un aperçu et quelques lignes directrices pour savoir par où commencer, quelle carte, quels capteurs, quels moteurs utiliser et sur quoi se concentrer.

Ce que vous pouvez faire et ce que vous ne pouvez pas faire avec une carte Arduino

Une carte Arduino est composée d'un microcontrôleur, de quelques LED, d'un bouton de réinitialisation et de nombreuses broches que vous pouvez utiliser pour les opérations d'entrée/sortie.

Avec autant de broches disponibles, vous pouvez facilement lire les données des capteurs ou contrôler différents moteurs et actionneurs. C'est ce que rend Arduino idéal pour apprendre la robotique. C'est une sorte de outil tout-en-un pour interfacer tout le matériel dont vous avez besoin pour contrôler.

Mais ne pense pas à intelligence artificielle, visualisation 3D et autres algorithmes lourds. Les microcontrôleurs ne sont pas assez puissants et ce n'est pas le but d'utiliser une carte Arduino. Arduino est principalement utilisé pour faire opérations d'entrée/sortieet petits calculs.

Ne vous inquiétez pas, vous pouvez toujours faire des choses incroyables avec juste une carte Arduino et quelques moteurs et capteurs ! Il existe suffisamment de ressources pour apprendre la robotique avec Arduino.

Et puis, si vous souhaitez apprendre des concepts robotiques plus approfondis et ajouter une couche d'intelligence pour rendre votre système plus intelligent, vous pouvez simplement contrôler votre carte Arduino depuis un autre ordinateur (comme une carte Raspberry Pi), il existe de nombreuses façons simples de le faire.


Choisir une carte Arduino

Tout d'abord, vous devez choisir quelle carte Arduino est la mieux adaptée à votre projet de robotique. Notre recommandation : commencer par un Uno ou un Mega c'est très bien.

L'Uno possède un microcontrôleur ATmega328P et le Mega un ATmega2560. Leur processeur est tous deux cadencé à 16 MHz. Uno a 2ko de SRAM tandis que Mega a 8ko. C'est assez petit, alors réfléchissez-y à deux fois avant de créer d'énormes tableaux de variables.

Ensuite, la plus grande différence réside dans l’interface avec les composants matériels. Uno a 14/6 broches d'entrée/sortie numérique tandis que Mega en a 54/15. C'est pourquoi Arduino Mega est préféré pour les projets plus importants, car vous pouvez brancher plus de matériel.

Et si vous aimez l'impression 3D, vous savez peut-être que certains boucliers ont été créés uniquement pour la carte Arduino Mega, comme le bouclier RAMPS 1.4, qui vous permet d'utiliser 5 moteurs pas à pas et de les alimenter à partir d'une source d'alimentation externe.

 

Blindage RAMPS 1.4 au-dessus d'une carte Arduino Mega


Chez Niryo nous sommes définitivement fan de la combinaison Arduino Mega + RAMPS 1.4, que nous utilisons pour alimenter notre robot !

Alors, si vous souhaitez apprendre uniquement les bases, procurez-vous un Arduino Uno, sinon nous vous conseillons de démarrer directement avec un Mega. D'autres cartes Arduino sont disponibles pour différentes applications robotiques. Pour une carte très petite, consultez Arduino Nano. Si vous souhaitez une connectivité Ethernet, Arduino Yun est fait pour vous, et pour un calcul plus avancé, vous pouvez choisir l'Arduino Due.


Installation de l'EDI

La première étape consiste à installer le logiciel (IDE) qui vous permettra d'écrire et de télécharger le code sur votre carte Arduino. Vous pouvez télécharger l'IDE Arduino sur le site officiel Site web d'Arduino. Il existe une version pour Windows, Mac OS et Linux : tout le monde est content.

Une fois l'IDE installé, vous devez brancher votre carte Arduino à votre ordinateur avec le fil USB. Normalement, l'IDE devrait reconnaître automatiquement le port USB sur lequel la carte Arduino est branchée. Il vous suffit d'une étape supplémentaire : allez dans « Outils » -> « Carte » et sélectionnez la carte Arduino que vous utilisez.

Il ne vous reste plus qu'à écrire votre code et à le télécharger ! Si vous n'êtes pas familier avec la programmation Arduino, jetez un œil dans Fichier->Exemples. De nombreux exemples utilisant les bibliothèques Arduino standard peuvent être trouvés ici. Cela vous mettra facilement au courant. Vous êtes maintenant prêt à apprendre la robotique avec Arduino !

 


Contrôler les moteurs (sortie)

Comme nous l'avons vu, une carte Arduino servira de plateforme d'entrées/sorties. Dans cet article, nous nous concentrons sur les applications robotiques. Alors… De quoi a-t-on besoin pour déplacer un robot ? Oui, les moteurs.

Deux types de moteurs peuvent être facilement contrôlés par Arduino : servomoteurs et moteurs pas à pas.


Les servomoteurs

Les servomoteurs ont juste besoin d'un connecteur à 3 fils et peuvent être directement branché sur la carte Arduino. Les servos de loisir standard peuvent se déplacer entre 0 et 180°. Vous pouvez contrôler un servo avec l'Arduino Bibliothèque d'asservissements. Certains exemples sont fournis sur le site Arduino.

Fondamentalement, la façon dont vous contrôlez un servomoteur consiste à lui donner la valeur de l'angle cible. Il ira automatiquement vers cet angle. Vous pouvez ajuster la vitesse en incrémentant l'objectif sur différentes périodes de temps.

Vous pouvez également lire la valeur de l'angle actuel. Les servos vous donnent Réactions ce qui est très utile. Mais sachez que la plupart des servos hobby ont une plage de 180°, ce qui peut poser problème dans certaines applications (vous pouvez trouver des servos alternatifs sur Internet, chacun avec ses avantages et ses inconvénients).

 

Un servomoteur hobby classique avec un connecteur à 3 fils


Moteurs pas à pas


Les moteurs pas à pas sont différents. Vous ne pouvez pas les brancher directement sur la carte Arduino. Vous avez besoin d'une autre carte liée ou d'un bouclier comme RAMPS 1.4 pour la carte Mega. C'est pourquoi nous préférons Arduino Mega + RAMPS 1.4 pour moteurs pas à pas, car il offre une interface plus simple et plus agréable.

Pour contrôler un moteur pas à pas, vous devez lui dire d’effectuer une étape. C'est à peu près tout. Il faut donc savoir combien de pas vous pouvez faire pour un mouvement à 360°. Ensuite, en ajoutant ou en supprimant un délai entre chaque étape, vous pouvez réduire ou augmenter la vitesse du moteur. Tu peux trouver exemples sur le site Arduino. Un moteur pas à pas sera généralement fonctionner plus facilement qu'un servomoteur, et il a rotation infinie.

 

Moteur pas à pas branché sur le blindage RAMPS 1.4, avec un pilote de moteur


Cependant vous je n'ai pas de retour à partir d'un moteur pas à pas. Ainsi, si votre robot a besoin de connaître l'angle actuel, vous devrez ajouter un encodeur ou un capteur pour savoir si le stepper a raté certaines étapes à cause d'un couple trop élevé.

Après avoir appris à gérer les servomoteurs et les moteurs pas à pas, vous pourrez choisir lequel est le mieux adapté à votre robot. Et il existe d’autres types de moteurs…

Lecture des données des capteurs (entrée)

Une fois que vous aurez réussi à contrôler vos moteurs, vous souhaiterez peut-être faire en sorte que votre robot adapter son comportement aux changements de l'environnement.

Il y a des tonnes de capteurs vous pouvez utiliser avec une carte Arduino :

  • Mesure de distance optique
  • Détecteur laser
  • Accéléromètre
  • Gyroscope
  • Magnétomètre
  • Lecteur RFID
  • Thermomètre
  • Capteur de charge
  • Capteur de force
  • ...

Imaginez toutes les applications robotiques que vous pouvez réaliser avec tous ces capteurs ! Vous pouvez facilement trouver des bibliothèques, des tutoriels et des fiches techniques en ligne pour apprendre à lire et analyser des données. La plupart du temps, l'acquisition de données se fera via en sériei2c et spi communication.

Par exemple, vous pouvez utiliser une IMU (Inertial Measurement Unit) pour contrôler l'inclinaison de votre robot. Une IMU est composée de différents capteurs : accéléromètres, gyroscope et magnétomètre (en option). Ensuite, si vous souhaitez que votre robot détecter et éviter les collisions avec des objets et des personnes, vous pouvez ajouter un détecteur laser.

Tout cela uniquement avec votre carte Arduino. Le matériel robotique est désormais devenu beau et convivial !

Journal

Lorsque vous téléchargez votre code sur la carte Arduino, vous ne savez pas exactement ce qui se passe lors de l'exécution du programme. Peut-être que vous constaterez des comportements étranges ou que votre robot ne fera tout simplement rien.

Le moyen le plus simple de déboguer ou d'afficher un état dans votre programme est d'utiliser le Bibliothèque série. Tout ce que vous avez à faire est d’écrire Serial.print() et d’ouvrir le moniteur série sur l’IDE ​​Arduino. De cette façon, vous pourrez voir les journaux et envoyer des commandes manuelles via communication série pour le débogage. (Si vous voyez des caractères imprimés bizarres, assurez-vous que le débit en bauds est le même sur Arduino et sur le moniteur série)

Il est temps pour vous d'apprendre la robotique avec Arduino !

Nous avons donné ici un aperçu de ce que vous pouvez faire pour apprendre la robotique avec les cartes Arduino. Si vous rencontrez des difficultés avec certaines pièces, ne vous inquiétez pas trop car il y a un communauté en ligne autour des cartes et projets Arduino.

Nous espérons que cet article vous sera utile, afin que vous puissiez vous familiariser davantage avec la robotique, apprendre de nouvelles choses et partager vos projets avec les communautés robotiques.

Et si vous souhaitez apprendre la robotique avec Arduino sur un projet sympa et utile, vous aimerez certainement Niryo One !