====== ROSA (Robot Open Source Arduino) ====== {{ :robotsarduino:robot_presentation.jpg?direct&450 |}} Un robot didactique "bas prix" simple à réaliser et permettant de s'initier à la robotique. ===== Présentation ===== Conçu à l'occasion du projet [[http://d-clicsnumeriques.org/ | D-Clics numériques]], ce robot se veut une machine simple à fabriquer et évolutive. \\ Il s'agit d'un robot éviteur d'obstacles utilisant deux moteurs et un capteur de distance, pour découvrir les bases de la robotique notamment à travers : \\ * l'assemblage du châssis * l'électronique (à travers le câblage des différents éléments) * la programmation de la carte Arduino Uno Le robot ROSA présenté à M.**Jean-Michel Blanquer**, ministre de l'éducation nationale et de la jeunesse, lors d'un atelier sur la robotique. {{ :robotsarduino:rosa.png?nolink&600 |}} ===== Cahier des charges ===== L'objectif est de construire un robot à bas coût et évolutif. * reproductibilité : toutes les pièces utilisées doivent être faciles à trouver * low-cost : le coût doit être acceptable pour une utilisation en nombre, de l'ordre de 45€ * polyvalent: la carte Arduino peut être utilisé pour réaliser d'autres projets * programmation libre et open-source : code open-source et GPL * simplicité de réalisation * Il doit être facilement réalisable sans avoir de compétences particulières en mécanique ou bricolage ===== Principe de fonctionnement ===== \\ Ce robot éviteur d’obstacles utilise un capteur ultrason qui mesure une distance. L'information est traitée par la carte Arduino. \\ \\ Le robot avance et lorsqu’il rencontre un obstacle frontal il s’arrête quelques instants et recule, puis il pivote à droite ou à gauche (possibilité de modifier le programme) et avance tout droit jusqu'au prochain obstacle. ===== Liste des composants ===== Le kit est composé des éléments suivants : \\ \\ ^ Composants ^ Quantité ^ Visuel ^ | un châssis + roue à bille | 1 |{{:robotsarduino:chassis.png?direct&200|}} | | Arduino Uno + câble | 1 |{{:robotsarduino:arduino-uno.jpeg?direct&200|}}| | Contrôleur moteur | 1 |{{:robotsarduino:l9110.png?direct&200 |}}| | Capteur de distance HC-SR04 |1 |{{:robotsarduino:hr-sr04.jpg?direct&200|}} | | Support du capteur HC-SR04 |1 |{{:robotsarduino:supportultrason.png?direct&200|}} | | Support de piles (6x AA) | 1 |{{:robotsarduino:boitier6aa.jpg?direct&200|}} | | Collier "colson" ou "serflex" pour maintenir la carte |1 |{{ :robotsarduino:serflex.png?direct&200 |}} | | 6 fils (mâle à femelle) pour le contrôleur |1|{{:robotsarduino:cablemf.png?direct&200|}} | | 4 fils (mâle à femelle) pour le capteur |1|{{:robotsarduino:cablemf.png?direct&200|}} | | Scotch double face |2 dont un pour le shield moteur | | \\ \\ **__Kit formateur (outillage)__** Pour le montage du châssis et si vous souhaitez fixer autrement la carte Arduino ou le contrôleur vous allez avoir besoin d’outils. * un petit tournevis cruciforme ou plat (pour des vis de 3 mm) * un pince plate (optionnel) * scotch double face pour fixer la carte Arduino ou le contrôleur des moteurs (optionnel) * ciseaux ou cutter pour couper proprement le scotch double face \\ {{:robotsarduino:tournevis.jpg?direct&300|}} ** __Où acheter ?__ ** \\ \\ En grande surface, dans le rayon bricolage ou aussi sur Internet. Je vous conseille un lot de tournevis. C'est pas cher (dans les 5 €). Outils de base à toujours à avoir sous la main ! \\ {{:robotsarduino:lot_tournevis.jpg?direct&250|}} **__Quelques vendeurs__** \\ \\ [[http://www.conrad.fr/ce/fr/product/813146/Lot-de-tournevis-11-pices-Basetech-813146-plat-cruciforme-Phillips-1-set/?utm_source=google-search-product&utm_medium=comparateur&utm_campaign=813146&WT.mc_id=comparateur-gsp-813146&LGWCODE=813146;43857;390&gclid=CK3l05Hjpc0CFQPgGwoda2cEVg | lot de tournevis, 11 pièces ]] \\ [[http://www.castorama.fr/store/Lot-de-6-tournevis-de-precision-ECO-prod15090032.html | lot de tournevis, 6 pièces ]] \\ [[http://www.leroymerlin.fr/v3/p/produits/jeu-de-tournevis-de-precision-mixte-e59040 | Jeu de tournevis de précision mixte]] \\ \\ Maintenant que vous avez votre équipement, passons à la suite. ===== Contenu du kit ===== \\ {{ :robotsarduino:vue_cote.jpg?direct&350 |}} \\ {{ :robotsarduino:chassis.jpg?direct&500 |}} \\ Vérifiez qu'aucun élément n'est manquant. Dans ce kit, nous avons ajouté des pièces supplémentaires, notamment 2 fils. **La carte Arduino sera installée en dernier**. \\ ===== Montage du châssis ===== \\ {{ :robotsarduino:chassis.png?direct&250 |}} \\ Le Magician chassis est une plateforme robotique facile à assembler soi-même. Il fonctionne grâce à  deux moto-réducteurs à courant continu. Il propose un support 4 piles AA pour l’alimentation mais il est conseillé d'utiliser un support 6 piles. \\ Une fois le châssis monté, on peut l’équiper de capteurs ou d’actionneurs pour en faire un véritable robot intelligent et autonome. Les 2 roues à disque permettent d'y connecter des encodeurs. Montage facultatif. {{ :robotsarduino:roues_a_disque.jpg?direct |}} ^ Notices ^ Fichiers ^ ^ Notice d'assemblage du châssis en français | {{:robotsarduino:montage_chassis_v2.pdf|}} | ^ Notice de montage du châssis en anglais |{{:robotsarduino:magicianchassisinst.pdf|}} | ^ Montage complet du robot | [[http://rosa.lph.bzh/montage.html | lecture de la vidéo ]] ou [[http://rosa.lph.bzh/videos/montage_robot.zip| télécharger la vidéo]] | \\ Si vous avez des problèmes pour fixer la carte Arduino sur le châssis, je vous conseille de le faire avec du scotch double face. ===== Schéma ===== \\ **Voici le schéma complet du robot :** \\ {{ :robotsarduino:robot_l9110.png?direct&550 |}} \\ **Le branchement est un peu différent avec le contrôleur bleu.** \\ \\ \\ {{ :robotsarduino:robot_l9110_bleu.png?direct&550 |}} \\ \\ **Capteur de distance :** \\ {{ :robotsarduino:hcsr04.jpg?direct&250 |}} \\ Pour éviter les erreurs de câblage, il est préférable de garder la même couleur de fil. \\ {{:robotsarduino:schemas.zip | Télécharger les schémas.}} \\ **Une fois le câblage terminé, vous pouvez passer à l'installation de l'environnement de développement de la carte Arduino.** \\ \\ Mais avant de commencer la programmation, il est intéressant de voir les différents déplacements du robot. Avec une pile AA, il est possible de faire tourner un moteur afin de déterminer son sens de rotation. \\ ===== Test des moteurs avec une pile ===== \\ Pour tester le sens des moteurs, il suffit d'utiliser pile AA ou 9v. L'inversion du sens de rotation d'un moteur s'effectue en inversant la polarité de la pile. [[https://rosa.lph.bzh/test_moteurs.html | Lecture de la vidéo]] [[https://rosa.lph.bzh/videos/test_moteurs.zip | Télécharger la vidéo]] ===== Déplacement du robot ===== \\ {{ :robotsarduino:mouvement_robot.jpg?direct |}} \\ **Le robot peut :** * Avancer * Reculer * Tourner à droite * Tourner à gauche * Tourner sur place Le tout plus ou moins rapidement, en changeant la vitesse des moteurs dans le code. ===== Installation de la carte Arduino Uno ===== \\ La carte [[https://www.arduino.cc/ |Arduino]] est une carte électronique open source et simple d'utilisation. Elle est développée par un italien nommé Massimo Banzi. Cette carte permet de rendre l’électronique accessible au plus grand nombre. Le modèle de base permet de contrôler 14 entrées/sorties digitales dont 6 sorties PWM(Modulation de Largeur d'Impulsion) pour faire varier la tension de sortie, et 6 entrées analogiques grâce à un microcontrôleur ATMEGA-328.[[https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-embarquee/742_decouverte-de-larduino/3414_presentation-darduino/#1-10774_quest-ce-que-cest | Ressources en ligne.]] \\ ^ Ressources ^ PDF ^notes ^ ^ Présentation de la carte Arduino | {{:robotsarduino:presentation_arduino.pdf|}} | ^ Installation d'Arduino sous Windows |{{:robotsarduino:installation_arduino_ardublock_windows.pdf|}} | Ardublock facultatif pour le moment| ^ Installation d'Arduino sous Mac | {{:robotsarduino:installer_arduino_sur_un_mac.pdf|}} | Ardublock facultatif pour le moment | ^ Installation d'Arduino sous Gnu/Linux | {{:robotsarduino:installation_arduino_linux.pdf|}} | Installation orientée Raspberry | ===== Programmation du robot ===== \\ Bien qu'il soit possible de programmer la carte Arduino avec Ardublock, Scratch, ou encore Blockly nous allons utiliser l'environnement Arduino. \\ \\ **__Lancer l'IDE Arduino__** \\ \\ {{:robotsarduino:ide_arduino.jpg?direct&400 |}} \\ \\ ==== Installation de la bibliothèque NewPing ==== **Késako une bibliothèque sous Arduino ?** Les bibliothèques (ou librairie) permettent d'appeler des fonctions toutes prêtes par rapport à un shield ou un capteur. La bibliothèque NewPing permet d'utiliser facilement le capteur de distance (le HC-SR04). \\ ^ ^ ^ ^ Bibliothèque NewPing |{{:robotsarduino:newping.zip|}} | ^ Installation d'une bibliothèque |[[http://rosa.lph.bzh/installation_librairie.html | installation et utilisation du capteur ]] [[http://rosa.lph.bzh/videos/installation_librairie.zip| télécharger la vidéo]] | ^ Code test des moteurs |{{:robotsarduino:test_moteurs.ino.zip |}} | ^ Code du robot |{{ :robotsarduino:robot_rosa_2022.zip |}} | ===== Parcours Robotique ===== La découverte des compétences informatiques et de programmation (coding, robotique...). Vous pouvez télécharger le pdf complet du parcours à cette adresse [[http://www.centredeloisirseducatif.net/sites/default/files/dclics-parcours-robotique.pdf]]