• YouTube Social  Icon
  • Instagram Social Icon
  • Facebook Social Icon
  • Twitter Social Icon

INTRO . 

J'ai décidé de revisiter un projet pour débutant arduino assez commun, la trieuse a Skittles (par couleur) . J'aurais pu en faire une version pour M&M's mais tout le monde sait bien que les Skittles sont meilleur !!!

Bien que ce projet soit accessible aux débutants, il requiert quelques connaissances de base comme savoir utiliser des servos, controller des LED RGB par PWM et biensur savoir uploader un programme dans votre carte arduino .

Pour ce project j'ai essayé de concevoir une machine la plus compacte possible .

La façon dont elle fonctionne est assez simple . 

Sur le dessus de celle ci on va trouver un réservoir où seront déposés les Skittles en vrac .

En dessous de ce réservoir se trouve un mecanisme de récupération qui collecte un Skittle à la fois pour le passer devant le capteur de couleur .

NOTE : De temps a autres les Skittles peuvent avoir du mal à être collecté malgré le mecanisme de melange du reservoir . Une reconception de réservoir est surment nécessaire pour remédier completement au problème .

Une fois la couleur du Skittle déterminée, la partie inferieure de la machine bouge de manière à aligner le réceptacle correspondant celle-ci . Quand ceci est fait il ne reste plus qu'à larguer le Skittle et recommencer le cycle jusqu'à ce que le réservoir soit épuisé .

CE DONT ON VA AVOIR BESOIN .

*** Note : Certains liens ci-dessous sont des liens affiliés, cela veut dire que je recois une petite commission quand vous achetez en les utilisant ( ca ne vous coute rien de plus ) . Si vous aimez ce site, considérez utiliser ces liens mais vous n'etes pas obligé de le faire ! ***

OUTILS .

 - tournevis
 - pince à dénudage
 - Pince à bec (pour le retrait des supports d'impression)
 - fer à souder
 - multimètre

 - pince à sertir

 - imprimante 3D

HARDWARE

 - buck converteur LM2596

 - arduino nano (ou clone)

 - 2 servos  MG-90S

 - RGB sensor TCS 34725

 - 3 roulements à billes MR105ZZ (5 x 10 x 4 mm)

 - roulement à billes 608RS ou 608ZZ (8 x 22 x 7mm)

 - roulement à billes 6003RS (17x35x10mm)

 - vis à tête fraisée M3*15mm

 - 20 vis autotaraudeuse M2x10

 - RGB led (Anode(+) commune)

 - 3 résistances 220 ohm

 - cables

 - prise jack 2.1x5.5mm

 - gaine thermoretractable

 - connecteurs dupont

 - alimentation 9V or 12v (1 amp minimum)

 - 5 tubes à essais 22mm(OD)x100mm (ceci sont de Danmu Art)

 - et bien sûr quelques Skittles

PIECES .

Vous pouvez aussi les trouver sur la PAGE DE TELECHARGEMENT

SHELL REAR             SHELL FRONT

SERVO GEAR                    TOP GEAR

GEAR CAP

SPACER

BASE

LEG

HOLDER

BIG GEAR

CARIER

SMALL GEAR

REGULATOR BRACKET

ARDUINO BRACKET

la "front shell" existe en 2 versions .

CABLAGE .

IMPORTANT : Vérifiez que votre converteur buck soit réglé a 5V de sorti avant de brancher quoique ce soit dessus !!!

ASSEMBLAGE .

LOGICIELS (et réglage des servos) .

Vous pouvez aussi les trouver sur la PAGE DE TELECHARGEMENT

Avant d'uploader le programme vous devrez installer la bibliothèque Adafruit tcs3472 .

Vers la fin de la vidéo vous pouvez me voir mettre le systeme sous tension et le débrancher presque aussitot . Ceci permet de forcer les servos du mecanisme de collecte de Skittles et celui du support de tubes de se mettre en position initiale .

Au demarrage le mecanisme de collecte devrait se trouver au point mort haut et un des trous du support de tube devrait être aligné avec le mecanisme de collecte .

depannage

Si vous décidez de créer cette machine vous allez peut-être rencontrer quelques uns des problèmes suivants .

 

LA LED CLIGNOTE ROUGE - PAS DE SEQUENCE DE DEMMARAGE .

Après s'être mis en postion initiale, la machine devrait commencer sa sequence de démarrage .

Si ce n'est pas le cas et qu'à la place la LED clignote rouge, cela signifie que le capteur RGB n'a pas été détecté . Il y a soit un problème de cablage ou alors un problème avec le capteur en lui-même .

LES TUBES NE S'ALIGNENT PAS CORRECTEMENT .

Pendant la séquence de démarrage les tubes bougeront 5 fois, une fois pour chaque couleur . Vous remarquerez peut-être que les tubes ne s'aligneront pas correctement avec le mecanisme de collecte . Ceci peut être due au servo de qualité douteuse ou à des variations dans les dimensions de l'impression .

Ceci peut être corrigé en modifiant la varible "colour_angle" dans le code . Chaque valeur de cet array reprensente une position pour une couleur donné . En changeant ces valeurs vous pourrez régler ou les tubes vont s'arrêter .

Due aux tolérances d'impressions vous aurez surment du jeu dans les engrenages du support de tubes, ceci combiné à l'inertie des tubes causera des problemes d'alignement car les tubes auront tendance a depasser leur point d'arrêt . Le code permet de compensser ce jeu en ajoutant ou retirant une valeur "d'anti backlash" suivant le sens de rotation du support de tubes .

MIXE DE COULEURS .

Si les couleurs sont mixées, il faudra changer les variables "colour_limit_values" . Chacun de ces array represente les valeurs minimales et maximales de rouge, vert et bleu pour chaque couleur . Pour avoir une idée des fourchettes de valeurs à changer, le plus simple est de remplir le réservoir avec une seule couleur à la fois . 

Ensuite branchez la machine à votre ordinateur et ouvrez le serial monitor . Pour chaque skittle scanné les valeurs de rouge, vert et bleu seront affichées ainsi que la couleur que le programme "pense" avoir détecté .

Ceci devrai vous donner une idée des valeurs associées a chaque couleur .

Note 1 : J'ai imprimé ma machine en noir, ceci a un impacte sur les valeurs lues par le capteur RGB surtout quand aucun Skittle n'a été collecté .

Note 2 : Apres avoir été trié plusieurs fois, il semble plus difficile de détecter leur couleur manière fiable . Au moment de calibrer les "colour_limit_values" utilisez des Skittles 'frais' si possible .

Note 3 : Prenez toute les mesures d'hygiène nécessaires quand vous manipulez de la nourriture . Ceci veut aussi dire qu'il faut utiliser un filaments d'imprimante compatible au contact alimentaire .