Lebensmittelsensor: Frische per Widerstandsmessung mit Arduino erkennen
Komponenten und Zubehör
| Arduino UNO | × | 1 |
| Widerstand 10 kΩ | × | 1 |
| Adafruit Standard LCD 16×2 (Weiß auf Blau) | × | 1 |
| Breadboard | × | 1 |
| Jumperkabel | × | 1 |
Über dieses Projekt
Langeweile, Arduino-Projektideen durchstöbert – „Food Detector: By Measuring Resistances“ fand ich faszinierend, aber ohne Tutorial. Bild zeigte jemanden, der ein Amperemeter in eine Gurke steckt – das brachte mich auf die Idee.
Hier ist der ultra-einfache Schaltplan: nur Arduino + 10 kΩ Widerstand. Optional: LCD-Display (aus SparkFun Inventor Kit).
Schritt 1: Aufbau

Benötigt:
- Arduino UNO R3 (oder ähnlich)
- 10 kΩ Widerstand
- Drähte
Wie im Bild gezeigt aufbauen: Widerstand als Spannungsteiler mit dem Lebensmittel als variablem Widerstand.
Schritt 2: Programmieren
Idee: Verschiedene Lebensmittel haben unterschiedliche Widerstände → per if/else klassifizieren.
- Widerstandsbereiche verschiedener Lebensmittel per Serial Monitor ermitteln
- Bereiche für Erkennung definieren
- Lebensmittelname per Serial/LCD ausgeben
Code unten spart Zeit, aber selbst machen bringt Lerneffekt.
ACHTUNG: Untenstehende Widerstandswerte gelten für meine Testfrüchte – eigene messen!
WICHTIG: Apfel (angeschnitten) lieferte instabile Werte – chemische Reaktion mit Luft ändert Widerstand stetig. Experimentieren & berichten, was am besten geht. Gurke & Erdbeere funktionieren gut.
Code
Arduino Food Detect
const int frootSense = 0;
int frootResistance, high = 0, low = 1023;
int frootDetect;
#include <LiquidCrystal.h> // entfernen falls kein LCD
LiquidCrystal lcd(12,11,5,4,3,2); // entfernen falls kein LCD
void setup(){
Serial.begin(9600);
lcd.begin(16, 2); // entfernen falls kein LCD
lcd.clear(); // entfernen falls kein LCD
}
void loop() {
lcd.clear(); // entfernen falls kein LCD
lcd.setCursor(0,0); // entfernen falls kein LCD
lcd.print("Food Detect:"); // entfernen falls kein LCD
lcd.setCursor(0,1); // entfernen falls kein 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"); // entfernen falls kein LCD
} else if(frootResistance > 140 && frootResistance < 300){
Serial.print("Apple");
lcd.print("Apple"); // entfernen falls kein LCD
} else {
Serial.print("No Food \n");
lcd.print("No Food"); // entfernen falls kein LCD
}
delay(1000);
}
Schaltplan

Herstellungsprozess
- Die Wissenschaft und Industrie von Tiefkühlgemüse: Von der Ernte auf den Tisch
- TK-Gerichte: Geschichte, Produktion und zukünftige Innovationen
- Kohlenmonoxid-Melder: Technologie, Design und Sicherheitsstandards für den Heimschutz
- Der komplette Leitfaden zu gefriergetrockneten Lebensmitteln: Konservierung, Herstellung und Zukunftstrends
- Tierfutterproduktion: Von Zutaten bis Regulierung – Der komplette Leitfaden
- Rauchmelder: Lebensrettende Technologie, Geschichte und moderne Innovationen
- RF zu DC mit Raspberry Pi wandeln: Hüllkurvendetektor bauen & troubleshooten
- Raspberry Pi Diebstahlmelder bauen – Schritt-für-Schritt-Anleitung
- Bluetooth-gesteuerter Arduino-Spybot bauen – Überwachungsroboter mit IP-Kamera
- FlickMote: Gestensteuerung per Ultraschall & IR für Smart Home (Arduino 101)