Démonstrations des habiletés de P-O le petit robot :
Sur une imprimante 3D avec une capacité d'au moins 250 x 250 x 200mm, imprimer tous les fichiers dans le dossier (STLs)
- 1 x Paquet de crayons feutres (Amazon)
- 2 x Vis M6 x 1 à épaulement de 8 x 55mm (McMaster-Carr)
- 2 x Écrous M6
- 4 x Rondelles M6
- 1 x Coupleur flexible 5mm à 8mm (Amazon)
- 1 x Vis ACME Tr8 x 8mm x 300mm et écrou (Amazon)
- 3 x Roulements à billes linéaires LM8UU (Amazon)
- 4 x Roulements à billes à épaulement 608 (McMaster-Carr)
- 26 x Inserts filetés M3 pour plastique (McMaster-Carr)
- 32 x Vis SHCS M3 x 14mm
- 12 x Vis SHCS M2.5 x 6mm
- 1 x Feuille de contre-plaqué 480 x 480mm
- 6 x Attaches de plastique (Tyrap) 3 x 100mm min
- 1 x Fil micro-USB de 0.3m
- 1 x Microcontrôleur OpenCR 1.0
- 2 x Servomoteurs Dynamixel XM430-W350
- 1 x Servomoteur Dynamixel XL430-W250
- 2 x Servomoteur de type "hobby" Hitech HS-422
- 1 x Moteur pas-à-pas NEMA17 (Amazon)
- 1 x Contrôleur de moteur pas-à-pas (EasyDriver)
- 2 x Interrupteur de fin de course miniature
Installer les inserts filetés avec un fer à souder à environ 300 deg C dans toutes les pièces qui doivent en recevoir.
- Arduino IDE version 2 (arduino)
- Paquet Open-CR du Boards Manager : suivre les instructions d'installation pour Windows (opencr)
Le dossier Code_OpenCR contient toutes les fonctions en C++ qui s'exécutent sur la carte OpenCR.
- actuators.cpp : Ce fichier contient les fonctions qui contrôlent les actuateurs du projet POLUS, sauf le moteur pas à pas de l'axe Z.
- stepperZ.cpp : Ce fichier contient les fonctions qui contrôlent le moteur pas à pas de l'axe Z.
- inverseKinematics.cpp : Ce fichier reçoit en entré une valeur cartésienne (X,Y) et retourne deux angles pour les moteurs du bras scara.
- serialcomm_functions.cpp: Permet de lire des données depuis un port série, les diviser en parties distinctes et appeler la fonction correspondante en fonction du type de message envoyé.
- Code_OpenCR.ino : Ce fichier est le fichier "main" s'exécutant sur la carte OpenCR.
L'image suivante démontre la relation entre le code s'exécutant sur l'ordinateur (interface utilisateur) et la carte OpenCR.
Sur un PC Windows :
- Ouvrir le fichier Code_OpenCR.ino dans Arduino IDE et brancher la carte OpenCR à l'ordinateur. Dans Arduino IDE, sélectionner le "board" OpenCR et téléverser le code.
- Brancher la carte OpenCR à votre ordinateur avec un fil micro-USB
- Installer les librairies Python suivantes avec pip:
- pyserial
- threading
- PIL
- os
- csv
- numpy
- colormath
- tkinter
-
Lancer le programme main.py
-
Dans l'interface utilisateur, entrer les bonnes informations dans les différents champs : *** Précisions :
- Le fichier des RGB doit être un fichier .CSV où chaque rangée contient les valeur R,G,B d'un crayon du carrousel. La 1ère ligne du fichier correspond au crayon à l'index 1 et ainsi de suite. C'est de cette manière que le robot sait quel crayon se trouve à quel endroit dans le carrousel.
- Le nombre de pixels voulus représente le nombre de pixels pour une dimension. Dans cet exemple, l'image dessinée fera 50x50 pixels.
-
Appuyer sur les boutons "Envoyer les noms de fichiers" et "Envoyer la résolution de l'image".
-
Fermer l'interface graphique pour lancer le traitement d'image.
-
Dans le terminal, un message s'affiche pour choisir le port USB pour établir la liaison série avec le OpenCR (ce message peut prendre plusieurs secondes à s'afficher).
-
L'utilisateur n'a plus rien à faire à partir d'ici.
Apache Version 2.0
Voir LICENSE