Адовая колоночка к мобильнику из говна и палок.

Итак, это снова я. Сегодня будет отжиг в виде демонстрации мегаколоночки к мобильничку для прослушивания музычки во время мойки машин. КПК у меня тихий, в наушниках особо не поработаешь, поэтому была идея создать нечто этакое, что завоюет сердца миллионов. Идея была, но получилось как всегда- рассадник маразма и полёта технической мысли. Но работает, что доставляет. :) Итак, выбор усилителя.
Остановился я на микросхемке TDA2822M, которая является маломощным двухканальным усилителем.

Читать дальше

Макетка STM8 для беспаечной платы

Чтоб уютненький не пустовал, напишу про успешный ЛУТ, пайку LQFP и STM8 — очень кошерные вещи :). Сразу хвалюсь результатом:
Макетка


Читать дальше

Начинающим электронщикам. Мартовские тезисы)

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

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


Читать дальше

Термометр LM75A - описание.

Гость нашей сегодняшней программы — LM75A. Цифровой термометр с I2C выходом. По характеристикам похож на DS18b20. Стоит раза в два дешевле. Правда, наш градусник бывает только в восьминогих корпусах, а это большое западло.



Работа с этим датчиком довольно проста. Если нужно просто получать значения температуры, то достаточно тупо читать из него данные. Никаких лишних телодвижений (респект разработчикам за продуманые «настройки по умолчанию»). Здесь я постараюсь описать не только работу с датчиком (это почти-что перевод даташита), но и возможные баги и способы их убийства.

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



Читать дальше

Как я обошелся с верхними регистрами

Не знаю насколько пригодится эта придумка, но мне показалось удобным:

Мы имеем 10 регистров, от R16 до R25, которые «лучше чем остальные», ибо в них можно пихать
константы. То есть их удобно использовать как промежуточные при вычислениях. А чтобы не сохраняться в стеке при вызове прерываний, можно отдать 4 регистра на откуп обработчикам прерываний — то есть просто условиться для себя, что вот эти 4 регистра юзаем ТОЛЬКО в прерываниях.

Вот так:

.def TMPI0 = R16;
.def TMPI1 = R17
.def TMPI2 = R18
.def TMPI3 = R19

Остальные 6 я поделил так

Вот так:

.def TMP0 = R20; TMP0-TMP3 — для всяких 8-битных вычислений
.def TMP1 = R21;
.def TMP2 = R22; TMP_LOL — TMP_HOH — для 16 и 32 битных,
.def TMP3 = R23;
.def TMP_LOL = R22;
.def TMP_HOL = R23;
.def TMP_LOH = R24;
.def TMP_HOH = R25;
.def NULL = R5; ну и нолик вечный, инициализируем нулем в начале, и более
на запись не трогаем.

Вряд ли я открыл Америку, скорее изобрел очередной велик, но определенный порядок в голове и в коде появился. А то все эти LDI R16, CPI R21, R22 — очень тяжелочитабельны.

Модернизация освежителя воздуха Air Wick

Модернизация освежителя воздуха Air Wick



Освежитель воздуха Air Wick изначально оснащен блоком управления, обеспечивающим периодическое нажатие на баллончик с аэрозолем через фиксированные интервалы времени, а также по нажатию на кнопку. Блок управления оснащен переключателем, позволяющим выбрать время между срабатываниями освежителя (9, 18 и 36 минут). Переключатель также позволяет выключить освежитель.

Цель модернизации – повышение экономичности освежителя. При периодическом режиме впрыскивания аэрозоля с интервалом в 36 минут получается 40 срабатываний освежителя в сутки, а при интервале в 9 минут – 160 срабатываний. При установке освежителя в туалетной комнате, которая бОльшую часть суток пустует, такой режим работы крайне расточителен.



Читать дальше