Capteur de Qualité Alimentaire : Détecter la Fraîcheur avec Arduino
Composants et fournitures
| Arduino UNO | 1 |
| Résistance 10 kΩ | 1 |
| Écran LCD 16×2 (Adafruit, blanc sur bleu) | 1 |
| Breadboard | 1 |
| Fils de liaison | 1 jeu |
À propos du projet
Je m'ennuyais, je parcourais la page « Idées de projets Arduino », et je suis tombé sur quelque chose d'étrange et fascinant : « Détecteur d'aliments : par mesure de résistance » avec un lien. En cliquant, j'ai été soufflé — mais pas de tutoriel. En descendant, une photo montrait un type branchant un ampèremètre dans un concombre. Ça m'a donné des idées.
Voici donc un circuit ultra-simple : juste un Arduino et une résistance 10 kΩ. Si vous voulez ajouter un écran LCD (le mien venait du kit SparkFun Inventor), foncez.
Étape 1 : Montage

Il vous faut :
- Arduino UNO R3 (ou tout microcontrôleur compatible)
- Résistance 10 kΩ
- Fils
Montez comme sur la photo.
Étape 2 : Le code
L'idée : différents aliments ont des résistances différentes. On mesure, on définit des plages, on fait des if/else, et c'est parti.
Démarche :
- Vérifiez les plages de résistance de différents aliments via la sortie série.
- Utilisez ces valeurs pour créer des plages de détection.
- Affichez le nom de l'aliment sur le port série (et/ou LCD).
Le code ci-dessous vous fait gagner du temps, mais faites-le vous-même pour apprendre.
ATTENTION : les valeurs de résistance ci-dessous ne correspondent pas forcément à vos aliments. Utilisez les vôtres.
NOTE IMPORTANTE :
J'ai essayé de mesurer la résistance d'une pomme coupée, mais les valeurs changeaient anormalement dans le temps. Probablement les réactions chimiques à l'air modifient la conductivité. Expérimentez et dites-moi quel aliment marche le mieux. Concombre et fraise fonctionnent très bien.
Code
Arduino Food Detect
Copiez-collez dans l'IDE Arduino.
const int frootSense = 0;
int frootResistance, high = 0, low = 1023;
int frootDetect;
#include <LiquidCrystal.h> // retirez si pas de LCD, n'affecte pas le reste
LiquidCrystal lcd(12,11,5,4,3,2); // retirez si pas de LCD, n'affecte pas le reste
void setup(){
Serial.begin(9600);
lcd.begin(16, 2); // retirez si pas de LCD
lcd.clear(); // retirez si pas de LCD
}
void loop() {
lcd.clear(); // retirez si pas de LCD
lcd.setCursor(0,0); // retirez si pas de LCD
lcd.print("Food Detect:"); // retirez si pas de LCD
lcd.setCursor(0,1); // retirez si pas de LCD
frootResistance = analogRead(frootSense);
Serial.print("Resistance:");
Serial.print(frootResistance);
Serial.print("\n");
if (frootResistance > 400 & frootResistance < 700){
Serial.print("Cucumber \n");
lcd.print("Cucumber"); // retirez si pas de LCD
} else if(frootResistance > 140 & frootResistance < 300){
Serial.print("Apple");
lcd.print("Apple"); // retirez si pas de LCD
} else {
Serial.print("No Food \n");
lcd.print("No Food"); // retirez si pas de LCD
}
delay(1000);
}
Schémas

Processus de fabrication
- La science et l'industrie des légumes surgelés : de la récolte à l'assiette
- Les plats cuisinés surgelés : histoire, production et innovations futures
- Détecteurs de monoxyde de carbone : technologie, conception et normes de sécurité pour la protection domestique
- Le guide complet des aliments lyophilisés : conservation, production et tendances futures
- Production d'aliments pour animaux : des ingrédients à la réglementation — guide complet
- Détecteurs de fumée : technologie salvatrice, histoire et innovations modernes
- Conversion RF vers DC avec Raspberry Pi : Construction et dépannage d'un détecteur d'enveloppe
- Construire un détecteur de voleur basé sur Raspberry Pi – Guide étape par étape
- Construire un Spybot Arduino piloté par Bluetooth