ARDUINO Контроллер теплицы. Обсуждение проекта

r4wabr

★✩✩✩✩✩✩
21 Май 2019
47
15
41
Ижевск
Целиком 1,4 не залезет в 328 камень. Там надо выбирать определенную переферию. Что-то оставить, что-то отключить. Задаётся в начале кода. Вот в lg должно залезть, но на нём я не тестировал.
 

r4wabr

★✩✩✩✩✩✩
21 Май 2019
47
15
41
Ижевск

howAreYou

✩✩✩✩✩✩✩
26 Янв 2020
9
1
Здравствуйте, я новичок в сборке самоделок)
Подскажите, пожалуйста, можно ли собрать контроллер теплицы не на arduino nano с ATMega 328, а на nodeMCU esp8266 ?
Просто на nodeMCU есть встроенный wifi контроллер, а я хотел бы сделать теплицу с удалённым управлением при помощи телеграм бота или приложения. Заранее спасибо!
 

Alex121

★✩✩✩✩✩✩
10 Окт 2019
27
15
Ну поскольку 2 последних сообщения имеют проблему с недостатком места в ардуине - даже не знаю, м.б. и стоит отставить этот ответ именно тут, хотя, конечно, ему ту не место (равно как и таким вопросам).
Итак, друзья, читайте мануал!! :D да, так просто... В документации к контроллеру Алекс писал о том, что да, на все места не хватит, да, нужно выбирать модули, которые хотите использовать. Есть возможность сэкономить место (и вроде бы повысить стабильность) если прошить альтернативный загрузчик. Обо всём этом подробно расписано в документации к проекту ;) Более того - даже указаны проценты которые займет подключение того или иного модуля )
PS. про "цЫфирь" так же есть ответ в документации - это день недели. На вашей фотке - 5 - пятница.
 
  • Лойс +1
Реакции: BigUhhh

howAreYou

✩✩✩✩✩✩✩
26 Янв 2020
9
1
@Wan-Derer, я имею в виду, зальется ли прошивка без танцев с бубном или нужно будет, что-то поменять?
 

howAreYou

✩✩✩✩✩✩✩
26 Янв 2020
9
1
@Wan-Derer, да, собственно ничего) Сегодня попробовал прошить свой контроллер на esp8266. Установил все библиотеки из гитхаба Алекса, но при прошивке получил следующую ошибку:
WARNING: library LiquidCrystal_I2C claims to run on avr architecture(s) and may be incompatible with your current board which runs on esp8266 architecture(s)
Тогда отправился на поиски библиотеки-замены. Взял на гитхабе вот отсюда https://github.com/agnunez/ESP8266-I2C-LCD1602
Теперь получаю ошибку, что для объекта класса lcd не определен метод init(), тогда пробую вызвать lcd.begin() и всё бестолку, всё равно ошибка, проверил файлы этой библиотеки, метод begin() определен.
метод begin() требует два аргумента void begin(uint8_t sda, uint8_t scl). Передал рандомные числа (16,2), эта ошибка ушла, но прилетело много других. В основном ошибки в методах вызываемых из библиотеки для работы с дисплеем, видимо они слишком сильно отличаются ((
 
Изменено:

Старик Похабыч

★★★★★★★
14 Авг 2019
4,185
1,280
Москва
Как правило с библиотеками есть примеры. Пробовал их смотреть ? видимо нет. как инициируется дисплей из этой библиотеки

LiquidCrystal_I2C lcd(0x27, 16, 2);
и далее
C++:
void setup()
{
    // initialize the LCD
    lcd.begin(0,2);  // sda=0, scl=2

    // Turn on the blacklight and print a message.
    lcd.backlight();
    lcd.print("Hello, world!");
}
 

alexku59

★✩✩✩✩✩✩
20 Янв 2020
22
11
Привет. У меня тоже версия 1.4 не входит, а версия 1.5 спокойно вошла. Тут я почитал немного понял что, сначала ардуино нано нужно перепрошить, Можно с помошью Ардуино уно. Завтра буду пробовать, знатоки надеюсь нам помогут.
 

Alex121

★✩✩✩✩✩✩
10 Окт 2019
27
15
Целиком 1,4 не залезет в 328 камень. Там надо выбирать определенную переферию. Что-то оставить, что-то отключить. Задаётся в начале кода. Вот в lg должно залезть, но на нём я не тестировал.
Если речь о LGT процах - то нет, не взлетит. У них нету флеши, а алгоритм Алекса завязан на плотное сотрудничество с энергонезависимой памятью. Скетч крашится на уровне компиляции. Наверняка можно перелопатить на эмулированную флеш.... но кто этим будет заниматься?...

@Wan-Derer, я имею в виду, зальется ли прошивка без танцев с бубном или нужно будет, что-то поменять?
Нет конечно. Стопчете не одни чешки и порвете не одну шкуру на бубне.
 

alexku59

★✩✩✩✩✩✩
20 Янв 2020
22
11
Привет. У меня тоже версия 1.4 не входит, а версия 1.5 спокойно вошла. Тут я почитал немного понял что, сначала ардуино нано нужно перепрошить, Можно с помошью Ардуино уно. Завтра буду пробовать, знатоки надеюсь нам помогут.
Ура у меня получилось. Понадобилась еще одна плата ардуино уно. Теперь все прошивки этого проекта влезают, правда некоторые с предупреждением. Не умею вставлять ссылку на видео вообщем кому надо называется "Шьем бутлоадер Arduino uno в Arduino nano.
Также попробовал прошивку тов.Alex121 на 4 далласа, у меня не получилось устройство не видит датчик
 

Alex121

★✩✩✩✩✩✩
10 Окт 2019
27
15
@alexku59, В настройках включали? по дефолту поддержка Далласов отключена, так же как и у автора, т.к. модуль далласов отжирает много ресурсов и чтобы его использовать приходится отключать что-то другое - ПИД, "серву", "рассвет".
Про альтернативный бутлоадер тоже тут писали, а так же есть в документации к проекту. Которую конечно же никто не читает :D мы же русские, читаем доки только когда "все поломалося" :D
Оставлю тут скрин
 

Вложения

alexku59

★✩✩✩✩✩✩
20 Янв 2020
22
11
@Alex121,
Посмотрите пожалуйста, что я делаю не так даллас показывает 225градусов
WDT_ENABLE 1 // 1 - включить, 0 - отключить watchdog (только для optiboot)
#define USE_PLOTS 0 // 1 - включить, 0 - отключить вывод графиков
#define USE_PID 0 // включает/отключает поддержку ПИД регулятора на каналах 2, 3, серво и привода
#define USE_DAWN 0 // включает/отключает поддержку режима РАССВЕТ на каналах 2, 3, серво
#define SETT_TIMEOUT 100 // таймаут неактивности (секунд) после которого автоматически откроется DEBUG и сохранятся настройки
#define LCD_ADDR 0x27 // адрес дисплея - 0x27 или 0x3f . Смени если не работает!!
#define BME_ADDR 0x76 // адрес BME280 - 0x76 или 0x77. Смени если не работает!! (добавлено в v1.1.1)

// ======== ДАТЧИКИ =======
// цифровой датчик температуры и влажности bme280 (шина i2c)
#define USE_BME 1 // 1 - использовать BME280, 0 - не использовать

// цифровой датчик температуры ds18b20 (вход SENS1)
#define DALLAS_SENS1 1 // 1 - ко входу SENS1 подключен ds18b20, 0 - подключен обычный аналоговый датчик
#define DALLAS_SENS2 0 // 1 - ко входу SENS1 подключен еще 1 датчик ds18b20, который заменит показания и алгоритм канала SENS2. 0 - подключен обычный аналоговый датчик
#define DALLAS_SENS3 0 // 1 - ко входу SENS1 подключен еще 1 датчик ds18b20, который заменит показания и алгоритм канала SENS3. 0 - подключен обычный аналоговый датчик
#define DALLAS_SENS4 0 // 1 - ко входу SENS1 подключен еще 1 датчик ds18b20, который заменит показания и алгоритм канала SENS4. 0 - подключен обычный аналоговый датчик

// цифровой датчик температуры и влажности DHT11/DHT22 (вход SENS2) - вместо BME280
#define DHT_SENS2 0 // 1 - ко входу SENS2 подключен DHT11/DHT22, 0 - подключен обычный аналоговый датчик
#define DHT_TYPE DHT22 // тип DHT датчика: DHT11 или DHT22

// термисторы
#define THERM1 0 // 1 - ко входу SENS1 подключен термистор, 0 - подключен другой аналоговый датчик
#define BETA_COEF1 3435 // температурный коэффициент термистора 1 (см. даташит)

#define THERM2 0 // 1 - ко входу SENS2 подключен термистор, 0 - подключен другой аналоговый датчик
#define BETA_COEF2 3435 // температурный коэффициент термистора 2 (см. даташит)

#define THERM3 0 // 1 - ко входу SENS3 подключен термистор, 0 - подключен другой аналоговый датчик
#define BETA_COEF3 3435 // температурный коэффициент термистора 3 (см. даташит)

#define THERM4 0 // 1 - ко входу SENS4 подключен термистор, 0 - подключен другой аналоговый датчик
#define BETA_COEF4 3435 // температурный коэффициент термистора 4 (см. даташит)
 

Alex121

★✩✩✩✩✩✩
10 Окт 2019
27
15
@alexku59, датчик исправен? подключали согласно документации на контроллер? Резистор припаяли? Питание берете из точки с постоянными 5В? Далласы нужно питать постоянно, нельзя его просто воткнуть в разъём для датчиков - автор об этом отдельно подчеркивал.
У меня с далласами проблем не было, я использовал от 1 до 4 разное количество, все работали как надо...
 

alexku59

★✩✩✩✩✩✩
20 Янв 2020
22
11
@Alex121, Датчик исправен, подключал правильно, питание правильно. Версия 1.4.4 работает без проблем, а именно Ваша не хочет, поэтому и спросил, может настройки какие нибудь не поставил. Главное скетч пишет без проблем.
 

Alex121

★✩✩✩✩✩✩
10 Окт 2019
27
15
Странно... а BME280 используете?
В настройках я вижу включенными только 3 опции - ватчдог, что подразумевает прошитый альтернативный бутлоадер (шили?), БМЕ (припаян? работает корректно?) и даллас. Попробуйте ничего не трогая и не разбирая прошить снова 1.4.4, если действительно версия 1.4.4 работает а мой мод - нет - то я не знаю чем помочь, пока что негативных фидбэков не было...
 

alexku59

★✩✩✩✩✩✩
20 Янв 2020
22
11
@Alex121, да и пробовал выключать его программно даллас все рано не появлялся пробовал несколько раз вчера был на дежурстве целый день занимался прошиванием (бме) припаян и температуру показывает правильно.
 

Vit_But

✩✩✩✩✩✩✩
26 Янв 2019
28
8
Народ, какую версию прошивки ставить? А то я ставил разные с круглым энкодером работать не хочет, в прошивке менял по разному. Глючит мигает и зависает. Поставил другой энкодер, работает через раз, экран не показывает картинку, все крутил и в прошивке менял- только кубики. Иногда появляется меню но при попытки полазить по меню все завасает. Что то не понять где я косячу...

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

Vit_But

✩✩✩✩✩✩✩
26 Янв 2019
28
8
ВМЕ280 не работает. а если в прошивки изменить адрес, то вообще контролер перестает работать, даже не включается. как решить вопрос?
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,185
1,280
Москва
@Vit_But, подключи BME к голой плате, запусти сканер I2C шины, посмотри его адрес. Если не найден адрес - модуль мертвый
Возьми библиотечный пример, вставь адрес, проверь работу.
 

Vit_But

✩✩✩✩✩✩✩
26 Янв 2019
28
8
Сканер показал порт 76, значит рабочий. Но если ставлю в прошивке использовать вме280 то не работает вообще плата, а если отключаю, то работает. Прошивка 1.5
 

Vit_But

✩✩✩✩✩✩✩
26 Янв 2019
28
8
Не удалось найти действующий датчик BME280, проверьте проводку!
делаю вроде все правильно, сканер порта его находит а тест нет.