Поправил код из 181 сообщения, с МП3 плейером, все работает
запятую вместо ? не получилось победить (по раскладке рус - "," англ - "?"), заменил на !
У меня почему то приветствие отображается как тост после налива. Если только с ардуины снять питание (на всё остальное питание подано) то приветствие озвучивается,но не отображается на экране.тосты"за братство"и"ну вы блин даёте"на экране отображаются одновременно накладываясь друг на друга(фото потом выложу).звучит при этом"за братство". Тосты "за дружбу" и "ну вы блин даёте" имеют одинаковый намер трека. В остальном всё нормально, спасибо.
RW3 у меня такая же ерунда, когда первый раз включаешь "НУ на-ча-лиииии" звучит ,так было задумано, на дисплее тоже не отображается, думаю надо вносить задержку, хотя в сетап может и не прописаться.
"ну вы блин даёте" трек 0020 кажется, проглядел сам. кейс 3 и 4 накладываются, причину пока не выяснил.
Я слаб в программировании, похоже все дело в русифицированной библиотеке. Работает все за исключением менюшек: "наливаю" , "налито" и автоматический розлив (кол-во мл не отображается на LCD, в порт все выводится).
Как раз наоборот должно быть. Я в самопал добавлял инвертор и всё хорошо работает.с покупными проблем не должно быть,если только там сигнал два раза не переворачивается. Сейчас жду покупные датчики с инвестором.придут ,посмотрим.
Как раз наоборот должно быть. Я в самопал добавлял инвертор и всё хорошо работает.с покупными проблем не должно быть,если только там сигнал два раза не переворачивается. Сейчас жду покупные датчики с инвестором.придут ,посмотрим.
Прикольно, у меня без инверторов работает! Без рюмки низкий уровень на выходе, с рюмкой - высокий.
Без инвертора тоже будет работать.из левой схемы уберите инвертор и получатся две разные схемы, одна с 1 на выходе другая с 0 .хотя на вид они похожи. Нашли разницу?
У меня сигнал снимается с коллектора , можно было просто перепаять провод, но я залил их со стороны монтажа термо клеем.и с инвертором срабатывание намного чётче из за триггера
У меня сигнал снимается с коллектора , можно было просто перепаять провод, но я залил их со стороны монтажа термо клеем.и с инвертором срабатывание намного чётче из за триггера
Спасибо. Все встало на свои места. Порог какой у датчика с триггером?
void DrinkInfo(byte pos) {
lcd.setCursor(0, 0); // устанавливаем курсор в 1-ю ячейку верхней строки
lcd.print(F("HАЛИТЬ ПО")); // пишем "HАЛИТЬ ПО" (с 1 по 9 ячейку)
lcd.setCursor(10, 0); // устанавливаем курсор в 11-ю ячейку верхней строки
lcd.print(Drink); // пишем переменную "Drink" в 11 и 12 ячейку (2 знака)
Serial.println(Drink); // выводим переменную ""Drink" в монитор порт
lcd.setCursor(13, 0);// устанавливаем курсор в 14-ю ячейку верхней строки
lcd.print(F("мЛ?")); // пишем "мЛ?" (с 14 по 16 ячейку)
Вот Drink и не выводиться на LCD.
Фразы "Ни о чем", "по чуть- чуть", "в самый раз" и др. - при прокручивании энкодера изменяются на дисплее в зависимости от количества Drink. Аналогично и с DrinkCount и Drink в ручном режиме.
Я использую библиотеку Liquid_Crystal_i2c и дисплей с зашитой кириллицей.
Сообщение 116, короткий скетч для проверки и калибровки датчиков. Подключаешь датчики, заливаешь скетч, открываешь монитор порта. Смотришь значения без рюмок, ставишь рюмки , снова смотришь значения, вот эти значения и будут порогом срабатывания.
[/quote]
без рюмки-1001, с рюмкой-81. какое значение вставлять в скетч?
Сообщение 116, короткий скетч для проверки и калибровки датчиков. Подключаешь датчики, заливаешь скетч, открываешь монитор порта. Смотришь значения без рюмок, ставишь рюмки , снова смотришь значения, вот эти значения и будут порогом срабатывания.
[/quote]
без рюмки-1001, с рюмкой-81. какое значение вставлять в скетч?
[/quote]
1. поправить две строчки
432 if (analogRead(Optics[y]) > Optics_porog[y] ) {
490 if (val > Optics_porog[i]) {
поменять ">" (больше) на "<" (меньше).
2. поставвь 500
25 const unsigned int Optics_porog[] = {500,500,500,500,500};
sha-tosik, Вот вкратце процедуру описал для понимания
27 #define tcr1 750//порог ИК датчика 1// выставляй 500, можно оставить как есть 750
28 -31 //аналогично для остальных датчиков
109 //определение наличия стакана
110 int tcrt1 = analogRead(A1); // присваиваем переменной tcrt1 значение считанного с порта А1
111 if( tcrt1<tcr1) // сравниваем - если полученное с А1 значение меньше порога срабатывания датчика 1
374 { //проверка наличия стакана и включение лампочки под присутсвующим
375 if( analogRead(A1)<tcr1) strip[14] = CRGB::Indigo; // тут уже все прнятно
376 else strip[14] = CRGB::Black; // не зажигать 14 пиксель
с порогом разобрался. спасибо! подправьте пожалуйста скетч, чтобы светодиоды загорались так:https://www.youtube.com/watch?v=CzqTpZYdGlc скетч с первой страницы. светодиоды ws2812 5 штук
Там изначально была ещё и шкала налива из светодиодной ленты. В зависимости от количества налитого менялся цвет и количество включенных светодиодов.ссылка на видео это уже второй вариант устройства https://youtu.be/FXt5X5fnGc0
Я бы из первого скетча взял бы во эти строчки
myOLED.print("NS LEHFR?", CENTER, 10);// ты дурак?
239
myOLED.print("GJCNFDM H>VRB B", CENTER, 25);// поставь рюмку!
240
myOLED.print("YF:VB RYJGRE -JR-", CENTER, 40); //нажми ОК
241
myOLED.update();
RW3 у меня такая же ерунда, когда первый раз включаешь "НУ на-ча-лиииии" звучит ,так было задумано, на дисплее тоже не отображается, думаю надо вносить задержку, хотя в сетап может и не прописаться.
"ну вы блин даёте" трек 0020 кажется, проглядел сам. кейс 3 и 4 накладываются, причину пока не выяснил.
вся проблема в рандоме, накладывается кейс 4 накладывается на 3й, на ЛСД1602 накладываются 3,4 и 7й.
doza = map(ml, 1, 40, 125, 4700);// переводим знач перем ml интервала 1-40 в doza 125-4700 в милисекунды, в течение которых работает насос.диапазон подбирается при калибровке
delay(300); //ждем 0.3 секунды
digitalWrite(relPin, HIGH);//вкл реле
strip[i] = CRGB::Red; // красный пиксель на i адресе
FastLED.show();
delay(doza);// 2920=40мл
digitalWrite(relPin, LOW);//выкл реле
strip[i] = CRGB::Green; // зеленый пиксель на i адресе
FastLED.show();
rum+=1;
delay(1500);
}
void check()
{ //проверка наличия стакана и включение лампочки под присутсвующим
if( analogRead(A1)<tcr1) strip[4] = CRGB::Indigo;
else strip[4] = CRGB::Black;
if( analogRead(A2)<tcr2) strip[3] = CRGB::Indigo;
else strip[3] = CRGB::Black;
if( analogRead(A3)<tcr3) strip[2] = CRGB::Indigo;
else strip[2] = CRGB::Black;
if( analogRead(A6)<tcr4) strip[1] = CRGB::Indigo;
else strip[1] = CRGB::Black;
if( analogRead(A7)<tcr5) strip[0] = CRGB::Indigo;
else strip[0] = CRGB::Black;
FastLED.show();
/*
myOLED.setFont(MediumNumbers);//раскомментировать при подборе значений переменных tcr - с датчиков под рюмками.
Пробовал ставить 5, глючит, поэтому пошел от противного, поменял везде пиксели местами, чтобы первые пять диодов для подсветки работали, а остальные 10 как говориться в уме....
То-есть ардуинка подключена к ПК через usb, датчики к ардуино, а как запитываются сами датчики? Отдельно на датчики + и -?
можно от ардуины + - 5в
Поправил код из 181 сообщения, с МП3 плейером, все работает
запятую вместо ? не получилось победить (по раскладке рус - "," англ - "?"), заменил на !
У меня почему то приветствие отображается как тост после налива. Если только с ардуины снять питание (на всё остальное питание подано) то приветствие озвучивается,но не отображается на экране.тосты"за братство"и"ну вы блин даёте"на экране отображаются одновременно накладываясь друг на друга(фото потом выложу).звучит при этом"за братство". Тосты "за дружбу" и "ну вы блин даёте" имеют одинаковый намер трека. В остальном всё нормально, спасибо.
Фото
https://yadi.sk/i/gPs-D_7ATuDz2g
Причину пока не знаю
RW3 у меня такая же ерунда, когда первый раз включаешь "НУ на-ча-лиииии" звучит ,так было задумано, на дисплее тоже не отображается, думаю надо вносить задержку, хотя в сетап может и не прописаться.
"ну вы блин даёте" трек 0020 кажется, проглядел сам. кейс 3 и 4 накладываются, причину пока не выяснил.
точно так же.
Вечером буду изучать....
Forthomo А с индикатором 1602 разобрались?
Я слаб в программировании, похоже все дело в русифицированной библиотеке. Работает все за исключением менюшек: "наливаю" , "налито" и автоматический розлив (кол-во мл не отображается на LCD, в порт все выводится).
вот так надо сделать
mp3_play (20); наверно?
TCRT5000 . Буду ждать прошивку.
По применению датчиков TCRT5000 без переделки и добавления инвертора.
Это только предположение, но возможно в скетче поправить всего две строчки
432 if (analogRead(Optics[y]) > Optics_porog[y] ) {
490 if (val > Optics_porog[i]) {
поменять ">" (больше) на "<" (меньше). Это лучше объяснит автор скетча stpavel.
Был бы датчик попробовал бы.
да, конечно. С отпуска вышел , дергают постоянно.
mp3_play (20); И switch (random(19))
это не нужно, кейсов всего 18 (// case 0...17)
mp3_play (20); поправил
это не нужно, кейсов всего 18 (// case 0...17)
mp3_play (20); поправил
Я просто ещё один тост добавил "за женщин (был "за истинных женщин"), пусть будет.....
тогда конечно - switch (random(19)).
Хорошо бы было визуально заряд батареи прикрутить в уголок экрана, жалко одна свободная лапа осталась.
Здравствуйте!если не трудно есть полный список чего нужно приобрести для данного проекта?
Смотрите пост 163и 168
Никак не могу понять, почему при использовании покупного датчика TCRT5000 с триггером Шмидта возникают проблемы? Логика работы одинакова.
Как раз наоборот должно быть. Я в самопал добавлял инвертор и всё хорошо работает.с покупными проблем не должно быть,если только там сигнал два раза не переворачивается. Сейчас жду покупные датчики с инвестором.придут ,посмотрим.
Прикольно, у меня без инверторов работает! Без рюмки низкий уровень на выходе, с рюмкой - высокий.
Без инвертора тоже будет работать.из левой схемы уберите инвертор и получатся две разные схемы, одна с 1 на выходе другая с 0 .хотя на вид они похожи. Нашли разницу?
Я встречал обе схемы подключения Фототранзистора, у меня Самопал, сигнал снимается с эмитера.
RW3 какая у тебя схема?
У меня сигнал снимается с коллектора , можно было просто перепаять провод, но я залил их со стороны монтажа термо клеем.и с инвертором срабатывание намного чётче из за триггера
Спасибо. Все встало на свои места. Порог какой у датчика с триггером?
Не заморачивался с этим, выставил в скетче все по 50. Срабатывают чётко
А кто-нибудь заморачивался с индикаций заряда батареи на этом дисплее, как в оригинальном изделии автора?
Поделитесь ссылками на годные комплектующие!
Вот Drink и не выводиться на LCD.
Фразы "Ни о чем", "по чуть- чуть", "в самый раз" и др. - при прокручивании энкодера изменяются на дисплее в зависимости от количества Drink. Аналогично и с DrinkCount и Drink в ручном режиме.
Я использую библиотеку Liquid_Crystal_i2c и дисплей с зашитой кириллицей.
Все нормуль с выводом
TCRT5000 . Буду ждать прошивку.
По применению датчиков TCRT5000 без переделки и добавления инвертора.
Это только предположение, но возможно в скетче поправить всего две строчки
432 if (analogRead(Optics[y]) > Optics_porog[y] ) {
490 if (val > Optics_porog[i]) {
поменять ">" (больше) на "<" (меньше). Это лучше объяснит автор скетча stpavel.
Был бы датчик попробовал бы.
Совершенно верно.
Править нужно именно тут. К сожалению датчиков тоже нет, поэтому что они выдают , не знаю.
Я использую библиотеку Liquid_Crystal_i2c и дисплей с зашитой кириллицей.
Все нормуль с выводом
а какая марка дисплея? это похоже отечественный дисплей
Я использую библиотеку Liquid_Crystal_i2c и дисплей с зашитой кириллицей.
Все нормуль с выводом
а какая марка дисплея? это похоже отечественный дисплей
MT-16S2H
Могу опробовать тк сейчас через инвертируй работает
[/quote]
Сообщение 116, короткий скетч для проверки и калибровки датчиков. Подключаешь датчики, заливаешь скетч, открываешь монитор порта. Смотришь значения без рюмок, ставишь рюмки , снова смотришь значения, вот эти значения и будут порогом срабатывания.
[/quote]
без рюмки-1001, с рюмкой-81. какое значение вставлять в скетч?
Сообщение 116, короткий скетч для проверки и калибровки датчиков. Подключаешь датчики, заливаешь скетч, открываешь монитор порта. Смотришь значения без рюмок, ставишь рюмки , снова смотришь значения, вот эти значения и будут порогом срабатывания.
[/quote]
без рюмки-1001, с рюмкой-81. какое значение вставлять в скетч?
[/quote]
1. поправить две строчки
432 if (analogRead(Optics[y]) > Optics_porog[y] ) {
490 if (val > Optics_porog[i]) {
поменять ">" (больше) на "<" (меньше).
2. поставвь 500
25 const unsigned int Optics_porog[] = {500,500,500,500,500};
я про скетч с первой страницы. строки 27-31. там нужно выставить порог под каждый датчик
я про скетч с первой страницы. строки 27-31. там нужно выставить порог под каждый датчик
до вечера подождет? не читал полностью скетч.
подождет
sha-tosik, Вот вкратце процедуру описал для понимания
27 #define tcr1 750//порог ИК датчика 1// выставляй 500, можно оставить как есть 750
28 -31 //аналогично для остальных датчиков
109 //определение наличия стакана
110 int tcrt1 = analogRead(A1); // присваиваем переменной tcrt1 значение считанного с порта А1
111 if( tcrt1<tcr1) // сравниваем - если полученное с А1 значение меньше порога срабатывания датчика 1
374 { //проверка наличия стакана и включение лампочки под присутсвующим
375 if( analogRead(A1)<tcr1) strip[14] = CRGB::Indigo; // тут уже все прнятно
376 else strip[14] = CRGB::Black; // не зажигать 14 пиксель
с порогом разобрался. спасибо! подправьте пожалуйста скетч, чтобы светодиоды загорались так:https://www.youtube.com/watch?v=CzqTpZYdGlc скетч с первой страницы. светодиоды ws2812 5 штук
А как они сейчас у вас загораются?
RW3, приветствую!
вот именно: в скетче указано 15 пикселей
#define LED_COUNT 15// Указываем, какое количество пикселей у нашей ленты.
1й стакан - i=14, 2й - 13, 3й- 12, 4й-11, 5-й - 10.
Вывод: что то не так в скетче. Надо досконально разбираться.
sha-tosik, а с энкодером не проще сделать? Скетч есть, повторили несколько раз.
Там изначально была ещё и шкала налива из светодиодной ленты. В зависимости от количества налитого менялся цвет и количество включенных светодиодов.ссылка на видео это уже второй вариант устройства
https://youtu.be/FXt5X5fnGc0
Я бы из первого скетча взял бы во эти строчки
myOLED.print("NS LEHFR?", CENTER, 10);// ты дурак?
239
myOLED.print("GJCNFDM H>VRB B", CENTER, 25);// поставь рюмку!
240
myOLED.print("YF:VB RYJGRE -JR-", CENTER, 40); //нажми ОК
241
myOLED.update();
Если во время налива убрать рюмку
RW3 у меня такая же ерунда, когда первый раз включаешь "НУ на-ча-лиииии" звучит ,так было задумано, на дисплее тоже не отображается, думаю надо вносить задержку, хотя в сетап может и не прописаться.
"ну вы блин даёте" трек 0020 кажется, проглядел сам. кейс 3 и 4 накладываются, причину пока не выяснил.
вся проблема в рандоме, накладывается кейс 4 накладывается на 3й, на ЛСД1602 накладываются 3,4 и 7й.
В программировании не силен, но с диодами вроде справился по изначальному скетчу
Добрый вечер!есть у кого фото уже законченного наливатора?
В программировании не силен, но с диодами вроде справился по изначальному скетчу
#define LED_COUNT 5// Указываем, какое количество пикселей у нашей ленты -5.
Пробовал ставить 5, глючит, поэтому пошел от противного, поменял везде пиксели местами, чтобы первые пять диодов для подсветки работали, а остальные 10 как говориться в уме....
Вот скетч для LCD1602 без вшитой кирилицы, косяки есть конечно, думаю сообща устраним.