Laser
Wenn Ihre blauen Wasserflaschen wie meine sind, sind sie transparent.
Folgendes würde ich zuerst versuchen:
Ich würde einen billigen Laser bekommen und das Licht horizontal durch die Flasche scheinen lassen. Ich würde den Laser durch einen kurzen Akkord richten - nicht direkt durch die Mitte der Flasche; vielleicht 1/8 links von der Mitte drehen.
-------
L../.......\..........S1
/ \
| o | S2
\ /
\ /
-------
top-down view
Wenn die Flasche leer ist, schießt der Laserstrahl ziemlich direkt durch die Flasche - ich würde dort einen Fotosensor S1 platzieren.
Wenn die Flasche nicht ganz leer ist, wird der Laserstrahl gebogen ( gebrochen ) - aus Redundanzgründen würde ich dort einen weiteren Fotosensor S2 platzieren.
Solange der Arduino sieht, dass der Laser alleine auf S2 trifft, befindet sich noch etwas Wasser in der Flasche, zumindest bis zur Höhe des Lasers - schalten Sie das grüne Licht ein.
Alles andere - Lichterkennung nur bei S1 oder nichts an einem Sensor oder Licht an beiden Sensoren (ja, es kann passieren) - etwas scheint nicht richtig zu sein. Lassen Sie den Arduino besser das grüne Licht ausschalten und ausschalten auf dem roten Licht.
Ich würde mit der einfachsten Sache beginnen, die möglicherweise funktionieren könnte . Wenn ich Glück habe, könnte es funktionieren. Wenn nicht, gibt es viele kleine Tricks, um das Licht dahin zu bringen, wo Sie es haben möchten. Es gibt auch viele Tricks, um Sonnenlicht usw. daran zu hindern, dorthin zu gelangen, wo Sie es nicht möchten. Kleine schwarze Röhren, rote Kunststofffilter, pulsierender Laser mit wenigen kHz, Kollimationslinsen, Lock-In-Verstärker usw.
Es scheint viele Tutorials zu geben, die beschreiben, wie man einen Laser mit Arduino erkennt - siehe
(Dies würde wahrscheinlich genauso gut mit einer LED mittlerer Leistung oder "Infrarot-LED" und einer sorgfältigen optischen Fokussierung und Ausrichtung funktionieren. Aber - Laser!)