Roll Up : Marveen Walid Aurélie
Porte papier toilette qui avertit lorsque le rouleau de papier toilette est vide
-
Définition du projet (besoin, utilisateurs, fonctionnalité principale, fonctionnalités secondaires)
- Besoin : savoir lorsque le niveau de papier toilette est faible/nul.
- Utilisateurs : barman, en entreprise, manutentionnaire, etc.
- Fonctionnalité principale : prévenir lorsque le niveau de papier toilettes est bas/nul afin que le rouleau soit remplacé ; pour un manutentionnaire, savoir quelle quantité de papier toilette apporter lors de son passage.
-
Réflexions sur la problématique et veille sur l'existant :
- Il arrive souvent dans les bars, entreprises ou aires d’autoroute de se retrouver face a un rouleau de papier toilette vide, car les personnes en charge de les changer ne sont pas au courant constamment de l’état du rouleau. De plus, pour les manutentionnaire, lorsqu’ils arrivent avec leur camion, ils ne savent pas quelle quantité de papier toilette apporter avec eux car ils ne savent pas si le rouleaux sont vides ou non
- Rollscout : startup américaine, mais a seulement le concept de laser qui détecte sous un certain seuil le manque de papier toilette, et nous souhaiterions ajouter dans le futur un mécanisme permettant de remplacer le rouleau (mettre schema)
-
Lean canvas
-
Choix techniques
- Électronique numérique pour la détection de présence de papier toilette.
- Conception 2D et découpe laser pour le boîtier en bois.
- Conception et impression 3D pour la tige sur laquelle sera posé le papier toilette.
-
Gestion de projet : "Minimum Viable Product", planification et répartition des taches
- MVP : tige imprimée en 3D, support fait avec la découpeuse laser, et détecteur laser relié à un ESP 32 qui envoie un signal (Mail ou SMS) quand il n'y a plus de papier toilette.
- Planification : Chacun avance sur sa partie pour le 02/05, puis on fait les impressions et les tests le 02/05, et enfin on peaufine et prépare la présentation le 03/05 et le 04/05.
- Répartition des tâches :
- Marveen : Partie électronique numérique.
- Walid : Partie conception et impression 3D de la tige.
- Aurélie : Partie conception 2D et découpe laser du boîtier en bois.
-
Croquis, dimensions
-
- Boîtier pour le capteur : minimum 5*2,2*2,5 cm.
- Fente pour le capteur : 1*0,5*1 (profondeur) cm.
-
Liste du matériel
- ESP 32
- Câbles pour relier les composants
- Capteur de distance
- Logiciel Inkscape
- Logiciel Tinkercad
- Logiciel Arduino
- Imprimante 3D
- Découpe laser
-
Partie Électonique Numérique : Circuit et Programmation de l'ESP32
- Première étape : Soudure des broches de l'ESP32
- Comme les broches du capteur n'étaient pas déjà soudées, nous les avons soudées nous même avec de l'étain.
- Première étape : Soudure des broches de l'ESP32
#include <WiFi.h>
const char* ssid = "Marveen";
const char* password = "1234567890";
void setup(){
Serial.begin(115200);
delay(1000);
WiFi.mode(WIFI_STA); //Optional
WiFi.begin(ssid, password);
Serial.println("\nConnecting");
while(WiFi.status() != WL_CONNECTED){
Serial.print(".");
delay(100);
}
Serial.println("\nConnecté au réseau WiFi");
Serial.print("Local ESP32 IP: ");
Serial.println(WiFi.localIP());
}
void loop(){}
-
- Deuxième étape : Test du programme Blink
- Ce programme consiste à faire clignoter une LED en fonction du délai choisi.
- Sur notre circuit, nous avons relié la LED à la broche 14 de l'ESP32.
- Voici le code de ce programme :
int LED_BUILTIN = 14; void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); }
- Troisième étape : Test du capteur
- L'objectif de ce programme est d'allumer la LED (qui a été utilisée dans le programme Blink) lorsque le capteur ne détecte pas de présence, et donc de la conserver éteinte lorsque de la présence est détectée.
- Pour cela, nous avons relié notre capteur à la broche 12 de l'ESP32.
- Et voici le code que nous avons utilisé pour ce programme :
int Led = 14; int Capteur = 12; int val; void setup() { pinMode(Led, OUTPUT); pinMode(Capteur, INPUT); Serial.begin(9600); } void loop() { val = digitalRead(Capteur); Serial.print("Distance : "); Serial.println(val); if (val == HIGH) { digitalWrite(Led, HIGH); } else { digitalWrite(Led, LOW); } }
- Et voici le circuit réalisé pour ce programme :
- Quatrième étape : Connexion de l'ESP32 à Internet
- Pour pouvoir envoyer un mail à partir de l'ESP32, il faut que ce dernier soit connecté à Internet.
- Pour cela, nous avons d'abord essayé le code disponible sur Arduino "WiFiManager".
- Ce code met l'ESP32 en mode "station", c'est-à -dire qu'il faut connecter son téléphone à l'ESP32 comme si on se connectait à un réseau WiFi quelconque.
- Une fois connecté à l'ESP32, il fallait renseigner le nom et le mot de passe du réseau WiFi auquel on voulait que l'ESP32 se connecte.
- Enfin, l'ESP32 se connectait au réseau WiFi.
- Le problème avec ce programme est que l'on ne peut pas avoir la preuve que l'ESP32 est bien connecté au réseau WiFi.
- Nous avons donc utilisé un autre programme, qui fait que l'ESP32 se connecte directement à un réseau WiFi, après avoir renseigné le nom et le mot de passe du réseau WiFi directement dans le code.
- Voici le lien que nous avons utilisé pour cela : https://www.upesy.fr/blogs/tutorials/how-to-connect-wifi-acces-point-with-esp32
- Et voici le code que nous avons utilisé pour ce programme :
#include <WiFi.h> const char* ssid = "Marveen"; const char* password = "1234567890"; void setup(){ Serial.begin(115200); delay(1000); WiFi.mode(WIFI_STA); //Optional WiFi.begin(ssid, password); Serial.println("\nConnecting"); while(WiFi.status() != WL_CONNECTED){ Serial.print("."); delay(100); } Serial.println("\nConnecté au réseau WiFi"); Serial.print("Local ESP32 IP: "); Serial.println(WiFi.localIP()); } void loop(){}
- De cette manière, nous pouvions voir directement sur le téléphone qui effectue le partage de connexion que l'ESP32 était bien connecté :
- Deuxième étape : Test du programme Blink
-
- Cinquième étape : Faire envoyer un mail par l'ESP32
- Pour faire cela, nous avons suivi beaucoup de tutos sur Internet, mais cela était plutôt compliqué, et les codes utilisés comprenaient plus de 200 lignes chacun.
- De plus, il fallait créer un nouveau compte Gmail, et autoriser sur ce compte l'envoi par des sources non sécurisées. Cependant, cette fonctionnalité a été arrêtée par Gmail depuis 2022, ce qui rendait donc cette méthode inutilisable.
- Enfin, après avoir réfléchi sur le sujet, nous nous sommes rendus compte que l'envoi d'un mail n'est pas optimal, car on regarde beaucoup moins ses mails que ses messages.
- L'envoi par mail étant trop complexe et non optimal, nous avons décidé de passer par un envoi de message sur Whatsapp.
- Lien utilisé pour cette étape : https://randomnerdtutorials.com/esp32-email-alert-temperature-threshold/
- Cinquième étape : Faire envoyer un mail par l'ESP32
-
- Sixième étape : Faire envoyer un message Whatsapp par l'ESP32
- Pour cette étape, nous avons suivi le tutoriel du lien suivant : https://www.raspberryme.com/esp32-envoyer-des-messages-a-whatsapp/#:~:text=Pour%20envoyer%20des%20messages%20%C3%A0,de%20vous%20envoyer%20un%20message
- Sixième étape : Faire envoyer un message Whatsapp par l'ESP32
-
Partie Conception 2D et Découpe Laser pour le bôitier en bois
-
Partie Conception et Impression 3D pour la tige
- fichiers de conception et étapes de création des fichiers (captures d'écran) / code
- https://cyberweb.cite-sciences.fr/wiki/doku.php?id=projets:generateur_de_boites : permet de générer la boîte
- https://www.becquet.fr/derouleur-papier-toilette-en-bambou-p222419 : inspiration pour le design et donne une idée des dimensions de la structure en bois : L.18*l.10*H.14 cm
- https://www.cdiscount.com/bricolage/sanitaire-salle-de-bain/porte-rouleau-papier-toilettes-asofty-derouleur-p/f-1661005-ann4811630277986.html : pour être certain des dimensions, et on voit qu’on va plutôt être sur du L.18*l.10*H.7 cm
- photos et analyse des tests, essais, erreurs
- photos des étapes de réalisation du prototype, paramètres des machines :
-
Réflexions de pistes d'amélioration ou d'évolution du projet
- Personnalisation du matériau et du logo
- Adaptation à différents formats de rouleaux
- Système d’échange de rouleau lorsqu’un des deux est vide
Etapes :
- Souder les broches GND
- Brancher la batterie à l'ESP32 : il fallait brancher sur la broche "BAT".
Connecter l'ESP32 Ã Internet : https://randomnerdtutorials.com/esp32-email-alert-temperature-threshold/
- Télécharger Bibliothèque "ESP32 Mail Client"
Utilisation du programme WiFiManager : l'ESP32 se met en mode station, il faut se connecter avec son téléphone pour lui renseigner l'identifiant et le mot de passe du réseau WiFi.
=> Programme trop complexe, il faut trouver un programme pour lequel je rentre directement dans le code l'identifiant et le mot de passe du réseau
J'ai réussi à connecter l'ESP32 à Internet avec un autre code ("Connexion_WiFi"), et j'ai pu vérifier que la connexion est bien faite, car il est écrit sur mon téléphone "1 appareil connecté" (voir screen).
Envoi d'un mail : il faut créer un compte Gmail et autoriser sur ce compte les données non sécurisées, cependant, depuis 2022; Gmail a fait une mise à jour et empêche maintenant l'envoi depuis des sources non sécurisées. De plus, les codes pour envoyer par mail étaient très complexes et très longs (plus de 200 lignes). Enfin, l'envoi par mail n'est pas le plus optimal, car on ne regarde pas toujours ses mails.
=> C'est pourquoi on est passé sur un envoi par Whatsapp.
- Télécharger la bibliothèque URLEncode