VOR-013

De VoWiki
Aller à : Navigation, rechercher

AccueilNos Projets

20160125 205034(0).jpg
Document de conception drawing robot VOR-013

Association VoRoBoTics

Date : 4/7/2016

Auteur : J MajorLee Soranzo

Relecteur :

Thème: Robotique

Projet VORmarley

C'est bien gentil tout ça / fabrication

Mais moi, je veux juste le fabriquer ! C'est par ici !

Problématique

A partir d'un modèle web créer un petit robot simple et facile d'utilisation pour nos events.

Modèle de départ :

Arduino Drawing Robot by MakersBoxon October 25, 2015 sur Instructables

Au début cette réalisation ne devait pas faire l'objet de développements particuliers. Juste un fabrication à partir d'un projet existant.

Ca aurait du donner ça :

FQYNQ54IG6RSS0Q.LARGE.jpg


aujourd'hui ça donne ça:


VOR-013gauche.JPG VOR-013CarteSD.JPG
En vue de gauche avec pack batterie
Vue arrière avec carte SD et la place pour le Bluetooth

Ajout pack batterie

AfficheurTensionBatterie.JPG
Dev sous Fusion 360
PotenceBatteryPack v4.png


Pour une batterie de 3,7V lipo avec un afficheur de tension




Ajout d'une carte SD pour y mettre l'alphabet

Aspect logiciel

On pourra alors ajouter d'autres dessins pre-programmés.

Pourquoi des broches spécifiques pour la carte SD ? 11, 12, 13 c'est le bus SPI seule la 10 n'est pas nécessaire

  1. déplacer les files du moteur de gauche pour libérer le bus SPI OK
  2. Ajouter carte SD

Pb : sur la carte SD, on a les commandes qui sont écrites dans fichier texte directement pompé du fichier letters.h sous la forme {TR,17}, car en fait dans le fichier .h cela correspond à l'initialisation d'un tableau de byte, tableau qu'il faut reconstruire à partir de la lecture ascii,

  • lire le fichier
  • en extraire les couples commandes, paramètre
  • convertir la commande de ASCII à valeur de l'énum : enum{ PD, PU, FW, TR, TL };
  • remplir le tableau cmdBuffer

Création de la class Lettres pour tout regrouper. : OK


Bon ok on a d'un côté la classe Lettre qui gère la récupération de la lettre sur la carte SD et qui s'utilise sans même avoir besoin d’instancier:

exemple : Lettre( 'a')


De l'autre côté on a toute les fonctions inhérentes au moteur et au déplacement du robot sous forme de fonction C standard. Comment relie-t-on les 2 ?


Classe moteur => classe fille: Lettre

Classe lettre qui intègre tout

Classe moteur et classe Lettre qui instancie en tant que membre un/des moteurs


On a les fonctions

void traceLetter(char c) => méthode de Lettre

void trace(int cmd, int param)

void forward(float distance) : commande les moteurs

void backward(float distance) : commande les moteurs

void right(float degrees) : commande les moteurs

void left(float degrees) : commande les moteurs

void done()

void penup()

void pendown()

Au final, une classe Traceur et une classe fille Lettre


Importance du nom de la classe : la classe Lettre sous-entend qu'il faudrait créer une instance par lettre. Alors que si on la nomme Lettreur (pour : classe qui trace des lettres) alors l'instance devient évidente.


Deux méthodes publiques setLettre et traceLettre

Privilégier dans Arduino les méthodes .begin() ou setup() ou .start() plutôt que de faire les init dans le constructeur. Cela permet une meilleur maîtrise de l'instant où le code est exécuté.

Aspect mécanique

Fixation du lecteur de carte SD design dans FUSION360

Il n'y a pas beaucoup de place. Après mur réflexion, j'ai opté pour une plateforme supplémentaire au dessus du shield ARDUINO


Anecdote sur la création de la classe Flasher

Conformément à l'article Multi-tasking the Arduino - Part 1 paru sur le site ADAFRUIT et que je suis en train de traduire en français.
J'ai créé une classe FLASHER pour faire clignoter la LED sans avoir recours à la fonction bloquante delay().
Malheureusement pour moi, j'ai voulu utiliser la LED 13 pour la mettre au point et cela dans le if de test de présence de la carte SD.
Ce n'est pas une bonne idée, en effet, la classe SD utilise les broche SPI 13, 12, 11 et 10.

Le futur de ce petit projet

Outre le fait de le balader et de l'utiliser en convention. Nous réfléchissons (juillet 2016) à une version sans fil. La grande question est WIFI ou Bluetooth. Et comme nous réfléchissons également en ce moment à une plateforme serveur IoT WIFI pour nous robot qui serait transportable en convention, la balance penche côté WIFI même si cela représente plus de boulot. Affaire à suivre donc... sur Facebook, Tweeter et consorts.

Au fait pourquoi VOR-Marley ?

Au VoLAB, nous avons pour tradition de nommer les objets. Pour certains cela tombe sous le sens. Le tour à bois se nomme Woody, L'imprimante 3D Witbox, c'est Wity. La charlyrobot c'est Charlotte. Et vus la couleur des fils qui le compose, VOR-013 est devenu VOR-Marley !

Fichiers sources

Code des lettres sans SD, avec SD, sans BT et avec BT Tout ça c'est sous github


Cet article en pdf

Ou si vous préférer la version Open Office 4

Licence

Ce document est mis à disposition selon les termes de la Licence Creative Commons Attribution 4.0 International.

CC88x31.jpgPaternité 'by' :L'œuvre peut être librement utilisée, à la condition de l'attribuer à l'auteur en citant son nom.


Note aux auteurs de documents du VoLAB, Vous avez la possibilité de changer de licence. Mais ce serait bien de rester libre et ouvert. Encore une fois ceci est une recommandation et pas une obligation.

Bibliographie

webographie

http://fr.wikipedia.org/wiki/Licence_Creative_Commons

https://learn.adafruit.com/multi-tasking-the-arduino-part-1/overview

http://www.instructables.com/id/Arduino-Drawing-Robot/

multimètre :

http://www.banggood.com/3Pcs-Red-LED-0_28-Inch-2_5V-30V-Mini-Digital-Voltmeter-Voltage-Tester-Meter-p-980044.html


Rédaction en langue française

Partant du constat de terrain qu'une énorme masse d'information concernant les sujets qui nous intéressent comme entre autres l'impression 3D n'étaient disponibles que dans la langue de Shakespeare et que de nombreuses personnes dans notre entourage ne maîtrisaient pas la dite langue et soucieux de diffuser encore plus l'information, nous avons pris le parti, au VoLAB, de rédiger nos documents de préférence en langue française.

VoLAB

Un mot sur le VoLAB. VoLAB est un fablab implanté à environ 30km au nord-ouest de Paris dans la commune de Vauréal dans l'agglomération de Cergy Pontoise. Il est animé par l'association VoRoBoTics.

Site internet www.vorobotics.com