Détecteur d'aliments
Composants et fournitures
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
À propos de ce projet
Donc, je m'ennuyais et je parcourais la page Arduino Project Ideas, et j'ai vu quelque chose d'étrange et de fascinant :il disait quelque chose comme Détecteur d'aliments :en mesurant les résistances) et il y avait aussi un lien.
Cliquez sur le lien et voyez à quel point cela m'a époustouflé, malheureusement, il n'y avait pas de tutoriel sur la façon de le faire. Mais lorsque vous faites défiler vers le bas, il y a une photo d'un type en train de brancher un ampèremètre sur un concombre, ce qui m'a fait réfléchir.
Alors voilà, un circuit super simple, vous avez juste besoin d'Arduino et d'une résistance de 10k . Si vous souhaitez ajouter un écran LCD (le mien est venu avec SparkFun Inventor Kit), alors continuez.
Étape 1 :Configuration
Vous auriez besoin de :
- Arduino UNO R3 ou tout ce qui a un cerveau informatique.
- Résistance 10k Ohm
- Fils
Comme indiqué sur l'image, faites-le.
Étape 2 : temps de coder
Bon alors voici l'idée. Alors maintenant, vous devez l'avoir deviné comme oh, différents aliments ont des résistances différentes, donc c'est presque. Il suffit de le mettre dans les boucles IF et ELSE, et c'est parti.
Voici donc la répartition pour vous :
- Vérifiez la plage de résistance de différents aliments à l'aide de la sortie série.
- Utilisez ces résistances pour créer une gamme.
- Série de sortie du nom de l'aliment
Le code ci-dessous réduira votre temps, mais faites-le vous-même, afin que vous puissiez apprendre.
REMARQUE :Les résistances ci-dessous ne seront pas similaires aux fruits que j'ai utilisés, alors utilisez les vôtres.
ATTENTION :
J'essayais d'obtenir des valeurs de résistance pour une pomme ouverte coupée, mais elles changeaient anormalement de temps en temps. Les changements chimiques à l'intérieur de la pomme dus à l'air modifiaient probablement les résistances. Expérimentez et laissez-moi savoir quel aliment fonctionne le mieux. Le concombre et la fraise fonctionnent très bien.
Code
- Détection d'aliments Arduion
Arduion Food DetectC/C++
Copier coller sur Arduino IDEconst int frootSense =0;int frootResistance, high =0, low =1023;int frootDetect;#include// supprimez ceci si vous n'avez pas d'écran LCD, de toute façon il ne le fera pas affecter.LiquidCrystal lcd (12,11,5,4,3,2) ; // supprimez ceci si vous n'avez pas d'écran LCD, de toute façon cela n'affectera pas.void setup(){Serial.begin(9600);lcd.begin(16, 2); // supprimez ceci si vous n'avez pas d'écran LCD, de toute façon cela n'affectera pas.lcd.clear(); // supprimez ceci si vous n'avez pas d'écran LCD, de toute façon cela n'affectera pas. }boucle vide(){lcd.clear(); // supprimez ceci si vous n'avez pas d'écran LCD, de toute façon cela n'affectera pas.lcd.setCursor(0,0); // supprimez ceci si vous n'avez pas d'écran LCD, de toute façon cela n'affectera pas. lcd.print("Détection d'aliments :"); // supprimez ceci si vous n'avez pas d'écran LCD, de toute façon cela n'affectera pas.lcd.setCursor(0,1) ; // supprimez ceci si vous n'avez pas d'écran LCD, de toute façon cela n'affectera pas.frootResistance =analogRead(frootSense);Serial.print("Resistance:");Serial.print(frootResistance);Serial.print("\n");if (frootResistance>400 &frootResistance<700){Serial.print("Concombre \n");lcd.print("Concombre"); // supprimez ceci si vous n'avez pas d'écran LCD, de toute façon cela n'affectera pas.} else if(frootResistance>140 &frootResistance<300){Serial.print("Apple");lcd.print("Apple"); // supprimez ceci si vous n'avez pas d'écran LCD, de toute façon cela n'affectera pas.}else {Serial.print("Pas de nourriture \n");lcd.print("Pas de nourriture"); // supprimez ceci si vous n'avez pas d'écran LCD, de toute façon cela n'affectera pas.}delay(1000);}
Schémas
Processus de fabrication