Сводный список записей блога

--->>>> Сводный список записей блога <<<<---

29 ноября 2021

Дралоскоп-TV

 Он же - козлотрон из телевизора.

Эта штука знакома большинству тех, кто когда то был студентами. И не только.

Технологий козлотрона было много. но смысл один и тот же - копирование чертежа на просвет.

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

 
Интернетные фото

На самом деле областей применения козлотрона больше, нежели только "козлить начерталку". Например, задний/нижний свет при предметной съемке. Особенно для прозрачных и полупрозрачных предметов.

Мне в свое время попал в руки 22" телевизор с разбитой матрицей.

По большому счету из таких битых телеков мало что можно взять. 

Это блок питания, панель подсветки. Пара динамиков. 5 кнопочек... И всё... Плата процессора/тюнера - ну в хозяйстве оно малополезно. Мне во всяком случае. 

Блок питания в телеке - 12 вольт + управляемая повышайка для подсветки. На выходе там порядка 42 вольт при токе подсветки 250-300 мА. Блок питания уехал в электрозамок. Осталась подсветка с битой матрицей. Матрица ушла в мусорку, осталось запустить подсветку.


16 ноября 2021

RadAlert-2. Радиационный показометр.

Версия прошивки 2.066 от 15.02.2022г.


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

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

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

Под это дело подходил описанный на радиокоте "Нанит". Ну - почти подходил.

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

В результате был сделан прибор на контроллере STM32F103C8, дисплее "от NOKIA 5110", с практически полным повторением высоковольтной части "Нанита", принципа накачки высокого напряжения и заимствованием части алгоритмов. Я уже его описывал в начале этого года. 

Изначально прибор был собран в большом пластиковом корпусе BOX Z-14 размерами 150х49х22 мм.

Там поместилось всё, включая трехуровневый фонарик. И места ещё оставалось много.
Потом еще был печатный корпус, чуть меньше в габаритах. У этого корпуса были свои недостатки... Ну и внешний вид был не самый идеальный.

И в какой то момент на глаза попался "брусочек" BOX Z-115 размерами 105х30х21,5 мм. Он доступен в черном и светло-светло-сером цветах.

20 октября 2021

Не лает, не кусает, а в дом не пускает

Автономный контроллер доступа


Маленькая предыстория

На общей двери в тамбур на 4 квартиры умер очередной замок. Что подстегнуло меня реализовать мысль, которую я думал уже долгое время.

А именно - купить нормально открытый электрозамок, спаять (или купить) читалку для бесконтактных ключей, сделать контроллер и вкорячить это все на входную дверь.

Прописать в контроллер ключи от домофона для всех жильцов и иметь на связке ключей на одну железку меньше.

Эти мысли были медленные и вялотекущие, пока замок не умер.

В результате был куплен недорогой запирающий механизм

И компактная читалка для ключей стандарта EmMarine 125 кГц.


Читалка имеет интерфейс Wiegand 26/34, осталось только сваять на коленке контроллер для этой всей кухни.

14 сентября 2021

Косвенное обращение к функции в языке Си

Мини-памятка для начинающих С-водов.

Переменная-указатель на функцию. Как сделать и как пользоваться.

05 августа 2021

Когда пультов больше чем рук

Обновлено 19.08.2021 

Универсальный обучаемый пульт или как не стать Шивой Многоруким

(картинка из Интернета)

Что умеет пульт.

Обучаемый пульт - это пульт, который может запомнить ИК-посылку от другого пульта и потом пытаться ее воспроизвести. Но поскольку форматов команд пультов в мире многое множество - задача становится нетривиальной. Особенно для микроконтроллера ATMEGA8.

Но я надеюсь, что я эту проблему решил хотя бы частично.

Краткие зарактеристики:
Контроллер ATMEGA8A
30 кнопок
Питание 3-5 вольт
Индикация напряжения батарейки, контроль посылки (2 светодиода - красный и зеленый)
Потребление в ждущем режиме ~2 мкА

Пульт распознает несколько распространенных форматов и пытается их эмулировать согласно спецификациям. Неизвестные форматы так же анализируются и пытаются воспроизводиться.

Распознаваемые форматы с эмуляцией согласно спецификаций:

  • SONY (SIRC-12, -15, -20 bit), 40 кГц
  • NEC, 38 кГц
  • SAMSUNG, 38 кГц
  • SHARP, 38 кГц
  • JVC, 38 кГц
  • RC5 (Philips), 36 кГц
Типовые форматы, эмулируются с несущей 38 кГц :

  • Формат с постоянными паузами, кодирование осуществляется длиной импульса, возможен отдельный стартовый импульс (как у SONY). До 64 бит данных.
  • Формат с постоянными импульсами, кодирование осуществляется длиной паузы, возможен отдельный стартовый импульс и стартовая пауза (как у NEC). До 64 бит данных.
  • Формат с постоянными импульсами, кодирование различными длинами пауз (как SHARP). До 64 бит данных.
  • Формат с постоянным периодом следования импульсов, кодирование длиной импульса.
Нераспознаваемые форматы эмулируются с несущей 38 кГц.

  • Такие форматы посылок пульт так же пытается записать, анализируя длины импульсов и пауз, что бы их потом воспроизвести. В зависимости от сложности формата пульт может сохранить до 16 или до 32 импульсов. Про такое сохранение будет чуть ниже.

Изначально пульт был сделан в 12-кнопочном варианте, в корпус автомобильного пультика на руль. Но потом схема "повзрослела" до 30 кнопок.

К повторению предлагается вариант в 21-кнопочный китайский пульт "IR remote control HX1838 for Arduino" либо макси-версия - 30-кнопочный пульт с тактовыми кнопками - плата размерами 115*40 мм. 



21 июня 2021

Радио - это когда приходится слушать то, что нравится ведущему.

Портативный FM-приемник

На РадиоКОТе пробегала тема портативного приемника на чипе RDA5807. Сначала это был приемник с применением монохромного ЖК-дисплея 84*48 пикселей "от Нокии 5110", потом автор переделал схему и прошивку под OLED-дисплей 128*64 пикселя на контроллере SSD1306 или SH1106.

Так сложилось, что я на основе схемы автора с небольшими изменениями сварганил достаточно портативный приемник со своими азартными играми и танцовщицами.


Размеры корпуса - 72*39*15 мм

Что приемник умеет:

  • Играть радиостанции в диапазоне 87-108 МГц :)
  • Помнить 48 частот станций
  • Отображать время
  • Режимы приема стерео и принудительное моно
  • Тонкомпенсация (Bass) (отключаемая)
  • Показ данных RDS (отключаемый)
  • Автосканирование диапазона с сохранением найденных станций в списке сохраненных (ранее сохраненные частоты будут удалены)
  • Гибкая работа со списком сохраненных частот - перемещение по списку, вставка и удаление позиции в списке, сохранение текущей станции в список, ручное редактирование частоты
  • Режим сна (автоотключения), 5,10,15,20,30,60,90 минут
  • Выключение приемника при разряде батареи
  • Детектор наличия наушников - выключение приемника при отсутствии наушников

Настройки приемника:

  • Настройка времени
  • Время до отключения дисплея в режиме радио, 2-30 сек
  • Включение/выключение звукового подтверждения нажатия кнопок
  • Настройка реакции на нажатие кнопок при выключенном дисплее - только включить дисплей или еще и выполнить функцию кнопки
  • Калибровка батареи - необходимо выставить текущее напряжение батареи, измеренное вольтметром
  • Низкий уровень батареи - выставляется напряжение батареи, при котором приемник будет отключаться
  • Сброс всех настроек (включая сброс времени и стирание сохраненных частот станций)

13 июня 2021

Окультуривание PANAPLEX'а

 Из ничего, как гласит народная мудрость, можно сделать прическу, салатик и скандал. Это если ты женщина.
А если радиолюбитель, то....

Корпус часов из фоторамки


Еще в апреле появился у меня экземпляр часов на Panaplex-е.

И всё это время эти часы валялись у меня на столе в виде голой платы.

И сильно мешались. В голове медленно нарастал ком идей и мыслей по окультуриванию. 

05 июня 2021

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

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

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

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


01 июня 2021

Имидж ничто - жажда всё!

 Cat waterfall или не дай коту засохнуть.

Версия 31.05.2021г.

(Интернет-фото)                                             

Коты любят свежую водичку. В идеале - проточную.
Отсюда на всяких котофорумах и группах регулярно возникают вопросы - "Я котику наливаю водичку в блюдечко, а этот шерстяной гад пьет из унитаза!!!!!".
Или - "Научился открывать воду в в ванной, что бы попить. Закрывать не научился, слил 60 кубов воды!!!ААААА!!! Убить всех человеков!!!"

Нормальные люди иногда покупают всякие мини-фонтанчики-водопадики.

А такие дурные, как я, начинают творить всякую пургу, которую буржуи называют красивой аббревиатурой DIY.
Почему то у нас это не называют "сделай сам", а пытаются эту аббревиатуру прочитать. "ДиАйВай". Звучит отвратительно. "ДИЙ" - ненамного лучше.

Итак - поилка для кота "сделай сам".

Для поилки нам понадобится водяной насос, немножко рук, немножко радиодеталей и подходящая емкость.


14 мая 2021

Управление нагрузкой 220 вольт

Управление нагрузкой.


Иногда так складывается, что устройство должно включать и выключать какую то нагрузку по линии 220 вольт. Например, тот же блок питания. Или лампочку. Или нагреватель.

Казалось бы, чего проще - берем реле и управляем.

Это хорошо для какой то резистивной нагрузки. Например, для лампочки накаливания или ТЭНа. Хотя с ТЭНом уже сложности. Он мощный. И в момент включения/выключения на контактах реле проскакивает искра.
Такая же сложность возникает, если включать какую то ёмкостную или индуктивную нагрузку. 
В результате недорогие реле сравнительно быстро могут выйти из строя. Ну или нужно брать заведомо мощное (и дорогое) реле.

10 мая 2021

Гори оно всё огнём.... Огненная лампа на WS2812 по мотивам лампы Гайвера


Попала мне в руки матрица из программируемых светодиодов WS2812, 16 х 16 = 256 диодов. На гибкой печатке. "Нужно что то с этим делать" - шепнуло мироздание. Интернет услужливо подсунул большой и успешный проект Алекса Гайвера - Огненную лампу.

Вроде бы все просто - бери и делай. Но я не хотел повторять его проект, плюс мне не совсем нравился эффект пламени, реализованный в лампе Гайвера. И описанные в видео алгоритмы я попробовал, но они не возбудили меня. Штирлиц шел по улицам Берлина. Что то выдавало в нём советского разведчика. То ли фуражка с красной звездой, то ли парашют за спиной...

 Когда то один товарищ из Симбирска сказал - "Мы пойдем другим путем". Ну вот и я решил попробовать придумать свой алгоритм пламени. Получится - будет хорошо, не получится - фиг с ним, передерём Гайверовский. Хотя передерастом быть не хочется, поэтому надо придумать свой.

06 мая 2021

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

 Версия fw 1.07 (30.10.22)


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

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



12 апреля 2021

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

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

Обновлено 12.04.2021

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

 

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

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

07 марта 2021

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


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

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

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

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

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

04 марта 2021

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

 

Внимание! Опубликована вторая версия данного устройства. Более компактная, на OLED-дисплее.

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

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

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

Под это дело подходил описанный на радиокоте "Нанит". Ну - почти подходил.
Хотелось
 а) на датчике СБМ-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.