Доступная автоматика HelloDistiller на Ардуино Мега 2560
smk787
Магистр
Семикаракорск
229 44
Отв.11100 22 Февр. 19, 14:55
Так и скажи в налоговой все как есть,так мол и так, инновационный прорыв, создаю машину времени!)))
uazovod
Профессор
Курск
2.1K 704
Отв.11101 22 Февр. 19, 16:04
bengoor,
инновационный прорыв, создаю машину времени!)))smk787, 22 Февр. 19, 14:55и принеси им продукт из машины на пробу... Еще и премию выпишут...
Kuban
Кандидат наук
Краснодар
338 228
Отв.11102 23 Февр. 19, 09:13
Добрый день. Во-первых, всех с праздником. А служивых и запасе – персонально.
Когда-то, лет 25-30 назад занимался радиолюбительством, паял схемки из «Радио». Но было это так давно. Что не знал – так и не узнал, а что знал – забыл.
Посему нужны советы по сборке автоматики. Надеюсь на вашу помощь.
В наличии из покупного: Ардуино 2260, дисплей 1602 с I2C, датчик тока на 20А, клапан на 12 вольт, БП на 9V 10A, пищалка активная, сервопривод.
Пользую колону 1,5" с ТЭНовой сборкой: 3шт по 2 кВт, но на сборку больше 3кВт не подаю. Собрал схему коммутации с параллельно-последовательным соединением ТЭНов. Разгон на 3 квТ , работа на 1,2 кВт. Регулировал вручную, простым китайским тиристорным регулятором. Очень тяжко. Не отойти.
Сборку автоматики решил вести поэтапно, сначала контроль нагрева, потом клапан, потом разделение на фракции при помощи сервопривода. Сразу вопрос. Можно ли так делать без глобальной правки скетча или нужно запускать все одновременно?
Наиглавнейшей задачей стоит запуск стабилизации нагрева.
Что сделал. Спаял клавиатуру с резисторами и подключением к А0, подключил к ардуино, запустил тест, записал коды кнопок.
Используя схему от msg31, выделил на отдельную плату и развел силовую часть : контроль U сети, контроль 0, и мос 3023 с обвязкой для триака. Плата в процессе набивки – оказалось, что в старых запасах у меня даже резисторы не все есть – а так был уверен!
Ну раз дисплей на тесте кнопок заработал, коды кнопок есть – решил залить скетч – посмотреть как себя поведет ардуино. Зашел в облако, а там этих скетчей!
Взял наугад 353i. Конечно ничего у меня на дисплее не отобразилось, поскольку он с I2C. Но, при заливке было сообщение: недостаточно памяти.
Нашел скетч HD359_I2C от AlexDol. Он подойдет? И вообще, какие скетчи можно брать? Там вроде есть только для коммерческих версий.
Жду советов и критики в свой адрес - мол не правильно…, нужно сразу всю плату делать…, возьми плату от roslav(а) и избежишь многих проблем… и тд.
Еще раз всех – с праздником. И помните – никто кроме нас не защитит наших близких.
Когда-то, лет 25-30 назад занимался радиолюбительством, паял схемки из «Радио». Но было это так давно. Что не знал – так и не узнал, а что знал – забыл.
Посему нужны советы по сборке автоматики. Надеюсь на вашу помощь.
В наличии из покупного: Ардуино 2260, дисплей 1602 с I2C, датчик тока на 20А, клапан на 12 вольт, БП на 9V 10A, пищалка активная, сервопривод.
Пользую колону 1,5" с ТЭНовой сборкой: 3шт по 2 кВт, но на сборку больше 3кВт не подаю. Собрал схему коммутации с параллельно-последовательным соединением ТЭНов. Разгон на 3 квТ , работа на 1,2 кВт. Регулировал вручную, простым китайским тиристорным регулятором. Очень тяжко. Не отойти.
Сборку автоматики решил вести поэтапно, сначала контроль нагрева, потом клапан, потом разделение на фракции при помощи сервопривода. Сразу вопрос. Можно ли так делать без глобальной правки скетча или нужно запускать все одновременно?
Наиглавнейшей задачей стоит запуск стабилизации нагрева.
Что сделал. Спаял клавиатуру с резисторами и подключением к А0, подключил к ардуино, запустил тест, записал коды кнопок.
Используя схему от msg31, выделил на отдельную плату и развел силовую часть : контроль U сети, контроль 0, и мос 3023 с обвязкой для триака. Плата в процессе набивки – оказалось, что в старых запасах у меня даже резисторы не все есть – а так был уверен!
Ну раз дисплей на тесте кнопок заработал, коды кнопок есть – решил залить скетч – посмотреть как себя поведет ардуино. Зашел в облако, а там этих скетчей!
Взял наугад 353i. Конечно ничего у меня на дисплее не отобразилось, поскольку он с I2C. Но, при заливке было сообщение: недостаточно памяти.
Нашел скетч HD359_I2C от AlexDol. Он подойдет? И вообще, какие скетчи можно брать? Там вроде есть только для коммерческих версий.
Жду советов и критики в свой адрес - мол не правильно…, нужно сразу всю плату делать…, возьми плату от roslav(а) и избежишь многих проблем… и тд.
Еще раз всех – с праздником. И помните – никто кроме нас не защитит наших близких.
zaka
Доктор наук
Курск
610 417
Отв.11103 23 Февр. 19, 09:24, через 12 мин
Kuban, собери все по [Доступная автоматика HelloDistiller на Ардуино Мега 2560] В шапке рекомендации из готовых модулей. Хочешь побольше творчества сделай на плате [Простая автоматика на Ардуино Мега 2560 из готовых элементов] . Или дождись новой платы от уважаемого bengoor.
Мученья практически все уйдут.
Проект развивается, да всегда подскажут. Тем более пишешь, что нет опыта.
Лучше потраться купи правильные позиции для сборки - в итоге выйдет дешевле, чем мучаться.
Мученья практически все уйдут.
Что не знал – так и не узнал, а что знал – забыл.Kuban, 23 Февр. 19, 09:13
Проект развивается, да всегда подскажут. Тем более пишешь, что нет опыта.
Ардуино 2260Kuban, 23 Февр. 19, 09:13С Ардуино Мега 2560 не напутал?
Лучше потраться купи правильные позиции для сборки - в итоге выйдет дешевле, чем мучаться.
ser52
Специалист
Москва
164 39
Отв.11104 23 Февр. 19, 09:31, через 7 мин
Возьми скетч HelloDistiller382 от Phisik
Kuban
Кандидат наук
Краснодар
338 228
Отв.11105 23 Февр. 19, 09:44, через 13 мин
С Ардуино Мега 2560 не напутал?zaka, 23 Февр. 19, 09:24Да нет вроде - брал на Али. Arduino MEGA 2560 R3
Собираю по рекомендациям не мене уважаемого msg31.
Плата от bengoor мне не подходит. Во-первых он использует Mega Pro, а я уже купил MEGA 2560. Во-вторых у него жесткая привязка модулей - чуть в сторону уже не ставится.
bengoor
Доцент
Кронштадт
1.8K 1.1K
Отв.11106 23 Февр. 19, 09:59, через 16 мин
Плата от bengoor мне не подходит. Во-первых он использует Mega Pro, а я уже купил MEGA 2560. Во-вторых у него жесткая привязка модулей - чуть в сторону уже не ставится.Kuban, 23 Февр. 19, 09:44Мега про недавно покупал за 600р, не такая большая цена.
По поводу привязки модулей тут есть варианты. Да я делал плату компактной чтобы уместить в минимальный корпус. Если у тебя корпус от ПК(бывает и такое), то никто не запрещает не устанавливать модули на разъемы платы, а с помощью проводов отнести их в любое место.
Плюс в том, что все разъемы выведены и подписаны.
Просто судя по вопросам, собрать автоматику будет непросто.
Кстати я в посте про платы писал какие настройки скетча от физика сделать чтобы работал i2c дисплей и клава
Зеленый змей
Профессор
регион 38
3K 1.1K
Отв.11107 23 Февр. 19, 10:46, через 48 мин
Привет, всех с праздником!
Обнаружился косяк в скетче, может кто знает как поправить?
При авариях: разлитие воды, отсутствие сетевого напряжения, (возможно и Ттса, не проверял пока) не снимается логическая единица с 5-го пина, того который используется для индукционной плиты.
Т.е. в начале процесса "1" на этом пине появляется, в конце процесса снимается, а при авариях - нет.
По сути баг серьёзный, произошла авария, а нагрев молотит
Обнаружился косяк в скетче, может кто знает как поправить?
При авариях: разлитие воды, отсутствие сетевого напряжения, (возможно и Ттса, не проверял пока) не снимается логическая единица с 5-го пина, того который используется для индукционной плиты.
Т.е. в начале процесса "1" на этом пине появляется, в конце процесса снимается, а при авариях - нет.
По сути баг серьёзный, произошла авария, а нагрев молотит
Kuban
Кандидат наук
Краснодар
338 228
Отв.11108 24 Февр. 19, 10:11
Элементарный вопрос. Что делаю не так? Куда копать?
Подключил к ардуино дисплей 1602 с I2C, и клавиатуру на А0. Больше ничего не подключал. Думал увидеть только работу дисплея и кнопок. Залил скетч HD380 с минимальным набором процессов и там же взял библиотеку I2C - стандарт от AlexDol [сообщение #13365068]
При проверке скетча посыпались ошибки типа
sketch\keyboard.cpp: In function 'void ScanKbd()':
keyboard.cpp:77:35: error: no matching function for call to 'LiquidCrystal_I2C::begin(int, int)'
lcd.begin(LCD_WIDTH, LCD_HEIGHT);
^
In file included from sketch\configuration.h:15:0,
from sketch\keyboard.cpp:9:
C:\Users\...\Documents\Arduino\libraries\Arduino-LiquidCrystal-I2C-library/LiquidCrystal_I2C.h:76:7: note: candidate: void LiquidCrystal_I2C::begin()
void begin();
^
C:\Users\...\Documents\Arduino\libraries\Arduino-LiquidCrystal-I2C-library/LiquidCrystal_I2C.h:76:7: note: candidate expects 0 arguments, 2 provided
keyboard.cpp:573:37: error: no matching function for call to 'LiquidCrystal_I2C::begin(int, int)'
lcd.begin(LCD_WIDTH, LCD_HEIGHT);
И Т.д
Решил что проблема в библиотеке LiquidCrystal_I2C.
Скачал с сайта arduinolibraries_info библиотеку LiquidCrystal_I2C-1.1.2.zip, установил. Ошибки пропали.
Заливаю скетч – на дисплее ничего, подсветки нет. На мониторе порта каждые несколько секунд
Starting up...
Starting up...
Адрес I2C как в скетче 0x27
Тупо залил скетч от HelloDistiller382 от Phisik- подсветка есть, символов нет.
Заливаю любой скетч для дисплея с I2C из iarduino ru – все работает.
Подключил к ардуино дисплей 1602 с I2C, и клавиатуру на А0. Больше ничего не подключал. Думал увидеть только работу дисплея и кнопок. Залил скетч HD380 с минимальным набором процессов и там же взял библиотеку I2C - стандарт от AlexDol [сообщение #13365068]
При проверке скетча посыпались ошибки типа
Скрытый текст
Arduino: 1.8.7 (Windows 7), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"sketch\keyboard.cpp: In function 'void ScanKbd()':
keyboard.cpp:77:35: error: no matching function for call to 'LiquidCrystal_I2C::begin(int, int)'
lcd.begin(LCD_WIDTH, LCD_HEIGHT);
^
In file included from sketch\configuration.h:15:0,
from sketch\keyboard.cpp:9:
C:\Users\...\Documents\Arduino\libraries\Arduino-LiquidCrystal-I2C-library/LiquidCrystal_I2C.h:76:7: note: candidate: void LiquidCrystal_I2C::begin()
void begin();
^
C:\Users\...\Documents\Arduino\libraries\Arduino-LiquidCrystal-I2C-library/LiquidCrystal_I2C.h:76:7: note: candidate expects 0 arguments, 2 provided
keyboard.cpp:573:37: error: no matching function for call to 'LiquidCrystal_I2C::begin(int, int)'
lcd.begin(LCD_WIDTH, LCD_HEIGHT);
И Т.д
Решил что проблема в библиотеке LiquidCrystal_I2C.
Скачал с сайта arduinolibraries_info библиотеку LiquidCrystal_I2C-1.1.2.zip, установил. Ошибки пропали.
Заливаю скетч – на дисплее ничего, подсветки нет. На мониторе порта каждые несколько секунд
Starting up...
Starting up...
Адрес I2C как в скетче 0x27
Тупо залил скетч от HelloDistiller382 от Phisik- подсветка есть, символов нет.
Заливаю любой скетч для дисплея с I2C из iarduino ru – все работает.
ser52
Специалист
Москва
164 39
Отв.11109 24 Февр. 19, 10:23, через 13 мин
скетч HD380 править для работы с 1602 с I2C
в скетч от HelloDistiller382 от Phisik надо выбрать 1602 с I2C и указать адрес дисплея
в скетч от HelloDistiller382 от Phisik надо выбрать 1602 с I2C и указать адрес дисплея
Kuban
Кандидат наук
Краснодар
338 228
Отв.11110 24 Февр. 19, 10:35, через 13 мин
Скетч HD380 из поста [сообщение #13365068] выложен уже с правкой для I2C
А в HelloDistiller382 от Phisik где выбирать 1602 с I2C? Подскачите, если не трудно.
А в HelloDistiller382 от Phisik где выбирать 1602 с I2C? Подскачите, если не трудно.
bengoor
Доцент
Кронштадт
1.8K 1.1K
Отв.11111 24 Февр. 19, 10:35, через 1 мин
Kuban, попробуй адрес 0x3F
А вообще я тебя посылал в тему про платы, там я описывал как настраивается скетч для дисплея i2c . Как раз я там писал про адреса
А вообще я тебя посылал в тему про платы, там я описывал как настраивается скетч для дисплея i2c . Как раз я там писал про адреса
Kuban
Кандидат наук
Краснодар
338 228
Отв.11112 24 Февр. 19, 10:41, через 6 мин
А вообще я тебя посылал в тему про платы, там я описывал как настраивается скетч для дисплея i2c . Как раз я там писал про адресаbengoor, 24 Февр. 19, 10:35Ссылку на тему и пост вы не дали, а найти сам - не нашел. Платы обсуждаюся в десятках постах...
bengoor
Доцент
Кронштадт
1.8K 1.1K
Отв.11113 24 Февр. 19, 10:53, через 13 мин
Kuban, ссылка есть в первом посте этой темы. Кроме этого за последние 10 страниц этой темы ссылку давал несколько раз
[сообщение #13405797]
[сообщение #13405797]
ser52
Специалист
Москва
164 39
Отв.11114 24 Февр. 19, 10:55, через 2 мин
Kuban ,в settings.h все комментарии там есть
Зеленый змей
Профессор
регион 38
3K 1.1K
Отв.11115 24 Февр. 19, 10:56, через 1 мин
С программированием я на "Вы", подскажите плиз, где в скетче поправить чтобы на 31-м пине (УЗО) инвертировать сигнал, т.е. в штатном режиме была "1", а при аварии появлялся "0" и держался до reset.
Kuban
Кандидат наук
Краснодар
338 228
Отв.11116 24 Февр. 19, 12:18
Нет. Не идет скетч.
Беру скетч 382 от физика. Сразу запускаю проверку- все ОК. НА вкладке settings.h
секция НАСТРОЙКА ЭКРАНА И КНОПОК в параметре #define USE_I2C_LCD ставлю 1. Запускаю проверку
сразу валится куча ошибок.
sketch\keyboard.cpp: In function 'void ScanKbd()':
keyboard.cpp:86:14: error: no matching function for call to 'LiquidCrystal_I2C::begin()'
lcd.begin();
^
In file included from sketch\configuration.h:15:0,
from sketch\keyboard.cpp:9:
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
^
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided
keyboard.cpp:646:16: error: no matching function for call to 'LiquidCrystal_I2C::begin()'
lcd.begin();
^
In file included from sketch\configuration.h:15:0,
from sketch\keyboard.cpp:9:
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
^
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided
keyboard.cpp:893:16: error: no matching function for call to 'LiquidCrystal_I2C::begin()'
lcd.begin();
^
In file included from sketch\configuration.h:15:0,
from sketch\keyboard.cpp:9:
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
^
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided
sketch\setup.cpp: In function 'void setup()':
setup.cpp:27:12: error: no matching function for call to 'LiquidCrystal_I2C::begin()'
lcd.begin();
^
In file included from sketch\configuration.h:15:0,
from sketch\setup.cpp:5:
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
^
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided
exit status 1
no matching function for call to 'LiquidCrystal_I2C::begin()'
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Беру скетч 382 от физика. Сразу запускаю проверку- все ОК. НА вкладке settings.h
секция НАСТРОЙКА ЭКРАНА И КНОПОК в параметре #define USE_I2C_LCD ставлю 1. Запускаю проверку
сразу валится куча ошибок.
Скрытый текст
Arduino: 1.8.7 (Windows 7), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"sketch\keyboard.cpp: In function 'void ScanKbd()':
keyboard.cpp:86:14: error: no matching function for call to 'LiquidCrystal_I2C::begin()'
lcd.begin();
^
In file included from sketch\configuration.h:15:0,
from sketch\keyboard.cpp:9:
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
^
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided
keyboard.cpp:646:16: error: no matching function for call to 'LiquidCrystal_I2C::begin()'
lcd.begin();
^
In file included from sketch\configuration.h:15:0,
from sketch\keyboard.cpp:9:
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
^
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided
keyboard.cpp:893:16: error: no matching function for call to 'LiquidCrystal_I2C::begin()'
lcd.begin();
^
In file included from sketch\configuration.h:15:0,
from sketch\keyboard.cpp:9:
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
^
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided
sketch\setup.cpp: In function 'void setup()':
setup.cpp:27:12: error: no matching function for call to 'LiquidCrystal_I2C::begin()'
lcd.begin();
^
In file included from sketch\configuration.h:15:0,
from sketch\setup.cpp:5:
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
^
C:\Users\Андрей\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided
exit status 1
no matching function for call to 'LiquidCrystal_I2C::begin()'
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
сообщение удалено
AlexDol
Кандидат наук
Екатеринбург
325 433
Отв.11117 24 Февр. 19, 12:26, через 8 мин
Не идет скетч.Kuban, 24 Февр. 19, 12:18Коллега, скетч 382 работает с другой библиотекой I2C. Phisik выкладывал её вместе со скетчем. (Возможно с более ранней версией скетча). Та библиотека что ты установил с помощью менеджера библиотек из Инета, работать не будет.
Создай папку например "Old_Lib" и перемести в неё все старые библиотеки с именем "Liquid..." затем установи нужную.
Процедура такая, вначале устанавливаешь а затем надо её подключить. Удачи!
Kuban
Кандидат наук
Краснодар
338 228
Отв.11118 24 Февр. 19, 12:50, через 25 мин
AlexDol, Спасибо! Заработал дисплей. Дело было в библиотеке.
А Ваш вариант облегченного скетча 380, я так и не запустил((. Ну на сегодня хватит - голова уже чугунная...
А Ваш вариант облегченного скетча 380, я так и не запустил((. Ну на сегодня хватит - голова уже чугунная...
AlexDol
Кандидат наук
Екатеринбург
325 433
Отв.11119 24 Февр. 19, 12:57, через 8 мин
А Ваш вариант облегченного скетча 380, я так и не запустилKuban, 24 Февр. 19, 12:50К тому скетчу я выкладывал стандартную библиотеку, та что доступна из менеджера библиотек. С ней заработает.