Люксметр BH1750, ЖКИ 5110, Нано 328, 5В, 16 МГц: проверьте, пожалуйста, скетч на ошибки!
- Войдите на сайт для отправки комментариев
Сам модуль BH1750 рабочий, исправно шлёт адекватные данные в Монитор. Но я хочу питать свой люксметр от батареек, а данные выводить на ЖКИ 5110. Попытался подключить последний "по образу и подобию" из рабочего скетча, но пока ничего не получается - наблюдаю только, как после загрузки на экране появляется весь растр рабочего поля ЖКИ, причём очень бледный, он еле виден, и только под определённым углом. ЖКИ подключен как написано в рабочем скетче, проверил несколько раз. Пробовал вставить в свой скетч строчки, которые регулируют контрастность, но это ни к чему не привело - всё осталось без изменений (после загрузки появляется и висит еле видимый, равномерно засвеченный растр рабочего поля). Компилируется без замечаний (Нано 328, 5В, 16 МГЦ). Пребываю в тупике...
#include <Wire.h> #include <BH1750.h> #include <LCD5110_Graph.h> BH1750 lightMeter; LCD5110 myGLCD(3, 4, 5, 6, 7); extern unsigned char SmallFont[]; extern unsigned char BigNumbers[]; float lux; void setup(){ myGLCD.InitLCD(); myGLCD.setFont(SmallFont); Wire.begin(); lightMeter.begin(BH1750::ONE_TIME_HIGH_RES_MODE); } void loop(){ float lux = lightMeter.readLightLevel(); myGLCD.clrScr(); myGLCD.setFont(BigNumbers); myGLCD.printNumF(lux, 1, LEFT, 35); delay(1000); }
люксометр то здесь причем? Начните с того, что возьмите пример из библиотеки экрана и добейтесь. чтоб на экран выводился текст. Когда заработает - тогда будете люксометр добавлять
Да, наверное так и буду действовать. Хотел сделать ход конём - по рабочему скетчу всё казалось вполне очевидным... Но вообще есть рабочий прибор, барограф, показания которого выводятся на 5110. Есть его рабочий скетч, уже "подчищенный" под себя, под свой вкус (расположение данных на экране, шрифты, коррекция данных, и т.п.). Вот этот скетч я и использую в качестве "примера из библиотеки", как вы говорите. Т.е. по существу задача сводится к объединению двух скетчей в один, и удалению всего лишнего (того, что относится к барографу). Или наоборот - в библиотечный пример люксметра я вставляю куски из барографа, относящиеся к 5110. Но не получается... Попробую ещё с библиотечными примерами 5110...
Я думал, что может вы увидите в моём "скетче" ЯВНЫЙ косяк...
Нормально работает пример из библиотеки... Виден текст, цифры - считает до нуля, и входит в спящий режим, пауза, пробуждение, и далее по кругу. Хм... Сижу, сравниваю, ищу, что у меня не так...
а если временно закомментировать обращение к люксометру в луп - экран не оживет, случаем?
Упс... Добавил
Вот рабочий вариант скетча, может, кому-то знадобится:
Закрываю рукой датчик - всё тикает!!! ))))
Цифры, правда, из-за нижнего среза экрана еле выглядывают, но то уже мелочи - как раз для таких как я ЭКСПЕРТОВ! ))
Ещё раз спасибо за помощь!