Сегодня расскажу Вам о китайском ЖКИ. Брался в качестве баловства, возможно создания какого-либо проекта, получения навыков работы с ЖКИ, прошу под кат: ПРЕДИСЛОВИЕ
Данный шилд лежит уже очень давно, все баловался с ним, подключал разную аппаратуру, датчики, писал меню и списки, порядка 1.5 лет прошло, как он участвует в моих разнообразных тестах и проектах.
ОПИСАНИЕ
Размер дисплея: 80 мм х 58 мм;
Рабочее напряжение: 4.5-5В;
Дисплей: 16х2;
Совместимость HD44780;
Подсветка: синий фон, белые символы;
Имеется переменный резистор, для регулировки яркости;
Русского языка нет.
Вообще исходя из цены, дисплей стоит там крайне бюджетный, такие в целом продаются за 80-100р. на али.
Фотографии специально делались на ардуине, что бы можно было оценить, то как дисплей устанавливается в разъемы. (попадались шилды, которые из-за совсем кривой пайки вставали с перекосом).
Пайка у дисплея нормальная (не плохая и не отличная, конкретно — нормальная, сойдет).
Подсветка дисплея осуществляется одним светодиодом с рефлектором, установленным с торца матрицы.
ТЕСТИРОВАНИЕ
В качестве тестирования был взят старый скетч:
Каков был функционал, такой и получил. Все работает исправно, кнопки все нажимаются, регулировка яркости работает в полном объеме:
Минимальная:
Средняя:
Максимальная:
Видео тест шилда с запущенной игрой:
ВЫВОДЫ
Учитывая его стоимость, а так же то что он проработал у меня под разными издевательствами уже 1.5 года, недостатков нет.
const int FIELD_WIDTH = 16;
const float BAR_PROBABILITY = 1;
int button;
const int BUTTON_NONE = 0;
const int BUTTON_RIGHT = 1;
const int BUTTON_UP = 2;
const int BUTTON_DOWN = 3;
const int BUTTON_LEFT = 4;
const int BUTTON_SELECT = 5;
int gameStatus;
const int MAIN_MENU = 0;
const int IN_GAME = 1;
const int PAUSE = 2;
const int ENDING = 3;
char gameFields[32];
const char SPACE = ' ';
const char BAR = '*';
const char PLAYER = '>';
int gameSpeed;
int SPEED_HIGH = 70;
int SPEED_NORMAL = 300;
int changeSpeed = 5000;
long startGameTime;
long lastMovementTime;
long lastChangeSpeedTime;
long endGameTime;
long bestGameTime;
int topQueue = true;
int getPressedButton()
{
int buttonValue = analogRead(0);
if (buttonValue < 100) {
return BUTTON_RIGHT;
}
else if (buttonValue < 200) {
return BUTTON_UP;
}
else if (buttonValue < 400){
return BUTTON_DOWN;
}
else if (buttonValue < 600){
return BUTTON_LEFT;
}
else if (buttonValue < 800){
return BUTTON_SELECT;
}
return BUTTON_NONE;
}
Такой пол года пылится в тумбочке. Всё никак не могу придумать что с ними сделать :)
Но уже задумался о метеостанции(температура, влажность и давление) + термометром вынесенным на улицу.
Как идея это вести логи на СД карту и куда-то их потом выплёвывать и обрабатывать ))) Но а по факту ещё сам не знаю что с ним делать ))) И со всем тем что прикупил ))))
ВИФИ 3 модуля и ЖСМ модуль тоже в шкафу лежат )))
Меня больше в данном моём проекте интересует вариант хранение данных, и анализ с прогнозами и графиками на небольшом сайте ( в идеале на базе ардуино или esp8266 )
Есть вариант сделать электронную проходную или систему прихода и ухода сотрудников по пропускам, но опять же пока что это только идеи для которых у меня в голове не сложился кубик-рубик )))
Ну в общем мне тоже было скучно и я решил сделать кусочек умного дома для коттеджа своих родаков.
Собрал 10 беспроводных термометров — гидрометров. В каждом:
1. Arduino pro mini 3.3v
2. DHT11 — влажность
3. DS18B20 — температура
4. NRF24L01 — экономичный радиопередатчик на 2.4ГГц
5. Liion батарейка на 300mah
6. Платка зарядки Liion батарейки.
Всё это живёт в боксе под 4AAA батарейки и от 1 зарядки работает около 1 года
Все датчики разбросаны по дому и раз в 5 минут передают свои показания + заряд батарейки на хаб.
Хаб это:
1. NRF24L01 с выносной антенной
2. ESP8266
3. Блок питания 220v-3.3v
Хаб принимает значения термометров и отправляет их по WiFi серверу, на котором крутится majordomo*.
C любого планшета можно открыть вебстраничку majordomo. посмотреть как дела в комнатах и установить желаемую температуру.
Majordomo по радио управляет работой газового котла.*
Также осуществляется контроль поливом и проветриванием теплицы.*
*Ещё не реализовано.
Я понимаю, что всё это можно купить и работать оно будет лучше чем у меня, но это просто увлечение такое.
Если не нужно уличное исполнение (герметичность), то можно заменить на BME280: высокая точность, измерение трех параметров (температура, влажность, давление).
4. NRF24L01
А вот NRF24L01 я так и не смог завести на расстоянии больше 2-х метров: неустойчивая связь, потери сообщений.
Модули вроде брал нормальные, конденсаторы на питание напаивал, с параметрами номера канала, скорости передачи и мощности сигнала игрался…
Сдался и ушел на модули 433 МГц.
это только для дома. я пытался максимально удешевить устройство т.к. 10 штук вытекают в порядочную сумму, поэтому поставил старые DHT11. Исплевался на его точность и добавил в систему ds18b20. Всё уже реализовано и менять конечно не буду. но в целом да, BME280 лучше и быстрее, что важно для автономности.
С NRF я тоже долго обнимался? подбирал оптимальный электролит. Остановился на тантале 10мкф + обычный 0,1мкф. Ещё куча геморроя была с библиотеками. RF24 в интернете несколько штук ходит и не все работают адекватно.
С 433 я начинал, не понравилась дальность и потребляемая мощность. но там просче конечно. поделки можно очень быстро собирать и недалеко они хорошо работают.
NRF24L01 в Китае практически все поддельные. Насчёт 433 — советую глянуть модули RFM69, их там целое семейство на любой вкус, в т.ч. и на «любую» частоту (315/433/868/915). Дальность приличная, потребляемая мощность сравнимая с nrf.
Если хочется минимум проблем с библиотеками и нужна простая сетка сенсоров на nrf/rfm — советую глянуть MySensors. Там буквально несколькими строчками кода решается любой вопрос. Есть десятки готовых примеров кода, на пальцах объяснено куда и что подключать, есть их же сайт с готовыми железными разработками — www.openhardware.io/explore
P.S. с 5-вольтовыми версиями BME280 советую быть внимательнее, люди жалуются, что находящийся в паре миллиметров от сенсора линейный стабилизатор греется и влияет на показания сенсора.
Спасибо информацию и за ссылочки. Термометры я уже собрал все и они отлично работают на расстоянии приверно 40-50 метров. Во всяком случае внутри 2-х этажного здания все пакеты передаются без потерь. С ними я закончил.
Мне теперь нужно как то majordomo освоить т.к. ESP8266 умеет передавать всё полученное от nrf24 или в majordomo или MQTT брокеру или на narodmon.ru. на narodmon.ru передалось всё просто — графики строятся и всё ок, но это не то, что я хотел. мне нужен свой локальный сервак, строящий графики, и поддерживающий с помощью котла температуру. ну и потом чего нить ещё к нему добавлю.
Если собрали, то MySensors уже мало поможет, но там как раз всё это есть из коробки, включая ESP8266, MQTT и работу с MajorDoMo.
У меня что-то похоже на Raspberry Pi работает. Туда подключен гейтвей MySensors, который принимает данные от сенсоров, скрипт на перле складывает их в MQTT. Ну и несколько других скриптов отправляют из MQTT в Zabbix для рисования графиков, туда же (MQTT) подключается телеграм-бот, чтобы с телефона информацию смотреть. Котёл, кстати, тоже мониторится, но не регулируется.
Штука хорошая, но занимает слишком много пинов на ардуине. Да и сверху ничего не повесишь. Как по мне, так лучше смотреть в сторону такого же экрана но с интерфейсом I2C.
С ними несколько сложнее работать, а тут всё просто и наглядно, каждая кнопка к отдельному пину, если нужно можно увеличить число кнопок или выпять их, простор для творчества.
Уважаемые гуру может подскажете? Возможно ли что нить придумать чтоб с панели автомагнитолы дублировался текст на похожий экран. Нужен выносной экранчик.
Типа такой реализации.
Лично я себе сделал так сказать отладочный экран, на отдельной модуль на отдельной Меге8 и графического экрана 128 на 64 а атк же микро SD cпособный рабоатть по любому интерфейсу выводить вводить и пробрасывать ком порт в БЛЮТУЗ, и соответственно все логировать, дает приемущество при отладке
В обзоре не хватает хотя бы распиновки модуля, не у всех ардуина с двумя гребенками. И куда датчики то подключать? Выручает напаивание гребенок на предусмотренные на самом LCD контакты, но балбесы-производители задействованные под сам LCD выводы подписали, а оставшиеся свободными — шиш, ищите схемы. Документация: И на более новую версию
А модулёк полезен, если надо по быстрому проверить какой новый датчик перед подключением в схему.
Спецом зарегалса на муське.
В аналогичном. От RobotDyn косяк в плате. Зачем-то на AFREF подают напряжение. В результате, если вы надумаете работать с температурой корпуса процессора
// ADMUX = (_BV(REFS1) | _BV(REFS0) | _BV(MUX3));
то получите цены на дрова.
Лечится просто. Скусить по самые… эээ-корень. Ножку AREF на этом шилде.
Но уже задумался о метеостанции(температура, влажность и давление) + термометром вынесенным на улицу.
Как идея это вести логи на СД карту и куда-то их потом выплёвывать и обрабатывать ))) Но а по факту ещё сам не знаю что с ним делать ))) И со всем тем что прикупил ))))
Поделитесь идеями что можно придумать эдакого :)
Пока что нарыл вот это: www.youtube.com/watch?v=EzOMIqlDnWo
Меня больше в данном моём проекте интересует вариант хранение данных, и анализ с прогнозами и графиками на небольшом сайте ( в идеале на базе ардуино или esp8266 )
Есть вариант сделать электронную проходную или систему прихода и ухода сотрудников по пропускам, но опять же пока что это только идеи для которых у меня в голове не сложился кубик-рубик )))
Только не знаю как он развивается.
Данные пробного периода.
Обсуждение проекта здесь
Собрал 10 беспроводных термометров — гидрометров. В каждом:
1. Arduino pro mini 3.3v
2. DHT11 — влажность
3. DS18B20 — температура
4. NRF24L01 — экономичный радиопередатчик на 2.4ГГц
5. Liion батарейка на 300mah
6. Платка зарядки Liion батарейки.
Всё это живёт в боксе под 4AAA батарейки и от 1 зарядки работает около 1 года
Все датчики разбросаны по дому и раз в 5 минут передают свои показания + заряд батарейки на хаб.
Хаб это:
1. NRF24L01 с выносной антенной
2. ESP8266
3. Блок питания 220v-3.3v
Хаб принимает значения термометров и отправляет их по WiFi серверу, на котором крутится majordomo*.
C любого планшета можно открыть вебстраничку majordomo. посмотреть как дела в комнатах и установить желаемую температуру.
Majordomo по радио управляет работой газового котла.*
Также осуществляется контроль поливом и проветриванием теплицы.*
*Ещё не реализовано.
Я понимаю, что всё это можно купить и работать оно будет лучше чем у меня, но это просто увлечение такое.
А вот NRF24L01 я так и не смог завести на расстоянии больше 2-х метров: неустойчивая связь, потери сообщений.
Модули вроде брал нормальные, конденсаторы на питание напаивал, с параметрами номера канала, скорости передачи и мощности сигнала игрался…
Сдался и ушел на модули 433 МГц.
С NRF я тоже долго обнимался? подбирал оптимальный электролит. Остановился на тантале 10мкф + обычный 0,1мкф. Ещё куча геморроя была с библиотеками. RF24 в интернете несколько штук ходит и не все работают адекватно.
С 433 я начинал, не понравилась дальность и потребляемая мощность. но там просче конечно. поделки можно очень быстро собирать и недалеко они хорошо работают.
Если хочется минимум проблем с библиотеками и нужна простая сетка сенсоров на nrf/rfm — советую глянуть MySensors. Там буквально несколькими строчками кода решается любой вопрос. Есть десятки готовых примеров кода, на пальцах объяснено куда и что подключать, есть их же сайт с готовыми железными разработками — www.openhardware.io/explore
P.S. с 5-вольтовыми версиями BME280 советую быть внимательнее, люди жалуются, что находящийся в паре миллиметров от сенсора линейный стабилизатор греется и влияет на показания сенсора.
Мне теперь нужно как то majordomo освоить т.к. ESP8266 умеет передавать всё полученное от nrf24 или в majordomo или MQTT брокеру или на narodmon.ru. на narodmon.ru передалось всё просто — графики строятся и всё ок, но это не то, что я хотел. мне нужен свой локальный сервак, строящий графики, и поддерживающий с помощью котла температуру. ну и потом чего нить ещё к нему добавлю.
У меня что-то похоже на Raspberry Pi работает. Туда подключен гейтвей MySensors, который принимает данные от сенсоров, скрипт на перле складывает их в MQTT. Ну и несколько других скриптов отправляют из MQTT в Zabbix для рисования графиков, туда же (MQTT) подключается телеграм-бот, чтобы с телефона информацию смотреть. Котёл, кстати, тоже мониторится, но не регулируется.
Типа такой реализации.
— покрытие на ЖК глянцевое. Проходим мимо. :)
Документация:
И на более новую версию
А модулёк полезен, если надо по быстрому проверить какой новый датчик перед подключением в схему.
Подскажите, кто знает, пожалуйста.
В аналогичном. От RobotDyn косяк в плате. Зачем-то на AFREF подают напряжение. В результате, если вы надумаете работать с температурой корпуса процессора
// ADMUX = (_BV(REFS1) | _BV(REFS0) | _BV(MUX3));
то получите цены на дрова.
Лечится просто. Скусить по самые… эээ-корень. Ножку AREF на этом шилде.
Я старался, менял библиотеки, менял версии IDE…