Ma dernière réalisation consiste en un appareil capable de mélanger automatiquement des boissons en fonction de ce que l’utilisateur souhaite boire. Ce projet, réalisé pendant les vacances d’été 2020, m’a permis d’étoffer mes connaissances en développement d’application mobile sur iOS en Swift. En effet, le stock de la machine, les combinaisons de mélanges et la gestion des utilisateurs sont assurés par un iPad placé à côté du dispositif. Ainsi, dans le cadre d’une réception, n’importe quel invité peut se servir un cocktail en effleurant l’iPad.

Application

Le but premier de ce projet est d’être accessible à toutes et à tous. Ainsi, nul besoin de s’y connaître pour programmer la machine, tout passe par l’application. Le propriétaire de la machine (administrateur) indique, via l’application, quelle bouteille contient quelle boisson, ainsi que les quantités. En effet, la machine dispose de 6 pompes, qu’elle actionne pendant des durées pré-déterminées pour réaliser les bons dosages. Les actions administrateur sont sécurisées par empreinte digitale, reconnaissance faciale ou code en fonction de l’appareil utilisé.

Écran de gestion des bouteilles

Une fois ces paramètres entrés dans le système, l’application affiche les cocktails disponibles sur son écran principal. L’utilisateur peut alors toucher la goutte pour obtenir son cocktail ou toucher la case pour avoir de plus amples informations et le personnaliser.

Vue principale (Liste des cocktails disponibles)
Vue détaillée d’un cocktail

Le prix des cocktails est calculé par en fonction du prix au litre des boissons le constituant. Une fois que l’utilisateur touche « préparer », la caméra frontale s’ouvre et l’invite à présenter son QR Code. Ce dernier, au préalable donné par l’administrateur, permet de l’authentifier. Ainsi, l’administrateur peut contrôler l’accès à l’alcool pour chaque utilisateur et voir l’historique des consommations. Sur la vue détaillée, il peut également partager le QR Code de l’utilisateur afin de lui envoyer sur la plateforme de son choix, lui retirer l’accès aux boissons alcoolisées ou encore le supprimer.

Vue détaillée par utilisateur

L’application supporte le dark mode afin d’être cohérente avec le reste du système. Elle support également iOS, macOS, iPadOS et toutes les tailles d’écran. Elle gère les déconnexions avec la machine grâce au témoin de connexion en haut à droite (rouge si déconnecté, avec la possibilité de tenter une reconnexion).

Aperçu du mode sombre

Il est possible de tester l’application sur Testflight avec ce lien : https://testflight.apple.com/join/7RP71DTQ.

Machine

La machine est assez simple dans sa réalisation. Elle dispose de 6 pompes, contrôlées par un Raspberry Pi au travers d’un module relais. Ces pompes sont activées sur un certain temps défini par l’application en fonction de la quantité de liquide à verser et de sa viscosité. Un serveur MQTT est hébergé dans la machine et l’application y est connectée.

Afin de préserver le stock de boissons des intrus, la porte est sécurisée par un loquet électromagnétique qui se déverrouille lorsque l’administrateur accède à la page de gestion de bouteilles sur l’application.

Afin d’optimiser la vitesse de service, j’ai fait le choix de ne pas utiliser de pompes périlstatiques. Le temps de service est ainsi considérablement plus court. Cependant, les pompes utilisées ne créent donc pas de vide (comme le ferait une paille ou pompe périlstatique). Il est donc nécessaire que la pompe soit plus basse que le liquide. Ainsi, la pompe est immergée au fond de la bouteille et fait remonter le nectar par un tuyau dans un entonnoir, où il est ensuite versé dans le verre. Un nettoyage des pompes et tuyaux doit donc être possible. Ainsi, l’administrateur peut, pour chaque pompe, enclencher un mode « nettoyage » qui, après avoir immergé la pompe dans de l’eau savonneuse, l’activera pendant de longues phases afin de la rincer. Ma plus grande crainte était de constater des problèmes liés à l’utilisation de sirops, et donc de sucre, cependant ce procédé de nettoyage semble être assez efficace pour y remédier.

Pistes d’améliorations

J’ai pu remarquer que les quantités versées étaient parfois inexactes. Pour y remédier, je pense remplacer le réceptacle à verres par un capteur de force, afin de mesurer précisément la masse, et donc le volume de liquide versé en temps réel.

De plus, un système de réfrigération avec modules Peltier pourrait être le bienvenu.