Подскажите пожалуйста новичку, в чем может быть дело? При попытке компиляции скетча ArduinoIDE1.8.9 выдает: ошибка для данной платы???? Я пробовал и для UNO,NANO,PROMINI,......пофигу???
Спасибо!
Скетч использует 18526 байт (60%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 658 байт (32%) динамической памяти, оставляя 1390 байт для локальных переменных. Максимум: 2048 байт. LCD
Скетч использует 16854 байт (54%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1429 байт (69%) динамической памяти, оставляя 619 байт для локальных переменных. Максимум: 2048 байт. - OLED
Вот ошибки.
W:\Temp\ccuqLSH3.ltrans0.ltrans.o: In function `oled_nalito(int, int)':
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:249: undefined reference to `RusFont'
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:249: undefined reference to `RusFont'
W:\Temp\ccuqLSH3.ltrans0.ltrans.o: In function `oled_naliv(int)':
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:239: undefined reference to `RusFont'
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:239: undefined reference to `RusFont'
W:\Temp\ccuqLSH3.ltrans0.ltrans.o: In function `oled_manual(int, int)':
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:224: undefined reference to `RusFont'
W:\Temp\ccuqLSH3.ltrans0.ltrans.o:S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:224: more undefined references to `RusFont' follow
W:\Temp\ccuqLSH3.ltrans0.ltrans.o: In function `oled_manual(int, int)':
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:230: undefined reference to `MegaNumbers'
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:230: undefined reference to `MegaNumbers'
W:\Temp\ccuqLSH3.ltrans0.ltrans.o: In function `oled_auto(int)':
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:210: undefined reference to `RusFont'
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:210: undefined reference to `RusFont'
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:215: undefined reference to `MegaNumbers'
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:215: undefined reference to `MegaNumbers'
W:\Temp\ccuqLSH3.ltrans0.ltrans.o: In function `oled_menu(int)':
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:70: undefined reference to `RusFont'
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:70: undefined reference to `RusFont'
W:\Temp\ccuqLSH3.ltrans0.ltrans.o: In function `Tost()':
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:100: undefined reference to `RusFont'
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:100: undefined reference to `RusFont'
W:\Temp\ccuqLSH3.ltrans0.ltrans.o: In function `setup':
S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:330: undefined reference to `RusFont'
W:\Temp\ccuqLSH3.ltrans0.ltrans.o:S:\Наливатор_\new 1\sketch_sep27b/sketch_sep27b.ino:330: more undefined references to `RusFont' follow
collect2.exe: error: ld returned 1 exit status
Несколько библиотек найдено для "Servo.h"
Используется: E:\Arduino\libraries\Servo
Не используется: C:\Program Files (x86)\Arduino\libraries\Servo
Несколько библиотек найдено для "SoftwareSerial.h"
Используется: C:\Users\Администратор\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.1\libraries\SoftwareSerial
Не используется: C:\Program Files (x86)\Arduino\libraries\SoftwareSerial
exit status 1
Ошибка компиляции для платы Arduino Nano.
W:\Temp\cci9JBoB.ltrans0.ltrans.o: In function `oled_nalito(int, int)':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:250: undefined reference to `RusFont'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:250: undefined reference to `RusFont'
W:\Temp\cci9JBoB.ltrans0.ltrans.o: In function `oled_naliv(int)':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:240: undefined reference to `RusFont'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:240: undefined reference to `RusFont'
W:\Temp\cci9JBoB.ltrans0.ltrans.o: In function `oled_manual(int, int)':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:225: undefined reference to `RusFont'
W:\Temp\cci9JBoB.ltrans0.ltrans.o:S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:225: more undefined references to `RusFont' follow
W:\Temp\cci9JBoB.ltrans0.ltrans.o: In function `oled_manual(int, int)':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:231: undefined reference to `MegaNumbers'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:231: undefined reference to `MegaNumbers'
W:\Temp\cci9JBoB.ltrans0.ltrans.o: In function `oled_auto(int)':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:211: undefined reference to `RusFont'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:211: undefined reference to `RusFont'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:216: undefined reference to `MegaNumbers'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:216: undefined reference to `MegaNumbers'
W:\Temp\cci9JBoB.ltrans0.ltrans.o: In function `oled_menu(int)':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:70: undefined reference to `RusFont'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:70: undefined reference to `RusFont'
W:\Temp\cci9JBoB.ltrans0.ltrans.o: In function `Tost()':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:100: undefined reference to `RusFont'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:100: undefined reference to `RusFont'
W:\Temp\cci9JBoB.ltrans0.ltrans.o: In function `setup':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:331: undefined reference to `RusFont'
W:\Temp\cci9JBoB.ltrans0.ltrans.o:S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:331: more undefined references to `RusFont' follow
collect2.exe: error: ld returned 1 exit status
Несколько библиотек найдено для "Servo.h"
Используется: E:\Arduino\libraries\Servo
Не используется: C:\Program Files (x86)\Arduino\libraries\Servo
Несколько библиотек найдено для "SoftwareSerial.h"
Используется: C:\Users\Администратор\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.1\libraries\SoftwareSerial
Не используется: C:\Program Files (x86)\Arduino\libraries\SoftwareSerial
exit status 1
Ошибка компиляции для платы Arduino Nano.
Изменены опции сборки, пересобираем все
W:\Temp\ccEfLpSh.ltrans0.ltrans.o: In function `oled_nalito(int, int)':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:250: undefined reference to `RusFont'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:250: undefined reference to `RusFont'
W:\Temp\ccEfLpSh.ltrans0.ltrans.o: In function `oled_naliv(int)':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:240: undefined reference to `RusFont'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:240: undefined reference to `RusFont'
W:\Temp\ccEfLpSh.ltrans0.ltrans.o: In function `oled_manual(int, int)':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:225: undefined reference to `RusFont'
W:\Temp\ccEfLpSh.ltrans0.ltrans.o:S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:225: more undefined references to `RusFont' follow
W:\Temp\ccEfLpSh.ltrans0.ltrans.o: In function `oled_manual(int, int)':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:231: undefined reference to `MegaNumbers'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:231: undefined reference to `MegaNumbers'
W:\Temp\ccEfLpSh.ltrans0.ltrans.o: In function `oled_auto(int)':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:211: undefined reference to `RusFont'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:211: undefined reference to `RusFont'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:216: undefined reference to `MegaNumbers'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:216: undefined reference to `MegaNumbers'
W:\Temp\ccEfLpSh.ltrans0.ltrans.o: In function `oled_menu(int)':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:70: undefined reference to `RusFont'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:70: undefined reference to `RusFont'
W:\Temp\ccEfLpSh.ltrans0.ltrans.o: In function `Tost()':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:100: undefined reference to `RusFont'
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:100: undefined reference to `RusFont'
W:\Temp\ccEfLpSh.ltrans0.ltrans.o: In function `setup':
S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:331: undefined reference to `RusFont'
W:\Temp\ccEfLpSh.ltrans0.ltrans.o:S:\nalivator_v4.2_oled_dfp/nalivator_v4.2_oled_dfp.ino:331: more undefined references to `RusFont' follow
collect2.exe: error: ld returned 1 exit status
Несколько библиотек найдено для "Servo.h"
Используется: E:\Arduino\libraries\Servo
Не используется: C:\Program Files (x86)\Arduino\libraries\Servo
Несколько библиотек найдено для "SoftwareSerial.h"
Используется: C:\Users\Администратор\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.1\libraries\SoftwareSerial
Не используется: C:\Program Files (x86)\Arduino\libraries\SoftwareSerial
exit status 1
Ошибка компиляции для платы Arduino Pro or Pro Mini.
Собрал схему на энкодере, сперва дисплей 3 раза включается, отключается, потом все работает, НО проц на ардуине раскаляется, пробовал другую плату - тоже самое. У кого нибудь так было?
Собрал схему на энкодере, сперва дисплей 3 раза включается, отключается, потом все работает, НО проц на ардуине раскаляется, пробовал другую плату - тоже самое. У кого нибудь так было?
Коллеги! Траур у меня сегодня. На 31 году жизни тихо и мирно скончался мой старый друг и соратник "ЭПСН-25/24" . У кого сегодня вечерний преферанс прошу играть стоя, включая "миэЭры" и "девятерные". "НУ, ПОМЯНЕМ!".
Оказался косяк в серве, ставил S3003, вроде работала на скетче с переменным резистором и проц не грелся, на счетче с энкодером отцепляю управляющий провод энкодера и нагрев пропадает
А нет, не в серве, просто питал через юсб порт, подал 5 вольт от отдельного источника и нагрев пропал. Не очень понятна связь между подключением питания и нагревом проца, или какой то возбуд у него начинается.
Подсветку сосуда в зависимости от заряда акума реализовали?
Нет. Вывел на плате аналоговый вход для этого. На будущее . Мне для начала нужно разобраться со своим питанием от аккумов. Те бустеры которые у меня есть видимо левые какие то. Идет конкретная просадка. Вы каким бустером пользуетесь ?
Аккумы у меня 3300 , две штуки, насос 12 вольт, 0.5А.
Может еще аккумов добавить..
помпу, шланги - ссылки есть в форуме кажется на 2-3-4 стр.,, 2 сопротивления 10кОм для энкодера, (если со звуком DFplayer, 2 сопротивления 1кОм, динамик) , механику сам смотри какую нужно стойки там, болтики - гаечки. Как питание будете организовывать?
Под эти дисплеи надо скетч переделывать.используйте те что в схеме https://s.click.aliexpress.com/e/CtbbwZ4 эти уже проверены. В вашей ссылке похоже контроллер у дисплея другой(1306). Нужен 1106 . вывод SCK вместо SCL
помпу, шланги - ссылки есть в форуме кажется на 2-3-4 стр.,, 2 сопротивления 10кОм для энкодера, (если со звуком DFplayer, 2 сопротивления 1кОм, динамик) , механику сам смотри какую нужно стойки там, болтики - гаечки. Как питание будете организовывать?
Парни, мой MP3 модуль пока идет, хотел уточнить , достаточна ли громкость встроенного усилителя , или лучше добавить небольшой усилок на каком нибудь PAM8403 ?
Парни, мой MP3 модуль пока идет, хотел уточнить , достаточна ли громкость встроенного усилителя , или лучше добавить небольшой усилок на каком нибудь PAM8403 ?
Головки 3 настоящих ватта остаточно на 12м2, приветствие уровень 30, чтобы разбудить скептиков, к плееру добавил две кнопки чтобы громкость уменьшать при долгом нажатии, короткое следующий тост.
Завтра выложу схему плеера для общего понимания, он кстати больше всех жрет.
Подскажите пожалуйста новичку, в чем может быть дело? При попытке компиляции скетча ArduinoIDE1.8.9 выдает: ошибка для данной платы???? Я пробовал и для UNO,NANO,PROMINI,......пофигу???
Спасибо!
Скетч использует 18526 байт (60%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 658 байт (32%) динамической памяти, оставляя 1390 байт для локальных переменных. Максимум: 2048 байт. LCD
Скетч использует 16854 байт (54%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1429 байт (69%) динамической памяти, оставляя 619 байт для локальных переменных. Максимум: 2048 байт. - OLED
скопируй ощибки , и сюда , вставляй через CODE не забудь свернуть.
S:\Наливатор_Не любит названий на кирилице Ардуино ИДЕ, перенеси скетч в другое место.
библиотеку OLED_I2C где брал?
А все равно !?
И для ProMini !?
C github.com
Спасибо за подсказку, заменил все библиотеки на ваши и все пошло!
Вариант с 1602
не подскажешь размеры насоса(длина и диаметр)?
Вариант с 1602
не подскажешь размеры насоса(длина и диаметр)?
Отверстия под трубки:
Внутренний: мм 6 мм/0,24”
Наружный: 9 мм/0,35”
А вот самого размеры
Диаметр самого насоса.ОК спасибо. вот вроде всё работает,тосты чередуются по кругу
#include <LCD_1602_RUS.h> #include <Servo.h> #include "Adafruit_NeoPixel.h" #include <SoftwareSerial.h>//добавляем библиотеки #include <DFPlayer_Mini_Mp3.h>//добавляем библиотеку МП3 плейера LCD_1602_RUS lcd(0x27, 16, 2); //Подключение экрана А4-SDA-зеленый, А5-SCL-желтый unsigned long currentTime; unsigned long loopTime; unsigned long ledTime; // Переменные для энкодера ----------- const int pin_A = 2; // Подключение вывода A (CLK) энкодера const int pin_B = 3; // Подключение вывода B (DT) энкодера const int pin_SW = 4; // Подключение вывода кнопки (SW) энкодера unsigned char encoder_A; unsigned char encoder_B; unsigned char encoder_A_prev = 0; unsigned char encoder_sw_prew = 1; //Массив , обозначаем подключенные оптопары по выводам . Оптопары подключены, A0,A1,A2,A3,A6 const byte Optics[] = {0, 1, 2, 3, 6}; // Значения порога срабатывания датчика для каждой рюмки const unsigned int Optics_porog[] = {100, 100, 100, 100, 100}; //Серво const int PIN_SERVO = 9; Servo servo; //Позиция каждой рюмки const byte Rumka_pos[] = {3, 50, 98, 145, 179}; //12 - 48 - 90 - 135 - 174 const byte servo_speed = 10; // Скорость поворота серво, 10 - норм, 20 медленно, 30 очень медленно byte Menu = 0; byte MenuFlag = 0; // Здесь храниться уровень меню. 0 находимся в Главном меню. 1 Вошли в меню Авто, 2 вошли в Ручное управление byte Drink = 20; // По умолчанию в рюмку наливаем 20 мл. //----- Минимальные и максимальные значения наполняемой жидкости и задержки для наполнения. const byte min_Drink = 2; // Минимум в рюмку - 2 мл. const byte max_Drink = 50; // Максимум в рюмку - 50 мл. // Калибровка работы насосика. Значения для налива min_Drink и max_Drink соотвественно const unsigned int min_Drink_delay = 222; const unsigned int max_Drink_delay = 5500; //-------- byte DrinkCount = 1; //По умолчанию, для ручного режима - 1 рюмка const byte max_DrinkCount = 5; //Максимальное кол-во рюмок - 5 // Насосик const byte PIN_PUMP = 12; // Светодиоды const int PIN_LED = 5;// Сюда подключаются светодиоды const int LED_COUNT = max_DrinkCount; Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, PIN_LED, NEO_GRB + NEO_KHZ800); byte num = 0;// 0...22, //------- void pump_enable() { digitalWrite(PIN_PUMP, 1); //вкл реле } void pump_disable() { digitalWrite(PIN_PUMP, 0); //выкл реле } void pump_timer(byte Drink) { digitalWrite(PIN_PUMP, 1); //вкл реле delay(map(Drink, min_Drink, max_Drink, min_Drink_delay, max_Drink_delay)); digitalWrite(PIN_PUMP, 0); //выкл реле } void oled_menu(byte Menu) { lcd.clear(); lcd.setCursor(3, 0); lcd.print(F("РАЗЛИВАТОР")); lcd.setCursor(0, 1); lcd.print(F(">")); lcd.setCursor(15, 1); lcd.print(F("<")); switch (Menu) { case 0: lcd.setCursor(6, 1); lcd.print(F("АВТО")); break; case 1: lcd.setCursor(2, 1); lcd.print(F("РУЧНОЙ РЕЖИМ")); break; case 2: lcd.setCursor(4, 1); lcd.print(F("ПРОМЫВКА")); break; } } // выводит строчку по чуть чуть, в самый раз и тд. Передается номер строки, на которой выводить сообщение void DrinkInfo(byte pos) { Serial.println(F("INFO_DRINK")); lcd.setCursor(0, 1); if (Drink < 15) { // lcd.setCursor(0, 1); lcd.print(F(" НИ О ЧЕМ ")); } else if (Drink < 28) { // lcd.setCursor(0, 1); lcd.print(F(" ПО ЧУТЬ - ЧУТЬ ")); } else if (Drink < 38) { // lcd.setCursor(0, 1); lcd.print(F(" В САМЫЙ РАЗ ")); } else if (Drink < 48) { // lcd.setCursor(0, 1); lcd.print(F(" ПО ПОЛНОЙ ")); } else { // lcd.setCursor(0, 1); lcd.print(F(" ДО КРАЕВ ")); } } // Меню Авто режим void oled_auto(int Drink) { Serial.println(F("MENU_AUTO")); lcd.clear(); lcd.setCursor(0, 0); lcd.print(F("HАЛИТЬ ПО")); lcd.setCursor(10, 0); lcd.print(Drink); Serial.println(Drink); lcd.setCursor(13, 0); lcd.print(F("мЛ?")); DrinkInfo(57); } // Меню Ручной режим void oled_manual(int DrinkCount, int Drink) { Serial.println(F("MENU_RUCHN")); lcd.clear(); lcd.setCursor(0, 0); lcd.print(F("HАЛИТЬ ПО")); lcd.setCursor(10, 0); lcd.print(Drink); lcd.setCursor(13, 0); lcd.print(F("мЛ?")); Serial.println(Drink); lcd.setCursor(0, 1); lcd.print(F(" В РЮМ")); lcd.setCursor(5, 1); lcd.print(DrinkCount); Serial.println(DrinkCount); if (DrinkCount == 1) { lcd.setCursor(10, 1); lcd.print(F("КУ ")); } else if (DrinkCount <= 4 ) { lcd.setCursor(10, 1); lcd.print(F("КИ ")); } else { lcd.setCursor(10, 1); lcd.print(F("ОК ")); } } // Меню налива void oled_naliv(int MenuFlag, int Drink, int DrinkCount) { Serial.println(F("NALIVAIU")); lcd.clear(); lcd.setCursor(0, 0); lcd.print(F("НАЛИВАЮ ПО")); lcd.setCursor(11, 0); lcd.print(Drink); Serial.println(Drink); lcd.setCursor(14, 0); lcd.print(F("мЛ")); lcd.setCursor(0, 1); lcd.print(F(" В")); lcd.setCursor(5, 1); lcd.print(DrinkCount); Serial.println(DrinkCount); lcd.setCursor(7, 1); lcd.print(F("РЮМ")); if (DrinkCount == 1) { lcd.setCursor(10, 1); lcd.print(F("КУ ")); } else if (DrinkCount <= 4 ) { lcd.setCursor(10, 1); lcd.print(F("КИ ")); } else { lcd.setCursor(10, 1); lcd.print(F("ОК ")); } } // Меню налито void oled_nalito(int MenuFlag, int Nalito, int Drink) { Serial.println(F("NALITO")); lcd.clear(); lcd.setCursor(0, 0); lcd.print(F("HАЛИТО ПО")); lcd.setCursor(11, 0); lcd.print(Drink); Serial.println(Drink); lcd.setCursor(14, 0); lcd.print(F("мЛ")); lcd.setCursor(0, 1); lcd.print(F(" В")); lcd.setCursor(5, 1); lcd.print(Nalito); lcd.setCursor(7, 1); lcd.print(F("РЮМ")); Serial.println(Nalito); if (Nalito == 1) { lcd.setCursor(10, 1); lcd.print(F("КУ ")); } else if (Nalito <= 4 ) { lcd.setCursor(10, 1); lcd.print(F("КИ ")); } else { lcd.setCursor(10, 1); lcd.print(F("ОК ")); } } void Tost() { //Рандом - 1 Serial.println(num); delay (100); lcd.clear(); switch (num) { case 0: //ЗА ВСТРЕЧУ! lcd.setCursor(7, 0); lcd.print(F("НУ,")); lcd.setCursor(2, 1); lcd.print(F("ЗА ВСТРЕЧУ!")); mp3_play (2); // Проигрываем "mp3/0002.mp3" delay(100); break; case 1: //ЗА КРАСОТУ! lcd.setCursor(7, 0); lcd.print(F("НУ,")); lcd.setCursor(2, 1); lcd.print(F("ЗА КРАСОТУ!")); mp3_play (3); // Проигрываем "mp3/0003.mp3" delay(100); break; case 2: //"ЗА ДРУЖБУ!" lcd.setCursor(7, 0); lcd.print(F("НУ,"));// lcd.setCursor(3, 1); lcd.print(F("ЗА ДРУЖБУ!")); mp3_play (4); // Проигрываем "mp3/0004.mp3" delay(100); break; case 3: //"ЗА БРАТСТВО! lcd.setCursor(7, 0); lcd.print(F("НУ,")); lcd.setCursor(2, 1); lcd.print(F("ЗА БРАТСТВО!")); mp3_play (5); // Проигрываем "mp3/0005.mp3" delay(100); break; case 4: //ЗА СПРАВЕДЛИВОСТЬ! lcd.setCursor(5, 0); lcd.print(F("НУ, ЗА")); lcd.setCursor(1, 1); lcd.print(F("СПРАВЕДЛИВОСТЬ!")); mp3_play (6); // Проигрываем "mp3/0006.mp3"11 delay(100); break; case 5: //ЗА РЫБАЛКУ! lcd.setCursor(7, 0); lcd.print(F("НУ,")); lcd.setCursor(3, 1); lcd.print(F("ЗА РЫБАЛКУ!")); mp3_play (7); // Проигрываем "mp3/0007.mp3" delay(100); break; case 6: //ЗА ИСКУССТВО! lcd.setCursor(7, 0); lcd.print(F("НУ,")); lcd.setCursor(2, 1); lcd.print(F("ЗА ИСКУССТВО!")); mp3_play (8); // Проигрываем "mp3/0008.mp3" delay(100); break; case 7: //ЗА РАЗУМ! lcd.setCursor(7, 0); lcd.print(F("НУ,")); lcd.setCursor(3, 1); lcd.print(F("ЗА РАЗУМ!")); mp3_play (9); // Проигрываем "mp3/0009.mp3" delay(100); break; case 8: //ЗА ИСТИННЫХ ЖЕНЩИН! lcd.setCursor(5, 0); lcd.print(F("НУ, ЗА")); lcd.setCursor(0, 1); lcd.print(F("ИСТИННЫХ ЖЕНЩИН!")); mp3_play (10); // Проигрываем "mp3/0010.mp3" delay(100); break; case 9: //ЗА ПОНИМАНИЕ! lcd.setCursor(7, 0); lcd.print(F("НУ,")); lcd.setCursor(2, 1); lcd.print(F("ЗА ПОНИМАНИЕ!")); mp3_play (11); // Проигрываем "mp3/0011.mp3" delay(100); break; case 10: //ЗА СОЛИДНОЕ МУЖСКОЕ МОЛЧАНИЕ lcd.setCursor(0, 0); lcd.print(F("НУ, ЗА СОЛИДНОЕ"));//НУ, lcd.setCursor(0, 1); lcd.print(F("МУЖСКОЕ МОЛЧАНИЕ!")); mp3_play (12); // Проигрываем "mp3/0012.mp3" delay(100); break; case 11://ЗА ЕДИНЕНИЕ! lcd.setCursor(7, 0); lcd.print(F("НУ,")); lcd.setCursor(2, 1); lcd.print(F("ЗА ЕДИНЕНИЕ!")); mp3_play (13); // Проигрываем "mp3/0013.mp3" delay(100); break; case 12: //ЗА РОДИНУ! lcd.setCursor(7, 0); lcd.print(F("НУ,")); lcd.setCursor(3, 1); lcd.print(F("ЗА РОДИНУ!")); mp3_play (14); // Проигрываем "mp3/0014.mp3" delay(100); break; case 13://ЗА ЖЕНЩИН! lcd.setCursor(7, 0); lcd.print(F("НУ,")); lcd.setCursor(3, 1); lcd.print(F("ЗА ЖЕНЩИН!")); mp3_play (15); // Проигрываем "mp3/0015.mp3" delay(100); break; case 14: //ЗА ПОБЕДУ! lcd.setCursor(7, 0); lcd.print(F("НУ,")); lcd.setCursor(3, 1); lcd.print(F("ЗА ПОБЕДУ!")); mp3_play (16); // Проигрываем "mp3/0016.mp3" delay(100); break; case 15://ЧТОБ ГОЛОВА НЕ ТРЕЩАЛА! lcd.setCursor(0, 0); lcd.print(F("НУ, ЧТОБ ГОЛОВА")); lcd.setCursor(2, 1); lcd.print(F("НЕ ТРЕЩАЛА!")); mp3_play (17); // Проигрываем "mp3/0017.mp3" delay(100); break; case 16://ЧТОБ МОРЩИЛО НАС МЕНЬШЕ! lcd.setCursor(1, 0); lcd.print(F("НУ,ЧТОБ МОРЩИЛО")); lcd.setCursor(3, 1); lcd.print(F("НАС МЕНЬШЕ!")); mp3_play (18); // Проигрываем "mp3/0018.mp3" delay(100); break; case 17://ЧТОБ В СТОРОНУ НЕ ВИЛЬНУЛО! lcd.setCursor(0, 0); lcd.print(F("НУ,ЧТОБ В СТОРО-")); lcd.setCursor(0, 1); lcd.print(F("НУ НЕ ВИЛЬНУЛО!")); mp3_play (19); // Проигрываем "mp3/0019.mp3" delay(100); break; case 18: //НУ ВЫ БЛИН ДАЁТЕ! lcd.setCursor(3, 0); lcd.print(F("НУ ВЫ БЛИН")); lcd.setCursor(5, 1); lcd.print(F("ДАЁТЕ!")); mp3_play (20); // Проигрываем "mp3/0020.mp3" delay(100); break; case 19://КТО ХОЧЕТ ВЫПИТЬ? lcd.setCursor(3, 0); lcd.print(F("КТО ХОЧЕТ")); lcd.setCursor(5, 1); lcd.print(F("ВЫПИТЬ?")); mp3_play (21);// Проигрываем "mp3/0021.mp3" delay(100); break; case 20: //ГРАЖДАНЕ ЩАС БУДЕТ ТОСТ! lcd.setCursor(2, 0); lcd.print(F("ГРАЖДАНЕ ЩАС")); lcd.setCursor(2, 1); lcd.print(F("БУДЕТ ТОСТ !")); mp3_play (22);// Проигрываем "mp3/0022.mp3" delay(100); break; case 21: //НАДО ВЫПИТЬ! lcd.setCursor(2, 0); lcd.print(F("НАДО ВЫПИТЬ!")); mp3_play (23); // Проигрываем "mp3/0023.mp3" delay(100); break; case 22: //НУ,ПРОЩАЙ ЗДОРОВЬЕ lcd.setCursor(3, 0); lcd.print(F("НУ , ПРОЩАЙ ")); lcd.setCursor(4, 1); lcd.print(F("ЗДОРОВЬЕ!")); mp3_play (24); // Проигрываем "mp3/0024.mp3" delay(100); break; case 23: //ДРУЗЬЯ МОИ СЕГОДНЯ МЫ ВЫПИВАЕМ НЕ ПРОСТО ТАК lcd.setCursor(5, 0); lcd.print(F("ВЫПЬЕМ ")); lcd.setCursor(3, 1); lcd.print(F("ПО ПОВОДУ!")); mp3_play (25); // Проигрываем "mp3/0025.mp3" delay(100); break; case 24: //НЕ ЖЕЛАЕТЕ ЛИ ТРАХНУТЬ ПО МАЛЕНЬКОЙ? lcd.setCursor(2, 0); lcd.print(F("НЕ ЖЕЛАЕТЕ ЛИ")); lcd.setCursor(4, 1); delay(600); lcd.print(F("ТРАХНУТЬ")); mp3_play (26); // Проигрываем "mp3/0026.mp3" delay(1000); lcd.clear(); lcd.setCursor(2, 0); lcd.print(F("ПО МАЛЕНЬКОЙ?")); delay(100); break; case 25: //ЖЕЛАЮ ЧТОБЫ ВСЕ lcd.setCursor(0, 0); lcd.print(F("ЖЕЛАЮ ЧТОБЫ ВСЕ")); lcd.setCursor(5, 1); lcd.print(F("!!!!!")); mp3_play (31); // Проигрываем "mp3/0031.mp3" delay(100); break; case 26: //ЭТО ПРОСТО ПРАЗДНИК КАКОЙ ТО! lcd.setCursor(3, 0); lcd.print(F("ЭТО ПРОСТО")); lcd.setCursor(0, 1); lcd.print(F("ПРАЗДНИК КАКОЙТО")); mp3_play (41); // Проигрываем "mp3/0041.mp3" delay(100); break; case 27: //НУ,ПОНЕСЛАСЬ КОЗА ПО ЭПОДРОМУ! lcd.setCursor(2, 0); lcd.print(F("НУ,ПОНЕСЛАСЬ")); lcd.setCursor(0, 1); lcd.print(F("КОЗА ПО ЭПОДРОМУ")); mp3_play (28); // Проигрываем "mp3/0028.mp3" delay(100); break; case 28: //У МЕНЯ РОДИЛСЯ ТОСТ! lcd.setCursor(1, 0); lcd.print(F("У МЕНЯ РОДИЛСЯ")); lcd.setCursor(5, 1); lcd.print(F("ТОСТ !")); delay(500); mp3_play (38); // Проигрываем "mp3/0038.mp3" delay(500); lcd.clear(); lcd.setCursor(0, 0); lcd.print(F("ДАВАЙТЕ ")); lcd.setCursor(7, 1); lcd.print(F("ВЫПЬЕМ...")); delay(100); break; case 29: //ДАВАЙТЕ ВЫПЬЕМ! lcd.setCursor(0, 0); lcd.print(F("ДАВАЙТЕ,")); lcd.setCursor(8, 1); lcd.print(F("ВЫПЬЕМ !")); mp3_play (29); // Проигрываем "mp3/0029.mp3" delay(100); break; case 30: //НЕ ЖЕЛАЕТЕ ЛИ ТРАХНУТЬ ПО МАЛЕНЬКОЙ? lcd.setCursor(4, 0); lcd.print(F("ЗДОРОВЬЯ")); lcd.setCursor(3, 1); lcd.print(F("И УСПЕХОВ!")); mp3_play (32); // Проигрываем "mp3/0032.mp3" delay(100); break; case 31: //ЦЕЛОВАТЬСЯ БУДЕМ ИЛИ КАК lcd.setCursor(3, 0); lcd.print(F("ЦЕЛОВАТЬСЯ")); lcd.setCursor(4, 1); lcd.print(F("БУДЕМ?!")); mp3_play (36); // Проигрываем "mp3/0036.mp3" delay(100); break; case 32: //ЗА ЖЕЛАНИЯ И ВОЗМОЖНОСТИ lcd.setCursor(3, 0); lcd.print(F("ЗА ЖЕЛАНИЯ")); lcd.setCursor(1, 1); lcd.print(F("И ВОЗМОЖНОСТИ!")); mp3_play (40); // Проигрываем "mp3/0040.mp3" delay(100); break; case 33: //ЗА КОЛЛЕКТИВ! lcd.setCursor(1, 0); lcd.print(F("НЕ ОТРЫВАЙТЕСЬ")); lcd.setCursor(2, 1); lcd.print(F("ОТ КОЛЛЕКТИВА!")); mp3_play (39); // Проигрываем "mp3/0039.mp3" delay(100); break; case 34: //ХЛОПНУТЬ ПО РЮМАШКЕ lcd.setCursor(0, 0); lcd.print(F("А НЕ ХЛОПНУТЬ ЛИ")); lcd.setCursor(1, 1); lcd.print(F("НАМ ПО РЮМАШКЕ?")); mp3_play (37); // Проигрываем "mp3/0037.mp3" delay(100); break; } delay(2000); if (++num > 34) num = 0; } void ServoNaliv(byte rumka) { servo.attach(PIN_SERVO); for (int pos = servo.read(); pos <= Rumka_pos[rumka]; pos += 1) { // с шагом в 1 градус servo.write(pos); // даем серве команду повернуться в положение, которое задается в переменной 'pos' delay(servo_speed); // ждем , пока ротор сервы выйдет в заданную позицию } servo.detach(); } void ServoParking () { //Serial.println(servo.read()); servo.attach(PIN_SERVO); for (int pos = servo.read(); pos >= 0; pos -= 1) { // с шагом в 1 градус servo.write(pos); // даем серве команду повернуться в положение, которое задается в переменной 'pos' delay(servo_speed); // ждем , пока ротор сервы выйдет в заданную позицию } servo.detach(); } void CvetoMuzik() { for (int i = 0; i <= 7; i++) { for (int y = 0; y < max_DrinkCount; y++) { strip.setPixelColor(y, strip.Color(255, 0, 0)); strip.show(); delay(30); } for (int y = 0; y < max_DrinkCount; y++) { strip.setPixelColor(y, strip.Color(255, 0, 255)); strip.show(); delay(30); } for (int y = 0; y < max_DrinkCount; y++) { strip.setPixelColor(y, strip.Color(0, 255, 0)); strip.show(); delay(30); } for (int y = 0; y < max_DrinkCount; y++) { strip.setPixelColor(y, strip.Color(0, 0, 255)); strip.show(); delay(30); } } } void setup() { Serial.begin(9600);// //устанавливаем Serial порт МП3 плейера если вывод в монитор TX(D0) и RX(D1)не нужен mp3_set_serial (Serial);//инициализируем Serial порт МП3 плейера /* при необходимости создаем програмный порт для управдения МП3 плейером, если вывод в монитор TX(D0) RX(D1) необходим SoftwareSerial mySoftwareSerial(10, 11); // RX, TX обозначаем програмный порт как mySoftwareSerial //плейер подключаем D10 D11 mySoftwareSerial.begin(9600);//инициализируем програмный Serial порт mp3_set_serial (mySoftwareSerial);// указываем програмный порт для МП3 плейера //инициализируем Serial с скоростью 115200, если вывод в монитор TX(D0) RX(D1) необходим Serial.begin(115200); */ delay (100);//Между двумя командами необходимо делать задержку 100 миллисекунд, в противном случае некоторые команды могут работать не стабильно. mp3_set_volume (15);// устанвливаем громкость 30 delay (100); mp3_play (1); // Проигрываем "mp3/0001.mp3"(0001_get started!.mp3) delay (100); lcd.init();// initialize the lcd lcd.backlight(); lcd.setCursor(7, 0); lcd.print(F("НУ,")); lcd.setCursor(1, 1); lcd.print(F("НАА-ЧАА-ЛИИИИ!")); delay (2500); pinMode(pin_SW, INPUT); // устанавливаем pin pin_SW как вход digitalWrite(pin_SW, HIGH); // Поддяжка вывода к 1 pinMode(pin_A, INPUT); pinMode(pin_B, INPUT); pinMode(PIN_PUMP, OUTPUT); digitalWrite(PIN_PUMP, 0); currentTime = millis(); loopTime = currentTime; //--------------- oled_menu(0); strip.begin(); for (int i = 0; i < 5; i++) { pinMode(Optics[i], INPUT); } ServoParking(); } void loop() { currentTime = millis(); if (currentTime >= (loopTime + 5)) { // проверяем каждые 5мс // int val = analogRead(0); // считываем значение // Serial.println(val); encoder_A = digitalRead(pin_A); // считываем состояние выхода А энкодера encoder_B = digitalRead(pin_B); // считываем состояние выхода B энкодера if ((!encoder_A) && (encoder_A_prev)) { // если состояние изменилось с положительного к нулю //Вращение влево if (encoder_B) { if (MenuFlag == 0) { (Menu <= 0 ) ? Menu = 2 : Menu--; // Перемещение курсора по главному меню назад oled_menu(Menu); } else if (MenuFlag == 1) { (Drink <= min_Drink ) ? Drink = max_Drink : Drink--; // Уменьшаем кол-во милилитров в рюмку oled_auto(Drink); } else if (MenuFlag == 2) { (DrinkCount >= max_DrinkCount ) ? DrinkCount = 1 : DrinkCount++; // Влево увечичиваем рюмки для ручного режима oled_manual(DrinkCount, Drink); } //Вращение вправо } else { if (MenuFlag == 0) { (Menu >= 2 ) ? Menu = 0 : Menu++; // Перемещение курсора по главному меню вперед. oled_menu(Menu); } else if (MenuFlag == 1) { (Drink >= max_Drink ) ? Drink = min_Drink : Drink++; oled_auto(Drink); } else if (MenuFlag == 2) { (Drink >= max_Drink ) ? Drink = min_Drink : Drink++; oled_manual(DrinkCount, Drink); } } } encoder_A_prev = encoder_A; // сохраняем значение А для следующего цикла int encoder_sw = digitalRead(pin_SW); if (encoder_sw == 0 && encoder_sw != encoder_sw_prew) { // Нажата кнопка int pause_sw = 0; boolean promivka = false; while (digitalRead(pin_SW) == 0) { // Держим кнопку. Считаем сколько времени прошло... delay(100); pause_sw++; if (pause_sw > 20 && Menu != 2 ) break; if (pause_sw > 20 && Menu == 2 && promivka == false) { // Если пункт меню промывка и держим кнопку больше 2 секунд. promivka = true; pump_enable(); // Включаем насос lcd.clear(); lcd.setCursor(0, 0); lcd.print(F("П Р О М Ы В К А")); lcd.setCursor(2, 1); lcd.print("<><><><><><>"); } } //После отпускания кнопки , обрабатываем if (promivka == true) { //Отпустили кнопку. Если включена промывка, выключаем насос и возвращаемся в главное меню promivka = false; pump_disable() ; //Выключаем насос oled_menu(2); } else { //Обработка всех нажатий кнопки if (Menu == 0 && MenuFlag == 0 && pause_sw < 10) { //Нажатие кнопки меню авто MenuFlag = 1; oled_auto(Drink); } else if (MenuFlag == 1 && pause_sw > 20) { //Выход из меню авто в главное MenuFlag = 0; oled_menu(0); } else if (MenuFlag == 1 ) { //Начинается автоматический разлив Serial.println("AUTO"); //Начало автоматического разлива oled_naliv(MenuFlag, Drink, DrinkCount); // Выводим на экран наливаем ... byte drink_count = 0; for (int y = 0; y < max_DrinkCount; y++) { if (analogRead(Optics[y]) > Optics_porog[y] ) { strip.setPixelColor(y, strip.Color(255, 0, 0)); // Подствечиваем красным цветом strip.show(); ServoNaliv(y); // Перемещяемся к рюмке pump_timer(Drink); // Налив. strip.setPixelColor(y, strip.Color(0, 255, 0)); // Подствечиваем зеленым , налито. strip.show(); drink_count++; } } if (drink_count > 0) { oled_nalito(MenuFlag, drink_count, Drink ); ServoParking(); delay(1000); Tost(); CvetoMuzik(); oled_auto(Drink); } else { lcd.setCursor(7, 1); lcd.print(F("НЕТ РЮМОК!")); delay(2000); oled_auto(Drink); } } else if (Menu == 1 && MenuFlag == 0 && pause_sw < 10) { // Нажатие меню ручное MenuFlag = 2; oled_manual(DrinkCount, Drink); } else if (MenuFlag == 2 && pause_sw > 20) { //Выход из меню ручное в главное MenuFlag = 0; oled_menu(1); } else if (MenuFlag == 2 ) { //Начинается ручной разлив Serial.println("RUCHNOY" + String(DrinkCount)); oled_naliv(MenuFlag, Drink, DrinkCount); // Выводим на экран наливаем ... for (int y = 0; y < DrinkCount; y++) { strip.setPixelColor(y, strip.Color(255, 0, 0)); // Подствечиваем красным цветом strip.show(); ServoNaliv(y); // Перемещяемся к рюмке pump_timer(Drink); // Налив. strip.setPixelColor(y, strip.Color(0, 255, 0)); // Подствечиваем зеленым , налито. strip.show(); } oled_nalito(MenuFlag, DrinkCount, Drink ); // Выводим на экран налито ... ServoParking(); Tost(); CvetoMuzik(); oled_manual(DrinkCount, Drink); } } } if (currentTime >= (ledTime + 300)) { //Опрашиваем оптопары ... Если рюмка поставлена , светодиод светится синим, нет ничего - не светится for (int i = 0; i < max_DrinkCount; i++) { int val = analogRead(Optics[i]); // считываем значение // Serial.println(val); if (val > Optics_porog[i]) { strip.setPixelColor(i, strip.Color(0, 0, 255)); } else { strip.setPixelColor(i, strip.Color(0, 0, 0)); } // delay(20); } strip.show(); ledTime = currentTime; } encoder_sw_prew = encoder_sw; loopTime = currentTime; } }Уважаемый RW3 в скетче изменены файлы мп3. Если Вам не трудно скиньте Вашу нарезку с мп3 файлами. заранее благодарю!
Собрал схему на энкодере, сперва дисплей 3 раза включается, отключается, потом все работает, НО проц на ардуине раскаляется, пробовал другую плату - тоже самое. У кого нибудь так было?
Собрал схему на энкодере, сперва дисплей 3 раза включается, отключается, потом все работает, НО проц на ардуине раскаляется, пробовал другую плату - тоже самое. У кого нибудь так было?
Схема на переменном резисторе работает стабильно, ничего не греется
Схема на переменном резисторе работает стабильно, ничего не греется
Смотрите правильно ли собрана у Вас схема и не ленитесь читать форум с первой страницы
https://yadi.sk/i/6QmeKphJgI5IKA схема
https://yadi.sk/d/1DOedRRio4NsYA
сборка скетчей библиотек и компонентов
Уважаемый RW3 в скетче изменены файлы мп3. Если Вам не трудно скиньте Вашу нарезку с мп3 файлами. заранее благодарю!
стр.9, сообщение №413
Благодарю скачал и добавил в сборку. Просто просматривая кучу ссылок совсем запутался в них, очень много не кликабельных ссылок.
Коллеги! Траур у меня сегодня. На 31 году жизни тихо и мирно скончался мой старый друг и соратник "ЭПСН-25/24" . У кого сегодня вечерний преферанс прошу играть стоя, включая "миэЭры" и "девятерные". "НУ, ПОМЯНЕМ!".
"Le Roi est mort, vive le Roi!"— традиционная французская фраза.
Оказался косяк в серве, ставил S3003, вроде работала на скетче с переменным резистором и проц не грелся, на счетче с энкодером отцепляю управляющий провод энкодера и нагрев пропадает
А нет, не в серве, просто питал через юсб порт, подал 5 вольт от отдельного источника и нагрев пропал. Не очень понятна связь между подключением питания и нагревом проца, или какой то возбуд у него начинается.
Схема на переменном резисторе работает стабильно, ничего не греется
Смотрите правильно ли собрана у Вас схема и не ленитесь читать форум с первой страницы
https://yadi.sk/i/6QmeKphJgI5IKA схема
https://yadi.sk/d/1DOedRRio4NsYA
сборка скетчей библиотек и компонентов
Коллега, обнови схему, на V2.1 от 19.09.2019, в V2 манюсенькая ошибка. Ссылка на V2.1 в сообщении 402.
Добрый день!
Ребята, по названию TCRT5000 на алиэкспресе находятся два варианта датчиков. Синие и черные:
https://ru.aliexpress.com/item/32703689686.html
https://ru.aliexpress.com/item/4000036567119.html
Какие лучше заказать?
У кого в теме были проблемы с засветкой датчиков под солнцем, отпишитесь, какие датчики у вас и смогли ли решить проблему.
Спасибо!
Добрый день!
Ребята, по названию TCRT5000 на алиэкспресе находятся два варианта датчиков. Синие и черные:
https://ru.aliexpress.com/item/32703689686.html
https://ru.aliexpress.com/item/4000036567119.html
Какие лучше заказать?
У кого в теме были проблемы с засветкой датчиков под солнцем, отпишитесь, какие датчики у вас и смогли ли решить проблему.
Спасибо!
Я бы заказал эти https://ru.aliexpress.com/item/4000036567119.html
Спасибо за Ваш ответ!
А дисплей какой удобнее?
https://ru.aliexpress.com/item/32896971385.html
или
https://ru.aliexpress.com/item/32652739134.html
Спасибо за Ваш ответ!
А дисплей какой удобнее?
https://ru.aliexpress.com/item/32896971385.html
или
https://ru.aliexpress.com/item/32652739134.html
Под эти дисплеи надо скетч переделывать.используйте те что в схеме
А разве первая моя ссылка - это не "из схемы"? А какой тогда "из схемы"?
Переделать скетч не проблема, были бы библиотеки под эти дисплеи.
Спасибо за Ваш ответ!
А дисплей какой удобнее?
https://ru.aliexpress.com/item/32896971385.html
или
https://ru.aliexpress.com/item/32652739134.html
Под эти дисплеи надо скетч переделывать.используйте те что в схеме
https://s.click.aliexpress.com/e/CtbbwZ4 эти уже проверены. В вашей ссылке похоже контроллер у дисплея другой(1306). Нужен 1106 . вывод SCK вместо SCL
Схема на переменном резисторе работает стабильно, ничего не греется
Смотрите правильно ли собрана у Вас схема и не ленитесь читать форум с первой страницы
https://yadi.sk/i/6QmeKphJgI5IKA схема
https://yadi.sk/d/1DOedRRio4NsYA
сборка скетчей библиотек и компонентов
Коллега, обнови схему, на V2.1 от 19.09.2019, в V2 манюсенькая ошибка. Ссылка на V2.1 в сообщении 402.
увидел исправил))) за Вами не угонишься)))
https://yadi.sk/i/AJJ5n1wQ5akS-A
схема v2.1
Спасибо за Ваш ответ!
А дисплей какой удобнее?
https://ru.aliexpress.com/item/32896971385.html
или
https://ru.aliexpress.com/item/32652739134.html
Такой https://ru.aliexpress.com/item/1967124495.html?spm=a2g0v.12010612.8148356.4.7e99600fzKcCta именно на чипе 1306, из сообщения 531 тоже пойдет.
и такой https://ru.aliexpress.com/item/32878113301.html?spm=a2g0o.detail.1000060.2.6c4d650dzgJsQb&gps-id=pcDetailBottomMoreThisSeller&scm=1007.13339.146401.0&scm_id=1007.13339.146401.0&scm-url=1007.13339.146401.0&pvid=67a6fbbb-eb38-4994-957f-494991501155
увидел исправил))) за Вами не угонишься)))
https://yadi.sk/i/AJJ5n1wQ5akS-A
схема v2.1
Я еще двигатель насосика шунтирую конденсатором и диодом, и сопротивление на управление лентой 200-470 Ом повесил, но пока перерисовывать не буду.
Спасибо, по этой ссылке и собрал, у меня двухцветный дисплей, смотрится отлично, только строки меню на 2 строчки пришлось опустить.
Печатная плата под ардуино нано и концевики. Задействованы все цифровые пины по максимуму )
Схема расчитана на 6 рюмок. Выведены разъемы подключения на концевики, MP3 модуль, экран, светодиодную ленту , серво, насос .
Сама платка получилась такой
Ссылка на плату
Печатная плата под ардуино нано и концевики. Задействованы все цифровые пины по максимуму )
Схема расчитана на 6 рюмок. Выведены разъемы подключения на концевики, MP3 модуль, экран, светодиодную ленту , серво, насос .
Сама платка получилась такой
Ссылка на плату
Золотой вы человек) Если не трудно будет, выложите фото в собранном виде
Спасибо за ответы!
Вот ссылки на комплектующие, может пригодится кому.
https://ru.aliexpress.com/item/32969220231.html
https://ru.aliexpress.com/item/32821121484.html
https://ru.aliexpress.com/item/32902208606.html
https://ru.aliexpress.com/item/32924594679.html
https://ru.aliexpress.com/item/32835898778.html
https://ru.aliexpress.com/item/32809175063.html
https://ru.aliexpress.com/item/33026447179.html
https://ru.aliexpress.com/item/32956009458.html
https://ru.aliexpress.com/item/32948823768.html
https://ru.aliexpress.com/item/32655318932.html
https://ru.aliexpress.com/item/1605337399.html
https://ru.aliexpress.com/item/4000036567119.html
https://ru.aliexpress.com/item/32968385247.html
Печатная плата под ардуино нано и концевики. Задействованы все цифровые пины по максимуму )
Схема расчитана на 6 рюмок. Выведены разъемы подключения на концевики, MP3 модуль, экран, светодиодную ленту , серво, насос .
Сама платка получилась такой
Ссылка на плату
Подсветку сосуда в зависимости от заряда акума реализовали?
Подсветку сосуда в зависимости от заряда акума реализовали?
Нет. Вывел на плате аналоговый вход для этого. На будущее . Мне для начала нужно разобраться со своим питанием от аккумов. Те бустеры которые у меня есть видимо левые какие то. Идет конкретная просадка. Вы каким бустером пользуетесь ?
Аккумы у меня 3300 , две штуки, насос 12 вольт, 0.5А.
Может еще аккумов добавить..
помпу, шланги - ссылки есть в форуме кажется на 2-3-4 стр.,, 2 сопротивления 10кОм для энкодера, (если со звуком DFplayer, 2 сопротивления 1кОм, динамик) , механику сам смотри какую нужно стойки там, болтики - гаечки. Как питание будете организовывать?
Прочитайте тему от начала до конца, там все есть.
https://ru.aliexpress.com/item/32467578996.html?spm=a2g0v.12010612.8148356.16.f5e84e7fTkg0vz
https://ru.aliexpress.com/item/32340934616.html?spm=a2g0o.detail.1000060.2.3d2a7151lmb0Cy&gps-id=pcDetailBottomMoreThisSeller&scm=1007.13339.99734.0&scm_id=1007.13339.99734.0&scm-url=1007.13339.99734.0&pvid=000994c9-f144-4558-a5c0-d898d7304d20
или https://ru.aliexpress.com/item/32815977927.html?spm=a2g0v.12010615.8148356.12.21fe78cdkfNTqb
Здесь смотри, обе платы испытывал, МТ выглядит надежней но "шумная". У меня акум 8000мА (на самом деле 3300) хватает точно разлить 1,5л.
те же йайца тока в профиль
плату на чпу делали?
плату на чпу делали?
Да , небольшой самодельный станочек.
помпу, шланги - ссылки есть в форуме кажется на 2-3-4 стр.,, 2 сопротивления 10кОм для энкодера, (если со звуком DFplayer, 2 сопротивления 1кОм, динамик) , механику сам смотри какую нужно стойки там, болтики - гаечки. Как питание будете организовывать?
Прочитайте тему от начала до конца, там все есть.
https://ru.aliexpress.com/item/32467578996.html?spm=a2g0v.12010612.8148356.16.f5e84e7fTkg0vz
https://ru.aliexpress.com/item/32340934616.html?spm=a2g0o.detail.1000060.2.3d2a7151lmb0Cy&gps-id=pcDetailBottomMoreThisSeller&scm=1007.13339.99734.0&scm_id=1007.13339.99734.0&scm-url=1007.13339.99734.0&pvid=000994c9-f144-4558-a5c0-d898d7304d20
или https://ru.aliexpress.com/item/32815977927.html?spm=a2g0v.12010615.8148356.12.21fe78cdkfNTqb
Здесь смотри, обе платы испытывал, МТ выглядит надежней но "шумная". У меня акум 8000мА (на самом деле 3300) хватает точно разлить 1,5л.
XL6009 не пойдет.. Он работает от 5 вольт, а мне нужно с 3.7 поднимать.
Вот второй вариант норм, спасибо. Закажу.
XL6009 не пойдет.. Он работает от 5 вольт, а мне нужно с 3.7 поднимать.
Вот второй вариант норм, спасибо. Закажу.
Я пытал МТ3608, он похож на XL6009, при последовательном соединении акумов подойдет.
Просверлил бутылку Д8мм, как вам идея Павла ёмкость в самом девайсе? И подсветка снизу -заряд акума от фиолетового к красному.
Спасибо за ответы!
Вот ссылки на комплектующие, может пригодится кому.
https://ru.aliexpress.com/item/32969220231.html
https://ru.aliexpress.com/item/32821121484.html
https://ru.aliexpress.com/item/32902208606.html
https://ru.aliexpress.com/item/32924594679.html
https://ru.aliexpress.com/item/32835898778.html
https://ru.aliexpress.com/item/32809175063.html
https://ru.aliexpress.com/item/33026447179.html
https://ru.aliexpress.com/item/32956009458.html
https://ru.aliexpress.com/item/32948823768.html
https://ru.aliexpress.com/item/32655318932.html
https://ru.aliexpress.com/item/1605337399.html
https://ru.aliexpress.com/item/4000036567119.html
https://ru.aliexpress.com/item/32968385247.html
если не трудно подпиши что где, потом добавлю на Я диск.
Парни, мой MP3 модуль пока идет, хотел уточнить , достаточна ли громкость встроенного усилителя , или лучше добавить небольшой усилок на каком нибудь PAM8403 ?
Парни, мой MP3 модуль пока идет, хотел уточнить , достаточна ли громкость встроенного усилителя , или лучше добавить небольшой усилок на каком нибудь PAM8403 ?
Головки 3 настоящих ватта остаточно на 12м2, приветствие уровень 30, чтобы разбудить скептиков, к плееру добавил две кнопки чтобы громкость уменьшать при долгом нажатии, короткое следующий тост.
Завтра выложу схему плеера для общего понимания, он кстати больше всех жрет.
Схема расчитана на 6 рюмок. Выведены разъемы подключения на концевики, MP3 модуль, экран, светодиодную ленту , серво, насос .
Сбрось схему и скетч в личку если не жалко.forthomo@yandex.ru