![](http://ic.pics.livejournal.com/ruby_fox/8832061/1985/1985_original.jpg)
В предыдущем посте я рассказывал о
LCD Shield для ардуино, и мимоходом обмолвился о умной лампе.
Здесь я хочу немного рассказать о том, как будет происходить взаимодействие пользователя с будущим устройством.
Вначале я хотел выбрать простой 7-ми сегментный индикатор на 4 символа, но количество портов необходимое для его правильной работы достаточно велико. Однако, есть еще знакогенерирующие экраны. Плюс их в том, что они уже содержат в сеье необходимые символы и работать с ними гораздо проще, достаточно лишь их правильно инициировать и дальше можно пистаь что-то вроде: lcd.print("Hello world"); и на экране будет надпись Hello world
Но и тут есть несколько подводных камней, экраны делают китайцы. Нет, с качеством все отлично и цена великолепна, но вот поддержка русских символов, как правило, отсутствует начисто. Есть несколько методов научить их писать по Русски и этой небольшой проблемкой я займусь чуть позже, а пока представляю прототип будущего интерфейса.
Очень интересно придумывать интерфейс под экран на 32 символа в 2 строки, каждый символ буквально на счету, а значит никаких лишних элементов - максимум функционала!
![](http://ic.pics.livejournal.com/ruby_fox/8832061/1029/1029_original.jpg)
Итак выше мы видим экран редактирования времени включения лампы утром и выбор дня недели, когда она будет включаться. Управление будет осуществляться всего 4-мя кнопками. Первая будет менять режим индикации а остальные - управлять курсором. Так намного проще менять числа, не нужно прибавлять по единице 100 раз, достаточно переместить курсор в нужную позицию и нажать вверх. Выключение дней так же отображено, в выключенный день просто отображается нижнее подчеркивание. Ну а справа упрощенный символ - пустой квадрат - обозначающий свет за окном, что соответствует утру.
Точно так же мы работаем с вечерним временем, отображается все тоже самое, только справа уже темное окошко :)
![](http://ic.pics.livejournal.com/ruby_fox/8832061/1562/1562_original.jpg)
Само время и дата так же должны быть редактируемы, мало ли опять время на летнее будем переводить :)
![](http://ic.pics.livejournal.com/ruby_fox/8832061/923/923_original.jpg)
Ну и пороговое значение включения/выключения утром и вечером так же должны быть редактируемы, мало ли захочется чтобы лампа включалась когда уже совсем стемнеет или в легких сумерках, должен быть выбор!
В остальное время, когда не происходит редактирование данных и значений, будут отображаться просто часы и дата, возможно еще текущее значение освещенности. Подсветку экрана я планирую плавно гасить, если в течении нескольких секунд кнопки не нажимаются. Для этого как раз и нужен экран отдельно, чтобы подсветка подключалась к аналоговому выводу а не цифровому, как у LCD Shield.
![](http://ic.pics.livejournal.com/ruby_fox/8832061/1985/1985_original.jpg)
PS Кстати пару слов про саму лампу и зачем это нужно. Дело в том что у меня дома живет собака. И вот, чтобы в зимнее время он не сидел в полной темноте один, я задумал эту штуку. Тоетсь тут даже не лампа а управление розетками. В устройстве их будет 2. Скорее всего независимые друг от друга. Причем розутку я уже приобрел - такое мегаустройство все в одном, под все типы розеток (прощайте переходники на плоские вилки). Эта штуковина будет включаться вечером, как стемнеет и выключаться в нужное время, когда мы уже дома. И так же будет включаться утром наподобие будильника и будить нас светом а не музыкой и выключаться сама, как рассветет.
На данный момент почти все готово, остается дописать скетч и выбрать материал для корпуса.