По тема наливатора, считаю недоделанным проект. Абсолютно неверное решение с поиском рюмки и наливом. И все версии в интернете делают одну и ту же ошибку.
Объясню по порядку:
1) выбор дозы 10/20/30гр баловство. Во время застолья вы же не спрашиваете кому 10 гр налить? Ой я вам 15 накапал, ничего страшного? Это бред. Рюмки 50гр стандарт. Каждый имеет набор одинаковых рюмок и наливает все по ровну, а там как кто может и хочет пьёт.
2) и тут вытекающая проблема. Надиваторы льют по времени. И вот тут все должны допивать или выливать остатки. За 1 раз не все могут выпить. В реальной жизни развивающий это учитывает и доливает в недопитую рюмку, а не фигачит сверху ещё 50 грамм через края как автоналиваторы.
Можно же сделать на датчике как из китайских весов? Есть компактные до 100-500гр. Включить датчик температуры для коррекции измерения и флеш память для хранения статистики выпитого по каждой рюмки.
Первый запуск сделать калибровочным. Он и тару рюмки сбросит и в ручном режиме налить напиток по риске 50мл чтоб уравнять вес и миллилиоры ведь плотность разная и даже вода не 1 к 1...хотя может эта разница будет не видимая. Но корректировка по температуре нужна. Ведь могут брать на рыбалку, а там днем жарко-вечером коллатун особенно по весне и осени перепады.
Механические концевики или датчики световые проигрывают в защите от переливания. Они только определяют наличие рюмки. А по весу определение даст возможность определить рюмку, понять сколько в ней щас и доливать пока не сравнится показатель в ней с калибровочным, т.е. 50мл = полная рюмка.
Подсветка статуса помпы, запуски с ключиком тоже баловство чисто ради приклюхи. Это второстепенная вещь. Там кто во что горазд. И то по этой приколюхе есть доработки. Которы тоже будут имитировать действия реального человека разливающего, но это я тут не расскажу))))только если с кем то воплощать буду в жизнь эту идею.
А вот почему ни кто не взялся за реальный функционал не понятно.
Кто-то может возьмётся? Или даст мне подсказки и поможет пройти весь путь? Моих знаний не достаточно чтобы это воплотить. Я всего лишь понимаю поверхностно МК.