Наливатор - автоматизированная машина, которая будет разливать алкоголь по стопкам.

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

Alexamig пишет:

Forthomo

Выложил скетч на гуглдиск 

Alexamig, сбрось мне свои координаты в личку, обсудим, есть критические ошибки в построении скетча (недопонимание структуры). Если посчитаешь что нужно провести короткий семинар в форуме, все равно напиши.

 

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

stpavel пишет:

Forthomo пишет:

Я калибровал от 3х вольт до 4,2, при 3х повышайка отрубается.

Алексей, не понял. По подробнее можете объяснить что калибровали 

 Павел, подробно:

Собрал делитель напряжения: нижнее плечо "общий" 10К пост. верхнее "+5В" -  5,1 К подстроечный многооборотный (какой нашел). Среднюю точку к А7( может быть любой аналоговый в скетче поправить можно) и туда же вольтметр. Скетч загрузил.

//#include <Wire.h> 
#include "Adafruit_NeoPixel.h"

//эти две строчки добавить в существующий скетч 
int BatPin = A7;    // пин контроля состояния батареи
float  Value_volt=0;

//эти три уже есть
const int PIN_LED = 5;// Сюда подключаются светодиоды
const int LED_COUNT = 6; // 6 светодиодов 5+1
Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, PIN_LED, NEO_GRB + NEO_KHZ800);

void setup() {
   Serial.begin(9600);
   pinMode(BatPin, INPUT); // это добавить в void setup 
   strip.begin();

  }
void Batery() { // процедура измерение напряжения, сигнал брать с входа бустера
  Value_volt=(float)5/1024*analogRead(BatPin);
  
  Serial.println(Value_volt);
	//отсчет пикселей начинается с 0-го поэтому 6-й в схеме -это 6-й в проге!!!
  if(Value_volt < 3.4) {
  strip.setPixelColor(5, strip.Color(255, 0, 0)); //CRGB::Red 0xFF0000 красный
  }
  else if(Value_volt < 3.5) {
  //strip.setPixelColor(5, strip.Color(255, 165, 0)); //CRGB::Orange 0xFFA500 оранжевый
  strip.setPixelColor(5, strip.Color(255, 69, 0)); //CRGB::OrangeRed  0xFF4500
  }
  else if(Value_volt < 3.6) {
  strip.setPixelColor(5, strip.Color(255, 255, 0)); //CRGB::Yellow 0xFFFF00 желтый
  }
  else if(Value_volt < 3.7) {
  strip.setPixelColor(5, strip.Color(0, 255, 0)); //CRGB::Lime 0x00FF00 зеленый
  }  
  else if(Value_volt < 3.8) {
  strip.setPixelColor(5, strip.Color(0, 255, 255)); //CRGB::Aqua 0x00FFFF голубой
  }
  else if(Value_volt < 3.9) {
  strip.setPixelColor(5, strip.Color(0, 0, 255)); //CRGB::Blue 0x0000FF синий
  } 
  else if(Value_volt < 4.0) {
  strip.setPixelColor(5, strip.Color(255, 0, 255)); //CRGB::Magenta 0xFF00FF фиолетовый
  } 
  else {// >100% заряда
  strip.setPixelColor(5, strip.Color(75, 0, 130)); //CRGB::Indigo  0x4B0082 
 
  } 
  strip.show();
}

void loop() {
  Batery(); 
  delay(1000); 
}

 Ленту подключил  к D5 через резистор 330Ом. На монитор порта  вывел показания с ардуины, и сравнивал с вольтметром. Ну и как цвет меняется пиксель №6. Потом подкорректировал коэффициент. Ну иногда при смене цвета  подмигивает (при розливе и осте просаживает), мне нравиться.

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

stpavel пишет:

xDriver пишет:

сдается мне внутри у них банально ttp223.

Возможно. Я их не разбирал, у меня подобные датчики в котельной стоят , для управления автоматикой водонабора промежуточного бака из скважины.

Кто то выкладывал эксперименты , ttp223 прекрасно срабатывают от жидкости в бутылке . 

А как сенсорную кнопку использовать, внешний сенсор вокруг емкости на определенном уровне?

stpavel
Offline
Зарегистрирован: 09.10.2018

Forthomo пишет:

А как сенсорную кнопку использовать, внешний сенсор вокруг емкости на определенном уровне?

Да. Не уверен как через толстое стекло будет работать. Если нужно , проверю, есть у меня один 

stpavel
Offline
Зарегистрирован: 09.10.2018

Forthomo пишет:

Собрал делитель напряжения: нижнее плечо "общий" 10К пост. верхнее "+5В" -  5,1 К подстроечный многооборотный (какой нашел). Среднюю точку к А7( может быть любой аналоговый в скетче поправить можно) и туда же вольтметр.

Я попробовал такой вариант, аккумулятор  через 10 ком резистор к A0, без всяких делителей напряжения. Подобрал коэф, впринципе он равен подаваемому напряжению на Vcc , у меня 5.07 вольт. Вроде бы с вольтметром совпадает. 

Загрузил тестовый скетч , оставлю на ночь с подсветкой, пусть работает. Нету пока никакой нагрузки дома что бы подсадить аккумулятор ( у сына для экспериментов отжал ) .

 

vovan47
Offline
Зарегистрирован: 16.09.2019
Arduino: 1.8.10 (Windows 10), Плата:"Arduino Nano, ATmega328P (Old Bootloader)"

In file included from C:\nalivator_v4.2_oled_dfp\nalivator_v4.2_oled_dfp.ino:11:0:

C:\Program Files\Arduino\libraries\DFPlayer_Mini_Mp3/DFPlayer_Mini_Mp3.h:45:20: error: redefinition of 'uint8_t send_buf [10]'

 uint8_t send_buf[10] = {

                    ^

In file included from C:\nalivator_v4.2_oled_dfp\nalivator_v4.2_oled_dfp.ino:1:0:

C:\Program Files\Arduino\libraries\DFPlayer_Mini_Mp3/dfplayer_mini_mp3.h:45:9: note: 'uint8_t send_buf [10]' previously defined here

 uint8_t send_buf[10] = {

         ^~~~~~~~

In file included from C:\nalivator_v4.2_oled_dfp\nalivator_v4.2_oled_dfp.ino:11:0:

C:\Program Files\Arduino\libraries\DFPlayer_Mini_Mp3/DFPlayer_Mini_Mp3.h:47:20: error: redefinition of 'uint8_t recv_buf [10]'

 uint8_t recv_buf[10];

                    ^

In file included from C:\nalivator_v4.2_oled_dfp\nalivator_v4.2_oled_dfp.ino:1:0:

C:\Program Files\Arduino\libraries\DFPlayer_Mini_Mp3/dfplayer_mini_mp3.h:47:9: note: 'uint8_t recv_buf [10]' previously declared here

 uint8_t recv_buf[10];

         ^~~~~~~~

Несколько библиотек найдено для "dfplayer_mini_mp3.h"
 Используется: C:\Program
Несколько библиотек найдено для "SoftwareSerial.h"
 Используется: C:\Program
Несколько библиотек найдено для "adafruit_neopixel.h"
 Используется: C:\Program
Несколько библиотек найдено для "oled_i2c.h"
 Используется: C:\Program
Несколько библиотек найдено для "Servo.h"
 Используется: C:\Program
exit status 1
Ошибка компиляции для платы Arduino Nano.

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

Forthomo пишет:

DFPlayer_Mini_Mp3.h: No such file or directory - нет библиотеки, возьми на Я-диске

C:\Users\Вован\Documents\Arduino\libraries\Adafruit_NeoPixel - "Вован" - это кирилица

С:\temp\Arduino\hardware\arduino\avr\libraries\ -сюда сложи все библиатеки

C:\Users\Вован\Documents\Arduino\libraries - а отсюда временно все поудадяй

Nikolaj666
Nikolaj666 аватар
Offline
Зарегистрирован: 19.01.2017

 Плата:"Arduino Nano, ATmega328P (Old Bootloader)" старый загрузчик. а поменять на просто ATmega328P ? у меня так брыкалась ардуинка нано из Чип и Дип

vovan47
Offline
Зарегистрирован: 16.09.2019

Nikolaj666 пишет:

 Плата:"Arduino Nano, ATmega328P (Old Bootloader)" старый загрузчик. а поменять на просто ATmega328P ? у меня так брыкалась ардуинка нано из Чип и Дип


Тоже самое(

vovan47
Offline
Зарегистрирован: 16.09.2019

vovan47 пишет:
Nikolaj666 пишет:

 Плата:"Arduino Nano, ATmega328P (Old Bootloader)" старый загрузчик. а поменять на просто ATmega328P ? у меня так брыкалась ардуинка нано из Чип и Дип


Тоже самое(

А без плеера работает!

Nikolaj666
Nikolaj666 аватар
Offline
Зарегистрирован: 19.01.2017

так при прошивке плеер нужно отключать

 

vovan47
Offline
Зарегистрирован: 16.09.2019

Nikolaj666 пишет:

так при прошивке плеер нужно отключать

 


Вообще не чего не подключено

vuster
Offline
Зарегистрирован: 11.11.2019

KalevaKorpela пишет:

vuster пишет:

RW3 пишет:
У меня уже вторую помпу возвращают продавцу.Не знаю что делать. Заказывал у разных продавцов.

Я заказывал помпу на али по цене 275 рублей с доставкой, а оказалось заказать в России проще и дешевле. Нашёл на сайте за 180 рублей, такую же и приехала с Питера в Московскую область за 4 дня, доставка вообще обошлась бесплатно, так как общий заказ был выше 1500 рублей.

Бро, ссылкой на сайт с помпой в СПб поделишься?  На почту alimak_67@mail.ru

Гран мерси.

stpavel
Offline
Зарегистрирован: 09.10.2018

vovan47 пишет:
Nikolaj666 пишет:

так при прошивке плеер нужно отключать

 

Вообще не чего не подключено

Возможно несколько библиотек установлено похожих. Предположение. 

Попробуйте так. 

В самом начале скетча заменить 

#include <DFPlayer_Mini_Mp3.h>

на 

#include "DFPlayer_Mini_Mp3.h"

и все три файла из скаченной с яндекс диска библиотеки 

а именно 

DFPlayer_Mini_Mp3.cpp
DFPlayer_Mini_Mp3.h
keywords.txt

положить в папку с скетчем. В этом случае при компиляции библиотека подцепится из этой папки 

​Если будет опять ругаться, удалите все библотеки  Dfplayer_mini , которые были установлены ранее
 

vovan47
Offline
Зарегистрирован: 16.09.2019

stpavel пишет:

vovan47 пишет:
Nikolaj666 пишет:

так при прошивке плеер нужно отключать

 

Вообще не чего не подключено

Возможно несколько библиотек установлено похожих. Предположение. 

Попробуйте так. 

В самом начале скетча заменить 

#include <DFPlayer_Mini_Mp3.h>

на 

#include "DFPlayer_Mini_Mp3.h"

и все три файла из скаченной с яндекс диска библиотеки 

а именно 

DFPlayer_Mini_Mp3.cpp
DFPlayer_Mini_Mp3.h
keywords.txt

положить в папку с скетчем. В этом случае при компиляции библиотека подцепится из этой папки 

​Если будет опять ругаться, удалите все библотеки  Dfplayer_mini , которые были установлены ранее
 


Спасибо! завтра попробую

Alexamig
Offline
Зарегистрирован: 30.05.2017

Forthomo пишет:

Alexamig пишет:

Forthomo

Выложил скетч на гуглдиск 

Alexamig, сбрось мне свои координаты в личку, обсудим, есть критические ошибки в построении скетча (недопонимание структуры). Если посчитаешь что нужно провести короткий семинар в форуме, все равно напиши.

Лички почему - то нету, не смог найти как. Кинул свои координаты туда же на гугл.

AlexMik
Offline
Зарегистрирован: 15.09.2019

stpavel пишет:
Я попробовал такой вариант, аккумулятор  через 10 ком резистор к A0, без всяких делителей напряжения. Подобрал коэф, впринципе он равен подаваемому напряжению на Vcc , у меня 5.07 вольт. Вроде бы с вольтметром совпадает.

Почитал.

Попробую на делителе R1 и R2 (R2 на землю). И с внутренним опорным 1.1В.

Ну и по формуле: (analogRead(Ax)*1.1/1024.0)/(R2/(R1+R2)) буду считать.

Пороги какие брать для Vmin и Vmax для индикатора?

Нижний наверное 3,3? А верхний? Что там у паувербанков? 

AlexMik
Offline
Зарегистрирован: 15.09.2019

А мне тоже интересно.

Лички на форуме нет?

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

AlexMik пишет:

Лички на форуме нет?

Нет.

stpavel
Offline
Зарегистрирован: 09.10.2018

AlexMik пишет:

stpavel пишет:
Я попробовал такой вариант, аккумулятор  через 10 ком резистор к A0, без всяких делителей напряжения. Подобрал коэф, впринципе он равен подаваемому напряжению на Vcc , у меня 5.07 вольт. Вроде бы с вольтметром совпадает.

Почитал.

Попробую на делителе R1 и R2 (R2 на землю). И с внутренним опорным 1.1В.

Ну и по формуле: (analogRead(Ax)*1.1/1024.0)/(R2/(R1+R2)) буду считать.

Пороги какие брать для Vmin и Vmax для индикатора?

Нижний наверное 3,3? А верхний? Что там у паувербанков? 

4.2 верхний. 

AlexMik
Offline
Зарегистрирован: 15.09.2019

stpavel пишет:

AlexMik пишет:

Пороги какие брать для Vmin и Vmax для индикатора?

Нижний наверное 3,3? А верхний? Что там у паувербанков? 

4.2 верхний. 

Ок. Спасибо.

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

AlexMik пишет:

stpavel пишет:
Я попробовал такой вариант, аккумулятор  через 10 ком резистор к A0, без всяких делителей напряжения. Подобрал коэф, впринципе он равен подаваемому напряжению на Vcc , у меня 5.07 вольт. Вроде бы с вольтметром совпадает.

Почитал.

Попробую на делителе R1 и R2 (R2 на землю). И с внутренним опорным 1.1В.

Ну и по формуле: (analogRead(Ax)*1.1/1024.0)/(R2/(R1+R2)) буду считать.

Пороги какие брать для Vmin и Vmax для индикатора?

Нижний наверное 3,3? А верхний? Что там у паувербанков? 

Когда устанавливаете опорное напряжение INTERNAL (1.1В) учитывайте что это опорное будет на всех аналоговых входах, а там датчики.

AlexMik
Offline
Зарегистрирован: 15.09.2019

Упс. Тормознул.

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

Forthomo пишет:

stpavel пишет:

Forthomo пишет:

Я калибровал от 3х вольт до 4,2, при 3х повышайка отрубается.

Алексей, не понял. По подробнее можете объяснить что калибровали 

 Павел, подробно:

Собрал делитель напряжения: нижнее плечо "общий" 10К пост. верхнее "+5В" -  5,1 К подстроечный многооборотный (какой нашел). Среднюю точку к А7( может быть любой аналоговый в скетче поправить можно) и туда же вольтметр. Скетч загрузил.

//#include <Wire.h> 
#include "Adafruit_NeoPixel.h"

//эти две строчки добавить в существующий скетч 
int BatPin = A7;    // пин контроля состояния батареи
float  Value_volt=0;

//эти три уже есть
const int PIN_LED = 5;// Сюда подключаются светодиоды
const int LED_COUNT = 6; // 6 светодиодов 5+1
Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, PIN_LED, NEO_GRB + NEO_KHZ800);

void setup() {
   Serial.begin(9600);
   pinMode(BatPin, INPUT); // это добавить в void setup 
   strip.begin();

  }
void Batery() { // процедура измерение напряжения, сигнал брать с входа бустера
  Value_volt=(float)5/1024*analogRead(BatPin);
  
  Serial.println(Value_volt);
	//отсчет пикселей начинается с 0-го поэтому 6-й в схеме -это 6-й в проге!!!
  if(Value_volt < 3.4) {
  strip.setPixelColor(5, strip.Color(255, 0, 0)); //CRGB::Red 0xFF0000 красный
  }
  else if(Value_volt < 3.5) {
  //strip.setPixelColor(5, strip.Color(255, 165, 0)); //CRGB::Orange 0xFFA500 оранжевый
  strip.setPixelColor(5, strip.Color(255, 69, 0)); //CRGB::OrangeRed  0xFF4500
  }
  else if(Value_volt < 3.6) {
  strip.setPixelColor(5, strip.Color(255, 255, 0)); //CRGB::Yellow 0xFFFF00 желтый
  }
  else if(Value_volt < 3.7) {
  strip.setPixelColor(5, strip.Color(0, 255, 0)); //CRGB::Lime 0x00FF00 зеленый
  }  
  else if(Value_volt < 3.8) {
  strip.setPixelColor(5, strip.Color(0, 255, 255)); //CRGB::Aqua 0x00FFFF голубой
  }
  else if(Value_volt < 3.9) {
  strip.setPixelColor(5, strip.Color(0, 0, 255)); //CRGB::Blue 0x0000FF синий
  } 
  else if(Value_volt < 4.0) {
  strip.setPixelColor(5, strip.Color(255, 0, 255)); //CRGB::Magenta 0xFF00FF фиолетовый
  } 
  else {// >100% заряда
  strip.setPixelColor(5, strip.Color(75, 0, 130)); //CRGB::Indigo  0x4B0082 
 
  } 
  strip.show();
}

void loop() {
  Batery(); 
  delay(1000); 
}

 Ленту подключил  к D5 через резистор 330Ом. На монитор порта  вывел показания с ардуины, и сравнивал с вольтметром. Ну и как цвет меняется пиксель №6. Потом подкорректировал коэффициент. Ну иногда при смене цвета  подмигивает (при розливе и осте просаживает), мне нравиться.

Попытаюсь подробно описать как в существующие скетчи добавить индикацию разряда батареи.

Итак:

эти две строчки добавить в существующий скетч  я вставил после: Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, PIN_LED, NEO_GRB + NEO_KHZ800);

int BatPin = A7;    // пин контроля состояния батареи
float  Value_volt=0;

эту строчку добавить в блок void setup (), я вставил после: pinMode(PIN_PUMP, OUTPUT);

pinMode(BatPin, INPUT); // устанавливаем BatPin как вход

процедура измерение напряжения, вставить отдельным блоком, но не внутрь других,я вставил перед блоком Тостов

void Batery() { // процедура измерение напряжения, сигнал брать с входа бустера (повышающего модуля)
  Value_volt=(float)5/1024*analogRead(BatPin);
  
  Serial.println(Value_volt);
	//отсчет пикселей начинается с 0-го поэтому 6-й в схеме -это 5-й в проге!!!
  if(Value_volt < 3.4) {
  strip.setPixelColor(5, strip.Color(255, 0, 0)); //CRGB::Red 0xFF0000 красный
  }
  else if(Value_volt < 3.5) {
  //strip.setPixelColor(5, strip.Color(255, 165, 0)); //CRGB::Orange 0xFFA500 оранжевый
  strip.setPixelColor(5, strip.Color(255, 69, 0)); //CRGB::OrangeRed  0xFF4500
  }
  else if(Value_volt < 3.6) {
  strip.setPixelColor(5, strip.Color(255, 255, 0)); //CRGB::Yellow 0xFFFF00 желтый
  }
  else if(Value_volt < 3.7) {
  strip.setPixelColor(5, strip.Color(0, 255, 0)); //CRGB::Lime 0x00FF00 зеленый
  }  
  else if(Value_volt < 3.8) {
  strip.setPixelColor(5, strip.Color(0, 255, 255)); //CRGB::Aqua 0x00FFFF голубой
  }
  else if(Value_volt < 3.9) {
  strip.setPixelColor(5, strip.Color(0, 0, 255)); //CRGB::Blue 0x0000FF синий
  } 
  else if(Value_volt < 4.0) {
  strip.setPixelColor(5, strip.Color(255, 0, 255)); //CRGB::Magenta 0xFF00FF фиолетовый
  } 
  else {// >100% заряда
  strip.setPixelColor(5, strip.Color(75, 0, 130)); //CRGB::Indigo  0x4B0082 
 
  } 
  strip.show();
}

строчку Batery(); добавить в блок void loop() почти в самый конец, я вставил после:strip.show(); и перед  ledTime = currentTime;Должно получиться как то так.

void loop(){
	*
	*
	*
	*
      strip.show();
      Batery();
      ledTime = currentTime;
    }
    encoder_sw_prew = encoder_sw;
    loopTime = currentTime;

  }
}

Наслаждаемся "радугой" заряда акума. Каждый Охотник Желает Знать....как там далее:кого можно есть , а кого е@*ть.

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

Alexamig пишет:

Forthomo пишет:

Alexamig пишет:

Forthomo

Выложил скетч на гуглдиск 

Alexamig, сбрось мне свои координаты в личку, обсудим, есть критические ошибки в построении скетча (недопонимание структуры). Если посчитаешь что нужно провести короткий семинар в форуме, все равно напиши.

Лички почему - то нету, не смог найти как. Кинул свои координаты туда же на гугл.

http://arduino.ru/forum/proekty/nalivator-avtomatizirovannaya-mashina-kotoraya-budet-razlivat-alkogol-po-stopkam?page=11#comment-482226

Без комментариев...

stpavel
Offline
Зарегистрирован: 09.10.2018

Forthomo пишет:

Когда устанавливаете опорное напряжение INTERNAL (1.1В) учитывайте что это опорное будет на всех аналоговых входах, а там датчики.

Еще один гвоздь в целесообразность использование ик датчиков .

Вариант с INTERNAL мне нравится тем, что при независимо от входящего напряжения , от 4 скажем до 5.5 , всегда будем получать 1.1 вольт. В случае с опорным напряжением по умолчанию, калибровать нужно будет в зависимости от источника питания.

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

stpavel пишет:

Forthomo пишет:

Когда устанавливаете опорное напряжение INTERNAL (1.1В) учитывайте что это опорное будет на всех аналоговых входах, а там датчики.

Еще один гвоздь в целесообразность использование ик датчиков .

Вариант с INTERNAL мне нравится тем, что при независимо от входящего напряжения , от 4 скажем до 5.5 , всегда будем получать 1.1 вольт. В случае с опорным напряжением по умолчанию, калибровать нужно будет в зависимости от источника питания.

опыт эксплуатации подсказывает вообще отказаться от ИК датчиков. Вечером все работает как часы, днем при солнечном свете подмигивает одна рюмка светофильтр помагает, но не от прямых солнечных лучей. Кроме того у меня между панелью и фальш-панелью акрил 0,3мм. 3-й девайс сделал с микриками, 4-й ваяю с герконами.

AlexMik
Offline
Зарегистрирован: 15.09.2019

stpavel пишет:

Еще один гвоздь в целесообразность использование ик датчиков .

Вариант с INTERNAL мне нравится тем, что при независимо от входящего напряжения , от 4 скажем до 5.5 , всегда будем получать 1.1 вольт. В случае с опорным напряжением по умолчанию, калибровать нужно будет в зависимости от источника питания.

Покручу. Подумаю. Может опрашивать батарею не постоянно, отключая в момент опроса датчики. Не думаю, что нужно вот прямо секундное соответствие заряда индикатору. Думаю прокатит.

Опросил, зарядник обновил и снова на датчики работаем.

AlexMik
Offline
Зарегистрирован: 15.09.2019

На верхнюю панель стекло 2мм буду ложить. Крутил с ИК датчиками и стеклом. Дорабатывал. Окончательно скажу когда уже на место поставлю. Вроде как работает. А там посмотрим ))

Но вообще мозгами кручу об альтернативе. Микрики не хочу. Не лежит к ним. Или не стоит... ))

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

Краник поворотный в виде робота Вали с глазками ультразвуковой дальномер,  настроен 60-75мм , поворачивается сервой, видит румку наливает , нет мимо проходит.

AlexMik
Offline
Зарегистрирован: 15.09.2019

Forthomo пишет:

Краник поворотный в виде робота Вали с глазками ультразвуковой дальномер,  настроен 60-75мм , поворачивается сервой, видит румку наливает , нет мимо проходит.

А если там голова оператора лежит? ))

А вообще идея good.

Еще вариант весов рассматривал. Но теряется возможность закрыть поверхность от проливающейся жидкости.

stpavel
Offline
Зарегистрирован: 09.10.2018

Forthomo пишет:

Краник поворотный в виде робота Вали с глазками ультразвуковой дальномер,  настроен 60-75мм , поворачивается сервой, видит румку наливает , нет мимо проходит.

А если в момент налива руку поднести, рюмку там доставить или убрать. Не... Датчик должен находится именно в том месте , где устанавливается рюмка .  Поэтому все варианты внешней установки, начиная с лазерного дальномера , как тут предлагали, мне не нравятся.

AlexMik
Offline
Зарегистрирован: 15.09.2019
Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

AlexMik пишет:

stpavel пишет:

Еще один гвоздь в целесообразность использование ик датчиков .

Вариант с INTERNAL мне нравится тем, что при независимо от входящего напряжения , от 4 скажем до 5.5 , всегда будем получать 1.1 вольт. В случае с опорным напряжением по умолчанию, калибровать нужно будет в зависимости от источника питания.

Покручу. Подумаю. Может опрашивать батарею не постоянно, отключая в момент опроса датчики. Не думаю, что нужно вот прямо секундное соответствие заряда индикатору. Думаю прокатит.

Опросил, зарядник обновил и снова на датчики работаем.

Это идея дергать analogReference(mode), в цикле измерения батареи  ставить analogReference(INTERNAL) и при выходе в основной цикл  analogReference(DEFAULT).

stpavel
Offline
Зарегистрирован: 09.10.2018

AlexMik пишет:

Весы поставить под каждую рюмку.

Уже обсуждалось здесь. Если использовать тензодатчики , должен быть зазор по диаметру. Предлагали использовать типа чашечки , на всякий случай от пролива. Мне такой вариант тоже не нравится . Хотя на вкус и цвет...

Вобщем я пока остановился на двух вариантах, концевики или  герконы. Оба варианта рабочие, практически никаких изменений в схемотехники и коде. Больше пока альтернатив не вижу .

aleks_raichel
Offline
Зарегистрирован: 27.08.2019

Чем плохи ИК датчики? Для того и есть ручной режим в солнечную погоду.... Кроме как для ИК этот режим больше и не нужен

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

Удорожание конструкции и код разбухнет. А чтобы не проливать чашечки из акрила в домашних условиях выдавить можно, газовая плита, пресс (струбцина) и матрица кружок и отверстие на 1-1,5 мм больше кружка.

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

aleks_raichel пишет:

Чем плохи ИК датчики? Для того и есть ручной режим в солнечную погоду.... Кроме как для ИК этот режим больше и не нужен

Иногда льёт мимо, продукт переводит.

AlexMik
Offline
Зарегистрирован: 15.09.2019

Хм. Только что посмотрел инфу по Force Sensitive Resistor.

Интересно. Обсуждалось?

https://www.youtube.com/watch?v=biKhUrObnWA

 

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

stpavel пишет:

AlexMik пишет:

Весы поставить под каждую рюмку.

Уже обсуждалось здесь. Если использовать тензодатчики , должен быть зазор по диаметру. Предлагали использовать типа чашечки , на всякий случай от пролива. Мне такой вариант тоже не нравится . Хотя на вкус и цвет...

Вобщем я пока остановился на двух вариантах, концевики или  герконы. Оба варианта рабочие, практически никаких изменений в схемотехники и коде. Больше пока альтернатив не вижу .

Согласен с Павлом. Я остановился на герконах. К микрикам МП7 коромысла удлинять пришлось чтобы на тонкие рюмки срабатывал.

stpavel
Offline
Зарегистрирован: 09.10.2018

AlexMik пишет:

Хм. Только что посмотрел инфу по Force Sensitive Resistor.

Интересно. Обсуждалось?

https://www.youtube.com/watch?v=biKhUrObnWA

 

Прикольная хрень, только ценник у него,  даже в китае... . Но опять таки с ограничениями. Рюмки с вогнутым дном, коих дохрена, работать не будут.

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

AlexMik пишет:

Хм. Только что посмотрел инфу по Force Sensitive Resistor.

Интересно. Обсуждалось?

https://www.youtube.com/watch?v=biKhUrObnWA

 

Где то в начале обсуждали, подстаканники лень делать. На Али  по запросу BF350 3AA BF350 20шт. -120р.

AlexMik
Offline
Зарегистрирован: 15.09.2019
AlexMik
Offline
Зарегистрирован: 15.09.2019

Пустая рюмка весит больше 20 грамм? (поискал инфу в интернете - толком не нашел)

Xumuk
Xumuk аватар
Offline
Зарегистрирован: 03.03.2016

с этим датчиком тогда нужно будет либо рюмку с плоским дном, либо делать пластину которая будет давить на этот датчик...

еще одну идею подкину, чтобы попробовать концевик спрятать... просто мысль в голову пришла, может кто улучшит ее

AlexMik
Offline
Зарегистрирован: 15.09.2019

Короче. Купил вот такой. 4х4 см. Рюмка станет.

https://www.aliexpress.com/item/4000065056348.html?spm=a2g0s.9042311.0.0.516d4c4dWf8Tp2

вот инфа:

Features:
The flexible sensor has the characteristics of flexible ultra-thin, ultra-low power consumption and extreme speed response, etc.
Small size, this flexible pressure sensor is based on new nanometer pressure-sensitive materials supplemented by ultra-thin film substrate.
This pressure sensor has the characteristic of high stability, high consistency.
Highly sensitive flexible nanometer materials can realize highly sensitive detection of pressure.
When sensor detects outside pressure, the resistance of sensor will change.
Pressure signal can be converted into a corresponding electrical signal output using simple circuit.

Specifications:
Model: RP-S40-ST
Manufacturing process: thin film
Output signal: analog
Pressure induction range: 20g-10kg
Trigger: 20 g, default resistance <200kΩ, trigger
Thickness: 0.45mm
Not trigger resistance: > 10MΩ
Activation time: <0.01s
Delay: +10%, (RF+-RF-)/FR+,1000g force
Response time: < 10ms
Size: 5 x 4cm / 1.97 x 1.57in
Weight: 2g

Note:Detailed specifications are available, please contact us if necessary

Package included:
1 x  Pressure Sensor

 

Буду пробовать. ))

sadman41
Offline
Зарегистрирован: 19.10.2016

Есть такие штуки, как Proximity Sensor, подключаются по I2C. В смартфонах такие стоят. Не знаю, правда, как они на ваши рюмки будут реагировать...

Тензодатчик, конечно, хорош тем, что вначале им меряешь нетто, а потом брутто. Есть хоть какая-то обратная связь.

AlexMik
Offline
Зарегистрирован: 15.09.2019

Пришлось разделить скетч. Не влезу. Юстировка пойдет отдельно.

Но писать пока буду сразу оба варианта ) А вдруг )

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

AlexMik, вот идея управления яркостью LCD

 

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019
//lcd.backlight();        // Включение подсветки
analogWrite(BL, 125);             // Включаем подсветку на половину

 

AlexMik
Offline
Зарегистрирован: 15.09.2019

Пытаюсь красиво согнуть алюминиевую трубку.
С замороженной водой - рвется.
С проволокой внутри - рвется.
Просто так - гнется. Не рвется. Но плавного гиба не плучается. Заламывается немного. Проходимость хорошая. Плюнуть?
Плучалось у кого плавно (более или менее) согнуть?