Рубрика: Мои статьи

Раньше я активно писал статьи для Хабра. Здесь их копии.

Вторая жизнь старых стрелочных индикаторов

Как-то попались мне в руки старые стрелочные индикаторы уровня от старого магнитофона, и я решил вдохнуть в них новую жизнь, сделав из них «хардварные виджеты» для отображения загрузки процессора и оперативной памяти компьютера.

(далее…)

Детектор наличия человека в туалете

Люблю, когда освещение включается автоматически, поэтому стараюсь автоматизировать это везде, где только можно. В коридоре это делается элементарно — датчиком движения. В кладовке можно просто включать свет, когда открыта дверь.

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

(далее…)

Анализ протокола игрушечного вертолёта на ИК-управлении

Недавно друг притащил ко мне простенький игрушечный вертолёт:

Управляется он не по радио, а посредством инфракрасных сигналов. На самом вертолёте стоит обычный ДУ-приёмник, а значит используется несущая частота в 36-40кГц, и не составит труда разобраться в структуре сигналов, которые посылает пульт, чем я и решил заняться.

(далее…)

Создание умного домофона с автоответчиком и Интернет-соединением

Не так давно я чинил домофонную трубку и задумался — а не сделать ли мне небольшую модернизацию? Научить его уведомлять меня через Интернет о том, что кто-то приходил, или даже удалённо открывать дверь с мобильного телефона… А затем я решил — почему бы вообще не сделать автоответчик? На телефонах сейчас автоответчик уже мало кому нужен, а вот знать, кто же ко мне приходил, было бы весьма полезно, особенно при том, что я не привык брать трубку, если никого не жду. Воплотить идею в реальность оказалось не так уж сложно.

(далее…)

Счётчик оборотов мышиного колеса

Сразу скажу, что пост про счетчик скорости вращения колеса белкой я уже читал. Аналогичная задача передо мной встала достаточно давно — было любопытно, сколько же мой мышонок (обычный, живой, не компьютерный!) пробегает и с какой скоростью.

image

Только я решил не изобретать велосипед и взял старый ненужный спидометр от велосипеда, который идеально выполняет эти функции.

За месяц мышонок пробегал около 100км, но мне хотелось знать подробно — сколько именно он пробежал в каждый из дней, в какое время суток он активнее, как его активность меняется в течении жизни? Скорость же меня уже слабо волновала — это почти всегда 1-1.5км/ч. Типичная бессмысленная, но интересная задача, как я люблю.

(далее…)

Создание умного дома и разработка своего протокола

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

Я тут решил забить на всю работу и заняться чем-то для души. Снова взялся за паяльник. Решил автоматизировать дома всё и вся. На старой-то квартире у меня был умный дом или что-то типа того — мог свет в комнате включать через Интернет и всё такое.

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

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

На борту микроконтроллера есть всякие I²C, да UART, но они явно не удовлетворяют условиям. В итоге было решено разработать свой велосипед протокол.

(далее…)