Detector de alimentos
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Acerca de este proyecto
Entonces, estaba aburrido y estaba navegando en la página Arduino Project Ideas, y vi algo extraño y fascinante:decía algo como Detector de alimentos:midiendo resistencias) y también había un enlace.
Haga clic en el enlace y vea cómo me dejó alucinado, lamentablemente no había ningún tutorial sobre cómo hacerlo. Pero cuando te desplazas hacia abajo, hay una imagen de un tipo que conecta un amperímetro a un pepino, lo que me hizo pensar.
Así que aquí está, un circuito súper simple, solo necesitas Arduino y una resistencia de 10k . Si desea agregar una pantalla LCD (la mía vino con SparkFun Inventor Kit), continúe.
Paso 1:configuración
Necesitarías:
- Arduino UNO R3 o cualquier cosa que tenga un cerebro de computadora.
- Resistencia de 10k ohmios
- Cables
Como se muestra en la imagen, haz eso.
Paso 2:tiempo para codificar
Bien, aquí está la idea. Entonces, a estas alturas ya debes adivinarlo, oh, diferentes alimentos tienen diferentes resistencias, así que eso es casi. Solo póngalo en el bucle IF y ELSE, y listo.
Así que aquí está el desglose para usted:
- Verifique el rango de resistencia de diferentes alimentos usando la salida serial.
- Utilice esas resistencias para crear un rango.
- Salida en serie del nombre del alimento
El siguiente código reducirá su tiempo, pero hágalo usted mismo para que pueda aprender.
NOTA:Las resistencias a continuación no serán similares a las frutas que usé, así que use las suyas propias.
AVISO:
Estaba tratando de obtener valores de resistencia para la manzana abierta, pero cambiaban anormalmente de vez en cuando. Probablemente los cambios químicos dentro de la manzana debido al aire cambiaban las resistencias. Experimente y déjeme saber qué alimento funciona mejor. Aunque el pepino y la fresa funcionan muy bien.
Código
- Detección de alimentos Arduion
Arduion Food Detect C / C ++
Copie y pegue en Arduino IDEconst int frootSense =0; int frootResistance, high =0, low =1023; int frootDetect; #include// elimine esto si no tiene LCD, de todos modos no lo hará afectar.LiquidCrystal lcd (12,11,5,4,3,2); // elimine esto si no tiene LCD, de todos modos no afectará. void setup () {Serial.begin (9600); lcd.begin (16, 2); // elimine esto si no tiene LCD, de todos modos no afectará. lcd.clear (); // elimine esto si no tiene LCD, de todos modos no afectará. } bucle vacío () {lcd.clear (); // elimine esto si no tiene LCD, de todos modos no afectará. lcd.setCursor (0,0); // elimine esto si no tiene LCD, de todos modos no afectará. lcd.print ("Detección de alimentos:"); // elimine esto si no tiene LCD, de todos modos no afectará. lcd.setCursor (0,1); // elimine esto si no tiene LCD, de todos modos no afectará.frootResistance =analogRead (frootSense); Serial.print ("Resistance:"); Serial.print (frootResistance); Serial.print ("\ n"); if (frootResistance> 400 &frootResistance <700) {Serial.print ("Pepino \ n"); lcd.print ("Pepino"); // elimine esto si no tiene LCD, de todos modos no afectará.} else if (frootResistance> 140 &frootResistance <300) {Serial.print ("Apple"); lcd.print ("Apple"); // elimine esto si no tiene LCD, de todos modos no afectará.} else {Serial.print ("No Food \ n"); lcd.print ("No Food"); // elimine esto si no tiene LCD, de todos modos no afectará.} delay (1000);}
Esquemas
Proceso de manufactura