Les meilleurs développeurs informatique freelances sont sur Codeur.com
Fermé · Moins de 500 € · 1 offre · 1185 vues · 2 interactions
Demande de Programmation pour un Système de Pesée Connecté avec Menus et Sous-Menus
Je souhaite développer un système de pesée connecté basé sur un microcontrôleur ESP32, équipé d’un afficheur LCD 4 lignes (ou plus), d’un encodeur rotatif pour la navigation, et de capteurs de poids. Voici les grandes lignes du projet :
1. Matériel à intégrer :
• Microcontrôleur : ESP32, pour sa puissance et sa connectivité Bluetooth/Wi-Fi.
• Afficheur LCD : Un écran de 4 lignes (ou plus) avec interface I2C pour un affichage clair et structuré.
• Capteurs de poids : Des cellules de charge reliées à un module HX711, avec un système de 4 pieds pour la balance, afin d’assurer des mesures stables et précises.
• Encodeur rotatif : Un module avec bouton-poussoir intégré (par exemple KY-040) pour naviguer dans les menus, valider les options, et accéder aux paramètres.
Remarque : Les composants mentionnés sont à titre d’exemple. Si vous connaissez des alternatives plus adaptées ou performantes, merci de les proposer.
2. Fonctionnalités à implémenter :
Paramétrage et Calibration :
1. Accès aux paramètres :
• Une pression longue (5 secondes) sur l’encodeur rotatif permet d’entrer dans le menu de paramétrage.
• Le menu permet de sélectionner le mode d’utilisation :
• Points (avec valeur unitaire des plaquettes, ex. 10, 20, 50, ou 100 points).
• Jetons (sans valeur liée à des points, uniquement comptabilisés par quantité).
2. Calibration des paniers :
• Le programme doit permettre de peser plusieurs paniers vides (exemple : 10 paniers) et de calculer automatiquement leur poids moyen unitaire.
• Une fois la calibration terminée, le poids unitaire est enregistré pour toutes les opérations suivantes.
3. Paramètres des points ou jetons :
• L’utilisateur doit pouvoir indiquer dans les paramètres :
• Le nombre de plaquettes (points) ou de jetons insérés dans le panier.
• La valeur unitaire des plaquettes (exemple : 10, 20, 50, ou 100 points).
• Le système calcule automatiquement le poids unitaire en divisant le poids mesuré par le nombre d’objets insérés, offrant ainsi une précision accrue.
4. Validation automatique du poids :
• Après pesée, le poids doit rester affiché pendant quelques secondes pour éviter toute perturbation ou erreur lors de la validation.
3. Exemple de méthode pour la précision accrue :
J’ai déjà expérimenté cette méthode moi-même à l’aide d’une balance de cuisine pour obtenir des résultats précis. Voici comment j’ai procédé :
1. J’ai pesé un panier vide pour obtenir son poids.
2. Ensuite, j’ai pesé le panier avec un nombre connu de plaquettes (par exemple, 100 plaquettes).
3. J’ai soustrait le poids du panier vide pour obtenir le poids total des plaquettes.
4. Enfin, j’ai divisé le poids total des plaquettes par leur nombre (100 dans l’exemple) pour obtenir un poids unitaire précis.
Par exemple :
• Pour 100 plaquettes, le poids total obtenu était de 780 grammes, soit un poids unitaire de 7,8 grammes par plaquette.
• De la même manière, pour les jetons, j’ai constaté qu’un jeton pèse environ 7 grammes.
Ce système doit intégrer un paramétrage permettant de reproduire cette méthode : l’utilisateur pourra peser plusieurs plaquettes ou jetons en une seule fois et indiquer leur nombre exact au programme, qui calculera automatiquement le poids unitaire.
4. Affichage Maximisé :
Affichage des valeurs et calculs :
1. Affichage structuré par ligne :
• L’écran doit permettre d’afficher plusieurs valeurs simultanément. Par exemple :
• Ligne 1 : “10 points” avec le total calculé (ex. “1500”).
• Ligne 2 : “20 points” avec le total calculé (ex. “3000”).
• Ligne 3 : “50 points” avec le total calculé.
• Ligne 4 : “100 points” avec le total calculé.
• Si plus de 4 valeurs doivent être affichées, l’utilisateur peut naviguer à travers les lignes disponibles à l’aide de l’encodeur rotatif.
2. Personnalisation de l’ordre des lignes :
• L’utilisateur doit pouvoir organiser les lignes affichées selon ses besoins (par exemple : afficher uniquement des points, uniquement des jetons, ou un mélange des deux).
3. Simplification pour l’utilisateur :
• Lorsqu’un panier est pesé, la valeur totale calculée est mise à jour instantanément pour la ligne correspondante.
• L’utilisateur n’a pas besoin d’effectuer de navigation complexe dans les menus : tout est présenté de manière directe.
5. Programmation et Détails Techniques :
1. Clarté et modification :
• Le code source doit inclure des commentaires détaillés pour expliquer chaque partie du programme, permettant une modification future si nécessaire.
2. Précision et gestion des erreurs :
• Le programme doit inclure des validations pour éviter des erreurs (ex. poids trop faible ou incohérent).
• Messages d’erreur clairs sur l’afficheur en cas de problème.
3. Structure modulaire :
• Le programme doit être organisé pour faciliter l’ajout de nouvelles fonctionnalités (ex. mise à jour des paramètres ou nouvelles méthodes de calcul).
6. Informations Supplémentaires :
Note importante : Les composants matériels et les exemples mentionnés ne sont donnés qu’à titre indicatif. Si vous avez des suggestions pour des alternatives plus adaptées ou performantes, n’hésitez pas à les proposer.
Budget indicatif : Moins de 500 €
Publication : 07 décembre 2024 à 19h29
Profils recherchés : Développeur spécifique freelance , Développeur IoT freelance , Développeur API freelance , Développeur système embarqué freelance , Développeur Arduino freelance
1 freelance a répondu à ce projet
1 proposition de devis en moins de 2h