06 мая 2021

PANAPLEX - ну о-о-очень большая неонка

 Версия fw 1.05


Камрад ViG0r накопал где то в Штатах стопочку газоразрядных дисплеев.
Больших 15 х 5 см, высота цифры 27 мм, 5 цифр.
И поменьше 6,8 х 3,8 см. цифра 14мм, 4 цифры.

И мы сделали из этих дисплеев очередные часы.



12 апреля 2021

Фиолетовый свет далеких планет ...

... или управляем лампочкой по таймеру

Обновлено 12.04.2021

(рекламное фото AliExpress)

 

Окна у меня смотрят на северо-восток-восток. И солнышко бывает у меня в гостях только утром. А зимой - иногда и вообще не бывает.

Соответственно, на кухонном подоконнике цветочки, котячья трава, зеленый лук и прочая растительность растут, но хреново. Что бы было цветочкам веселее, купил я на али лампочку для цветочков. Вот тут . 

31 марта 2021

Кухонный мультитаймер

Обновлено 8.04.2021
Версия прошивки - 2.12

Реализованные хотелки

  • Несколько одновременных независимых таймеров
  • Корректировка времени счета каждого таймера
  • Управление энкодером
  • Запуск первого таймера в один поворот энкодера
  • Отображение времени
  • Предупредительный звуковой сигнал за минуту до истечения выдержки - NEW!


07 марта 2021

Цветовое пространство HSV, его осмысление и как с этим знанием дальше жить...


Привычные радиолюбителю RGB-светодиоды имеют в своем составе три кристалла - красного, зеленого и синего цвета свечения. И комбинацией мощности свечения каждого кристалла можно получить различные цвета и оттенки. Что сделает обычный радиолюбитель? Возьмет три переменных резистора, подключит к ним светодиод и, вращая ручки этих резисторов, будет себе настраивать желаемый цвет. 

А продвинутый радиолюбитель, который слышал слово "микроконтроллер", знает, что в микроконтроллерах есть специальные выходы, на которых можно получить сигналы с широтно-импульсной модуляцией (ШИМ или по-заморскому PWM). И что если к этим выходам подключить такой светодиод, то призвав в помощь опытного программиста, можно заставить светодиод светиться разными цветами без участия человека. А если еще этот радиолюбитель и сам немножко программист - то тут и все карты в руки.

Но вот беда. Пока нужно просто помигать-посветить разными цветами - цветовая модель RGB остается удобной. А когда таких светодиодов много, да когда наступают более интересные задачи независимого изменения цвета и яркости, то в ряде случаев в мозгах программиста-радиолюбителя может наступить "деление на ноль". Ибо вопрос - как учесть сразу несколько характеристик цвета и света и всё это в цветовой модели RGB - зачастую бывает сложный.

И тут на помощь приходит цветовая модель HSV (Hue - цветовой тон, Saturation - насыщенность, Value - уровень или же яркость). Модель придумал в середине 1970-х некий Элви Рэй Смит, один из со-основателей Pixar. Я не знаю, для чего это было нужно Элви Рэю, но нам эта модель позволит независимо выбирать цвет свечения светодиода, яркость свечения светодиода и насыщенность цвета. Прям как крутилки на старых тёплых ламповых цветных телевизорах.

Ниже - информация, которая может помочь осмыслению цветовой модели HSV и применением ее в любимом микроконтроллере.

04 марта 2021

RadAlert - радиометр-показометр

 

В какой то момент мне захотелось, что б в доме был дозиметр прибор, который умеет "мерять" радиацию. И что б он себе просто лежал на полочке, постоянно включенный и заверещал, когда фон вдруг подскочит выше установленного порога (надеюсь, мироздание этого не допустит).

Прибор - это, наверное, громко сказано. ибо ни поверки нет, ни калибровки по контрольному источнику... В общем. не прибор, а показометр...

Соответственно - требования были простые:
- лежать на полочке долго-долго от одного заряда батарейки
- помнить какую то историю радиационного фона.

Под это дело подходил описанный на радиокоте "Нанит". Ну - почти подходил.
Хотелось
 а) на датчике СБМ-20, хоть он и больше
 б) что то своё. что б все хотелки не впихивать в чужой код, а написать свои
 в) поскольку я на тот момент начинал "щупать" STM32 - хотелось сделать на STM-ке....

Ну и что сказать. Изделие, в принципе, получилось. Я доволен.

03 марта 2021

Часы с радиоприемником и метеодатчиками TouchClock - II

Версия прошивки - от 8 февраля 2021 года.

 



 

Часы построены на базе микроконтроллера ATMEGA128A и 3.2" цветного TFT-дисплея 320*240 точек на базе контроллера ILI9341 с резистивной тач-панелью.

Что часы умеют:

  • Часы, календарь
    • Помесячное перелистывание календаря
    • Ежечасный звуковой сигнал (с 23 до 7 отключен принудительно)
    • Таймер, до 9ч 59мин 59сек, дискретность установки 1сек
    • 5 будильников (3 мелодии или FM приемник, выбор громкости, выбор дней недели)
    • 4 выхода типа "открытый сток", управляемых из будильников, с несколькими режимами управления
    • Прямое управление выходами
    • Три языка интерфейса
    • Несколько шрифтов отображения данных
    • Несколько цветовых схем (переключение вручную или по рандому)
    • 7 уровней яркости подсветки
    • Авторегулировка яркости подсветки по внешнему фотодатчику и/или по времени
    • FM - приемник RDA5807, с возможностью его использования в качестве будильника
    • Память на 48 станций приемника с возможностью задания названия станции
    • Отдельный блок отображения метеоданных
    • Почасовая история метеоданных за 5 дней с графиками этих метеоданных
    • Поддержка датчика температуры/давления/влажности ВМЕ280 (ВМР280) и двух датчиков DS18B20
    • Возможность подключения по UART / беспроводному каналу двух внешних модулей с датчиками ВМЕ280 и DS18B20.
    • При использовании двух внешних модулей данные второго модуля принудительно заменяют показания встроенной ВМЕ280 и первого DS18B20.
    • Отключаемые звуковые сигналы при изменении количества метеодатчиков (с 23 до 7 отключены принудительно)
    • Отключаемый звуковой сигнал при резком изменении данных от метеодатчиков (изменение влажности на 10%, давления на 8мм или темпераутры на 12° в течении часа, с 23 до 7 отключен принудительно)
    • Отображение другим цветом резко изменившихся метеопоказаний
    • Выбор корректирующих констант влажности (+/-50%) и температуры (+/-10°) для каждого физического датчика
    • Выбор для каждого физического датчика его расположения - дом/улица, отображение символа "домика" или "елочки" на графиках и в кратком отображении метеоданных
    • Напоминания о важных датах (до 64 напоминаний).
    • Фильтрация некорректных данных от внешнего модуля
    • Отображение предупреждения о критичном разряде батарейки внешнего датчика
    • Selftest при включении, вывод фатальных ошибок
    • Таймер автоотключения приемника - 5, 10, 15, 20, 30, 45, 60, 90 минут
    • Поддержка физической кнопки отключения будильника/таймера

      28 февраля 2021

      Термометр на DS18B20

      Так сложилось, что один хороший человек собрал чей то термометр на ATMEGA8, датчике DS18B20 и OLED-дисплее 128*64 на контроллере SSD1306. Но исходная прошивка ему не нравилась и я предложил написать новую прошивку под собранную им схему.



      Термометр рассчитан на периодическое включение выключателем и отображение температур с обнаруженных датчиков, соответственно, никаких режимов энергосбережения или сна не предусмотрено.

      26 февраля 2021

      Дисплей ST7920 и с чем его едят


      (картинко не моё, найдено в гуголе)

       Короткая памятка по подключению.

      Дисплей дурной. Но поскольку он есть - надо писать.

      RST. Резет - он и в Мордорской домне резет. Активный уровень - низкий. Согласно ДШ должен удерживаться не менее чего то там. У меня это "чего то там" - 70 мс. После отпускания резета до отправки команд нужно подождать еще пару-тройку мс.

      Дисплей может работать как по параллельному, так и по последовательному интерфейсу. За это отвечает контакт PSB.
      Если этот контакт соединен с землёй - интерфейс последовательный. Если через 4к7 подтянут к питанию - параллельный 4/8-битный. (Сразу скажу, 4-битный не пробовал).

      Тут есть мелкая засада. На некоторых ревизиях дисплея PCB может быть перемычкой или пофигистором притянут к питанию или земле. Мультиметр решает. Если таки да - найди и отпаять. Внизу по одной из ссылок (на drive2 ru) как раз и описана такая ситуация.

      Вроде всё красиво, но дьявол кроется в деталях. Проблема в том, что обработка любой команды выполняется за время не менее 72 мкс. Т.е. отправил команду - жди 72 мкс. Отправил байт данных - жди 72 мкс... и т.д.
      Те несколько дисплеев, что у меня были - вели себя по разному. Один удалось "разогнать" до 64 мкс. Второй нормально работал при периоде 78 мкс. В интернетах пишут, что некоторые экземпляры гнались до периода в 36-40 мкс. 
      Итого - время обновления дисплея - это отправка 1024 байт данных + 128 командных байт.
      В идеальном случае - 1152 байт * 72 мкс = приблизительно 83 мс. Или 12 fps.