Introduction: Food Detector

About: I shower naked.

So, i was just bored and was browsing Arduino Project Ideas page, and saw something odd and fascinating: it said something like Food Detector: By Measuring Resistances) and there was a link too. Click the link lol, and see how it blew my mind, sadly there was no tutorial on how to do it. But when you scroll down, deep inside there is a picture of guy plugging ammeter into cucumber, i was like haha i can do that. So here it is, super simple, you just need Arduino and 10k resistor, taaadaa. If you would like to add a LCD screen (mine came with SparkFun Inventor Kit) so go on.

Step 1: Setup

You would need:

  • Arduino UNO R3 or any thing that has a computer brain.
  • 10k Ohm Resistor
  • Wires

As shown in the picture, do that.

Step 2: Cooooooode !! -ing Time

Okay so here is the idea. So by now you've must guessed it like oh, different foods have differents resistances so thats almost. Just put it into IF and ELSE loop, tadaaa !!

So here is the breakdown for you:

  • Check resistance range of different ffoods using Serial Output.
  • Use those resistances to make create a range.
  • Serial Output the food name

The code below will cut down your time, but do it yo self, so you can learn.

NOTE: The Resistances below are not gonna be similar to the fruits i used, so use your own lol.

CODE STARTS HEEEREE:

const int frootSense = 0;

int frootResistance, high = 0, low = 1023;

int frootDetect;

#include <LiquidCrystal.h> //remove this if u don't have LCD, anyways it wont affect.

LiquidCrystal lcd(12,11,5,4,3,2); //remove this if u don't have LCD, anyways it wont affect.

void setup(){

Serial.begin(9600);

lcd.begin(16, 2); //remove this if u don't have LCD, anyways it wont affect.

lcd.clear(); //remove this if u don't have LCD, anyways it wont affect.

}

void loop()

{

lcd.clear(); //remove this if u don't have LCD, anyways it wont affect.

lcd.setCursor(0,0); //remove this if u don't have LCD, anyways it wont affect.

lcd.print("Food Detect:"); //remove this if u don't have LCD, anyways it wont affect.

lcd.setCursor(0,1); //remove this if u don't have LCD, anyways it wont affect.

frootResistance = analogRead(frootSense);

Serial.print("Resistance:");

Serial.print(frootResistance);

Serial.print("\n");

if (frootResistance>400 & frootResistance<700){

Serial.print("Cucumber \n");

lcd.print("Cucumber"); //remove this if u don't have LCD, anyways it wont affect.

}

else if(frootResistance>140 & frootResistance<300){

Serial.print("Apple");

lcd.print("Apple"); //remove this if u don't have LCD, anyways it wont affect.

}

else {

Serial.print("No Food \n");

lcd.print("No Food"); //remove this if u don't have LCD, anyways it wont affect.

}

delay(1000);

}

Step 3: Bye !!

Well it was that simple, and this is my first instructable :P Anyways, i don't take credit for this as i said i was just bored and accidently (jk) clicked that link and it clicked in my mind FOOD HAVE RESISTANCES TOO.

HEADS UP:

I was trying to get resistance values for cut open apple, but they kept changing abnormally from time to time. Maaaybbbeeee cuz the chemical changes inside the apple due to the air was changing the resistances. Experiment and lemme know which food works the best. Cucumber and Strawberry work great tho'.

Explore Science Contest

Participated in the
Explore Science Contest