Мостовой драйвер L6201-L6203

Компоненты
Если нужно легко и просто запитать мощный двигатель постоянного тока при помощи ШИМ, то одно из решений — использовать интегральный мостовой драйвер.
Микросхема L6201-L6203 представляет собой мост на базе MOSFET с драйверами и обвязкой по питанию.

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

Список частот широко испольуемых кварцев

Компоненты
Оказывается, в Википедии есть отличная таблица с частотами широко используемых кварцев. В следующий раз, когда вы найдете у себя кварц с частотой, скажем 14.31818МГц, узнать откуда он был выдран и для чего нужна именно такая частота будет намного легче.

Таблица широко используемых кварцев

Вывод информации на семисегментный индикатор

Задача вывода на семисегментный индикатор относительно нетривиальна.
Я поставил перед собой следующую задачу по выводу на семисегментный индикатор:
  • Оформить библиотеку в отдельный класс;
  • Дать возможность самостоятельного выбора базы выводимого числа;
  • Дать подсветку точки;

Есть парочка недочетов в моем решении, но обо всем прошу под кат

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

Защита от дребезга механического энкодера

На плате отладочной платы RLN Electro имеется энкодер. Удобная штука для навигации, вот только подход к нему несколько иной, нежели к описанному ЗДЕСЬ энкодеру. Ибо механический он, дребезгу подвержен.
Сам дребезг выглядит вот так вот:

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

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

Как выглядят полиморфные объекты в памяти

Когда-то, я интересовался тем, как объекты С++ располагаются в памяти но быстрый гуглеж ничего не нашел. Недавно, я набрел на статью по теме и, думаю, она может помочь таким как я. Это — ее свободный перевод.

Полиморфизм

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

UTC: управляющая программа/прерыватели

Блог проекта UTC
Прерыватели используются для управления теслой и создания разных эффектов (к примеру, проигрывания музыки молниями).

В последнее время, прерыватели стали чуть ли не важнее самой силовой части. Соответственно, в UTC особое внимание уделено прерывателям: кроме входов для внешнего прерывателя, в UTC есть еще midi-прерыватель и довольно гибкий внутренний прерыватель.

Подробнее о них — под катом.

UTC Controller/interrupter documentation

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

Оповещатель о появлении сетевого напряжения

Blog by bsvi
У нас довольно часто пропадает электричество, и, для борьбы с этим явлением, у нас есть генератор. Генератор включается и выключается в ручную. Но как узнать, что электричество появилось и стоит отключить генератор? Для этого я сочинил простой оповещатель.

Оповещатель

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

Форсирование энкодера

С одной стороны, определение направления вращения энкодера является достаточно простой задачей. Многие ссылки в интернете говорят нам о том, что «Каждый раз, когда сигнал А переходит от положительного уровня к нулю, мы считываем значение выхода В. Если В в этот момент находится в положительном состоянии, значит энкодер вращается по часовой стрелке, если В нуль, то энкодер вращается против часовой стрелки.»
Да, это верно для энкодеров а ля «потенциометр», используемых на приборной панели, однако при применении энкодера в качестве датчика вращения так небрежно относиться к данным с него — непозволительная роскошь.

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

Организация диспетчера задач посредством указателей на функции

Дисклеймер: Этот код я написал больше двух лет назад, когда решил написать новый вариант своей системы МенюОС, чтобы применить ее в одном проекте. Проект не был реализован, а старой менюОС вполне хватает до сих пор. За исключением одного НО: для проекта, имеющего помимо пары запускаемых из меню приложений еще некоторые фоновые функции, МенюОС становится эталоном быдлокодинга и частоколом из костылей.

Понадобилось мне организовать изменяемый список задач, которые необходимо запускать через определенные промежутки времени. И тут я вспомнил про тот самый старый проект. Открыл, и был слегка удивлен — для кода того времени функции оказались настолько абстрагированы друг от друга, что без изменения запустились и заработали на новом месте. Ну а поскольку менюОС я распространяю под LGPL, то публикую код здесь.

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

Работа с RLN Electro в AVR Studio без программатора

Дисклеймер: Не факт что я открою что-то новое в этой статье, но этот метод в русскоязычных интернетах мне не попадался, хотя я в них я особо и не ищу :)

Все-таки, полезная штука этот AVR Studio 5. И код написать позволит, и подсветку сделает, и дополнительные тулзы подключит. Собственно о том, как я обычно работаю с отладочной платой RLN Electro (да и не только с ней) речь и пойдет.

Задача такая — есть устройство с USB-подключением к компьютеру и надо наладить загрузку прошивки через последовательный порт.

«В чем проблема?»,- Спросите вы? Берем бутлоадер, зашиваем его в камень, берем avrdude, пишем команду в консоли, или используем некую графическую оболочку, да и дело с концом. Ну да, только AVR studio предлагает все это слегка автоматизировать.

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