Machine à Cocktail
UE 803 - Optimisation et ContrôContrôle des ProcédéProcédés - Master 2 - IngéIngénierie Chimique
Projet ExpéExpérimental Arduino
Dans le cadre de cette UEUE, nous devons réréaliser un projet de rérégulation par prototypage utilisant principalement un micro contrôcontrôleur Arduino et des capteurs / actionneurs.
AprèAprès quelques séséances de brainstorming et ééchange d'idéidées, nous avons décidédécidé d'opter pour la conception d'une machine àà cocktail connectéconnecté via assistant vocal. Des pompes gègèreraient le dédébit des boissons et un capteur pour la dédétection d'un gobelet serait ajoutéajouté.
Nous avons passéspassé en revu plusieurs projetprojets de systèsystème de pompage utilisant Arduino ou un connecteur Nano-IoT et avons donc pu dresser une liste du matématériel complet pour mener àà bien ce projet.
Projet distributeurs de boissons
Objectif : RéRéaliser un distributeursdistributeur de cocktails àà partir de 7 boissons (et donc 7 pompes) qui nous permettrait de faire diffédifférents mémélanges. Le distributeur serait connectéconnecté au cloud via un Nano-IoT et contrôlécontrôlé vocalement par Alexa.
MatéMatériel éélectronique :
- 7 pompes
- 7 relays (ou switch)
- fils de connexions
- Un nano 33 IoT
- Une carte arduino
CâUne platine- Câble d'alimentation
CâCâble usbreliéreliéàà l'arduinoCâCâble usbreliérelié l'IoT- Un capteur sonar (distance)
- 4 Boutons poussoirs
- 4 Résistances
MatéMatériel de construction :
- Tuyaux
- Planches de bois
VisesVis- 7 Bouteilles vides 1,5L
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________
Semaine 6 au 13 DéDécembre :
Une fois tout le matématériel reçreçu, la premièpremière éétape du projet a étéété de mettre en place une stratéstratégie pour monter et faire fonctionner les pompes :
- Mettre en place le
schéschéma de branchement des pompes - Faire un
éétat des lieux des filsnénécessaires (bruts, embout femelle, embout male). DénudéDénudé laquantitéquantité de filsnénécessaire- Trouver la borne + et la borne - des pompes en utilisant un
multimèmultimètre
AprèAprès plusieurs rechercherecherches et la consultation de plusieurs sitesites web et pagepages githubgithub, le branchement suivant reliant la pompe, le relay et l'arduino a étéété déterminédéterminé quecomme lecelui branchement suivantqui serait utiliséutilisé :
L'utilisation d'un relay est essentiel si nous voulons etreêtre capable de faire varier l'intensitéintensité de la pompe ou sa durédurée de fonctionnement. En effet la pompe est par dédéfaut une entitéentité boolébooléenne : alluméallumée ou ééteinte.
Soudure des fils àà nos 7 pompes :
Branchement des fils de connexions aux 7 relays :
Branchement final des pompes aux relay puis sur la carte Arduino :
Semaine 2 Janvier :
Une fois les pompes câblécâblés correctement et branchés,branchées, nous devons commencer àà programmer nos commandes de boissons.boissons, car sinon les pompes sont activés en continues quand connecté à l’alimentation. Nous rechersonsrecherchons donc des exemples de codes qui montrent comment activéactiver une pompe pour un dédélais préprécis et innitaliserinitialiser nosnotre pin digitalsetup en fonction du nombre de pompe utiliser.utilisées.
Un de nos premiers exemple de code utiliserutilisé est celui-ci :
Nous arrivons donc amaintenant à activer une pompe et contrôcontrôler sa durer d’d’activation. Le but est d’d’ensuite ajouter toutes nos pompes et crécrée des fonctions qui gèregèrent l’l’activation de 2 pompes en mêmême temps (gérer par une seule fonction « boisson »pour réréaliser unles cocktail).mélanges de nos cocktails.
Nous cherchons éégalement en parallèparallèle comment cese branche et fonctionne notre capteur sonar de distance. En effet aprèaprès plusieurs recherches nous nous sommes rendu compte que notre capteur ne possèpossède pas les branchements dédécrit habituellement dans la littélittérature et autres projet libre d’accèsd’accès.
En effet, dans nos nombreuses recherches de fonctionnement du capteur nous retrouvions tout le temps le capteur ci-dessus. Qui possède quatre branchements : notre……Vcc phrasequi cyrielle.correspond au voltage 3,3 ou 5V, GND qui correspond comme l'indique son nom à la terre (ou ground). Et finalement les branchements Trig et Echo où Trig correspond au transmetteur soit la partie de gauche qui va émettre des impulsions qui seront arrêtées et renvoyé par l'objet qui fait face au capteur. Ces impulsions renvoyées sont captées par le récepteur qui correspond à l'Echo (partie de droite).
Cependant, nous ne sommes pas exactement dans ce cas-là.
Ici, les sorties Trig et Echo sont remplacés par la sortie SIG qui fait office de branchement pour le transmetteur et le récepteur. La sortie NC (ou "not connected") est comme l'indique son nom une sortie qui n'a pas besoin d'être l-relié à quoi que ce soit. GND et VCC sont des branchements qui se font à l'identique de ce qui a été expliqué précédemment. Le branchement de note capteur est donc simplifié mais il a fallu faire un travail d’identification pour assurer une connexion.
Branchement capteur :
Semaine 9 Janvier :
Nous avons pu réréaliser les branchements du capteur et les avons reliéreliés correctement àà l’l’Arduino. Nous devons dédésormais adaptéadapter notre code afin de spécifiéspécifier les fonctions liéliées au fonctionnement du capteur mais aussi ajouter une nouvelle condition sur l’l’activation des pompes : les pompes ne peuvent s’activés’activer que si le capteur dédétecte une préprésence proche àà moins ou éégale àà 2cm de distance du rérécepteur du capteur.
Nous nous penchons éégalement sur le Nano-IoT fait pour relier notre systèsystème au service cloud de Arduino afin de créecréer des boutons digitaux (web ou application mobile) contrôcontrôlable manuellement ou par assistanatassistanats vocaux grâgrâce àà la configuration de ces boutons digitaux en skills Alexa.
Pour ce faire nous commençcommençons àà souder les branches en or fournis avec note Nano-IoT 33 pour pouvoir faire des branchement. Une fois fait, il est connectéconnecté sur une platine et branchébranché par un câcâble USB àà l’l’ordinateur pour la crécréation des boutons et du code associéassocié.
Nano IoT :
Après soudures :
Nous cherchons dans la documentation Arduino le noms des connexions disponible sur notre connecteur bluetooth car ils ne sont pas inscrit sur notre appareil :
AfinUne fois les soudures réaliser et la documentation en notre possession, nous pouvons tenté de recrée les connexions réalisé précédemment sur l’Arduino avec une pompe sur le Nano-IoT afin de commencer à comprendre le fonctionnement du service cloud. Nous souhaitons avoir 7 boissons, donc 7 boutons, qui vont activé des jeux de pompes différentes, nous créerons donc nos boutons auxquels nous relions des variables booléenne (TRUE or FASLE) qui gère l’état des boutons « Appuyer ou Étein » et devons codé dans la partie du code auto généré par Arduino Cloud pour contrôler l’action réaliser après activation des boutons.
Semaine 16 Janvier :
Nous arrivons plus ou moins àà faire marcher le capteur et une pompe, mais pour l’l’instant nous n’n’arrivons pas àà spéspécifier la condition && du fonctionnement des 2 pompes en mememême temps que le capteur. (??)
Semaine 23 Janvier :
Cette semaine nous commençons à avancer sur la structure : nous avons fait un état des lieux et avons définis que nous avons besoin d’un bac pour récuperer le liquide sous le verre, d’une partie haute qui dispense le liquide et qu’un « réservoir » qui contiendrais nos bouteilles et doit etre accessible pour les changer ou faire une maintenance des équipements. Le capteur, les pompes et le arduino avec la platine ce trouveraient à l’interieur de la machine, au dessus des bouteilles d’ou sont pompé les liquides.
Un premier croquis est suggéré :
Le bac d’écoulement du liquide au cas ou des goutes coulerais à coté lors de la distribution de boisson est assez indépendant de la machine et peut être rajouté seule, nous commençons donc a réfléchir à un design de conception pour commencer par cette pièce, étant donner que le code n’est pas définitif nous ne préférons pas avancé de suite sur la structure définitive.
Le bac d’écoulement était initialement prévu en bois tout comme le reste de a structure de la machine mais ce matériaux n’est pas hydrophobe et ce gorgera d’eau s’il est en contact avec. A la fin de cette séance fablab nous décidons donc de partir sur du plastique PMMA de 3mm d’épaisseur et de couleur noir (pas transparent car nous verrions le liquide à travers, ce qui n’est pas très esthétique dans ce cas). Nous commençons donc par réaliser une fichier vectoriel 2D grâce au logiciel Inkscape afin de dessiner les bordures de nos pièces en vue d’une découpe laser. Dans un premier temps nous optons pour un porte gobelet de 10x10cm et avons réaliser le fichier suivant pour la découpeuse laser :
Coté code, nous arrivons finalement à faire fonctionner une pompes d'après la condition de distance sur le capteur que nous avions spécifier à moins de 2 cm. Nous pouvons alors tenté de reproduire les branchements pour toutes nos pompes et commencer à structurer notre code avec les pompes correspondant au boissons souhaités.
Faisant face à des problèmes pour travailler avec le Nano-Iot comme nous le souhaitions, nous avons cherché en parallèle une alternative pour proposer nos différentes boissons. Et pour cela, nous avons décidé de travailler avec des boutons poussoirs. C'est aussi à ce moment qu'il nous a semblé judicieux de nous limiter dans le nombre de pompes en passant de 7 à 4 pompes ce qui nous permettait aussi d'avoir un plus petit montage à réaliser pour notre design.
Nous arrivons à réaliser un premier montage pour activer une pompe à l'aide d'un bouton, mais nous éprouvons quelques des problèmes pour le code pour apposer la condition && entre le capteur et le bouton. En effet, nous souhaitons que la pompe s'active si et uniquement si l'obstacle se trouve à moins de 2 cm du capteur et si le bouton a été activé.
En essayant une condition if ((bouton == 0) && (cm<4)), nous remarquons que le bouton n'est pas pris en compte dans l'activation de la pompe. Pour finalement faire fonctionner nos deux conditions, il nous a fallu déclarer nos conditions comme des variables "boolean" dit aussi "tout ou rien" au début de notre code comme écrit ci-dessous.
const in bouton1 = 6
boolean boutonappuye1;
boolean proche;
Semaine 30 Janvier :
Prise de mesures reellesréelles et dédécoupes des 1er planches. Nous cherchons le materiel le plus adaptéadapté pour crécrée le cadre de notre machine. Nous avons choisischoisi du bois car legerléger et facile d’accèd’accès et facilement dédécoupable et donc assemblable. Nous avons optéopté pour du bois de 7mm afin d’assuréd’assurer l’intégritél’intégrité de la machine.
Plusieurs options : rails, clous, colle, dédécoupage pour entrelacement du bois, vises…vis…
PeuxPeu de vissesvis avaient une taille adaptéadapté àà notre taille de bois, en effet soit elles sontétaient au bon diamèdiamètre mais trop longues, soit àà la bonne longueur mais beaucoup trop large.
Après avoir longuement réfléchi et après plusieurs tentatives avec l'IOT, nous nous rendons compte que le seul moyen de le faire fonctionner est d'utiliser une connexion internet privée chose dont nous ne disposons pas. Voulons faire une démo lors de notre présentation, nous décidons donc d'opter pour l'utilisation de bouton poussoir.
Mercredi 8 FéFévrier :
Pour réaliser notre machine, nous avons finalement décidé de partir sur 4 boissons différentes; eau, jus de pomme, Coca et Whisky. Nous avons donc utilisé 4 pompes différentes et 4 boutons poussoir pour ainsi avoir un mélange et trois autres boissons différentes.
Concernant le code, comme nous avions besoin d'un capteur déclenchant une action nous avions donc fait en sorte de mettre en place deux conditions pour que notre machine fonctionne. Appuyer sur le bouton est obligatoire pour utiliser la machine mais aussi cette condition doit être accompagnée par une autre condition qui est d'être à une distance bien spécifique du capteur sonar pour que le gobelet se remplisse.
Nous avons principalement utilisé la découpeuse laser pour couper nos planches. La machine a une hauteur de 45,5 cm sur 22,5 cm.