цифровая электроника
вычислительная техника
встраиваемые системы

 

Программная эмуляция интерфейса I2C

Автор: Mike(admin) от 2-03-2014, 11:08

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


Шина I2C

Код на языке C с комментариями приведен под катом.

Стек picoTCP

Автор: Mike(admin) от 28-02-2014, 04:00

Поскольку Интернет Вещей становится все популярнее, малым встраиваемым системам нужен компактный и функциональный стек TCP/IP. Компания TASS Belgium NV разработала такой стек, назвав его picoTCP.


picoTCP

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

Датчик робота, движущегося вдоль линии

Автор: Mike(admin) от 26-02-2014, 12:05

Этот датчик для перемещающегося по линии робота представляет собой очень простой, компактный инфракрасный датчик приближения малой дальности действия (5-10 мм), построенный на основе стандартного отражающего оптосенсора CNY70 (IC1). Робот движется вдоль черной линии на белой поверхности, и в данном случае такой датчик позволяет выравнивать движение шасси.


робот, движущийся вдоль линии

IC1 содержит в себе инфракрасный светодиод и фототранзистор. Светодиод излучает невидимый инфракрасный свет на поверхность под роботом, а фототранзистор работает как приемник этого излучения. Как правило, темная поверхность отражает меньше света, чем светлая поверхность, поэтому при нахождении датчика над светлой поверхностью через транзистор потечет больше тока. При обнаружении отраженного света ток течет через R2 на землю, благодаря чему появляется падение напряжения на базе T1, что в свою очередь заставляет этот транзистор проводить ток. В итоге начинает проводить транзистор T2, и индикаторный светодиод D1 загорается. Конденсатор C2 работает как минибуфер.

Браузерная среда разработки ASM80

Автор: Mike(admin) от 24-02-2014, 06:51

ASM80 представляет собой интегрированную среду разработки, предназначенную для написания программ на ассемблере для 8-разрядных процессоров вроде 8080, 8085, Z80 и 6502. ASM80 состоит из двух основных частей: редактора+ассемблера и отладчика. Эта среда разработки является браузерной, то есть вы можете работать с ней на любом компьютере, где установлен современный браузер.


asm80

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

Простой алгоритм фильтрации зашумленных данных

Автор: Mike(admin) от 21-02-2014, 12:10

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


зашумленные данные

С помощью данного метода могут быть обработаны до шестнадцати 12-битных выборок, используя только четыре 16-битных ячейки ОЗУ. При 10 выборках в качестве деление представляет собой сдвиг на 3 разряда.

Очередной клон Flappy Bird. Теперь на Arduino!

Автор: Mike(admin) от 19-02-2014, 06:16

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


Flappy Bit

Теперь же в списке платформ, подвергнутых атаке клонов, имеются не только айфоны и андройдофоны, но и Arduino! Энтузиаст под ником Dan200 создал простейшую игру Flappy Bit. Концепция игры та же - управляем объектом одним нажатием и следим, чтобы он не врезался в препятствие. Только вместо полноценной птички здесь мы имеем один пиксель, поскольку экран представляет собой светодиодную матрицу 8x8. Но это не сильно мешает наслаждаться самой игрой. Видео с игровым процессом под катом.

Пайка SMD-компонентов … на горячем песке!

Автор: Mike(admin) от 17-02-2014, 07:20

Нужно запять SMD-компонент, но нет инструментов? Нет проблем! Оливер Крон (Oliver Krohn) придумал метод пайки на горячем песке.


пайка на песке

Для нагрева керамического горшка с песком он использует горелку Бунзена. В итоге песок в данном случае выступает вроде нагревательной плиты. Этот довольно уникальный метод можно даже улучшить, например, поместив в песок температурный датчик. Как Оливер паяет на песке, смотрите видео ниже.

Датчик воды с подключением нагрузки

Автор: Mike(admin) от 15-02-2014, 08:10

Современные системы безопасности дома от различных угроз, а также системы типа "Умный дом", должны оповещать своего хозяина не только о непрошеных гостях, но и о коммунальных проблемах. К наиболее распространенным первоочередным таким проблемам можно отнести утечку воды. Для детектирования такой опасности служат датчики воды, которые своевременно могут сообщить об угрозе, чтобы интеллектуальная система, как минимум, оповестила хозяина, а еще лучше устранила угрозу, например, закрыв кран или еще каким-либо образом остановила подачу воды. Такие датчики могут применяться еще в качестве сенсоров влажности почвы, чтобы вовремя организовывать полив растений.


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


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


датчик воды

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

ATmega и встроенный датчик температуры

Автор: Mike(admin) от 13-02-2014, 07:45

Интересной особенностью микроконтроллеров серии ATmega является встроенный датчик температуры, показания которого можно прочитать, используя внутренний АЦП. На текущий момент среди МК ATmega насчитывается 18 представителей с датчиком температуры: AT90PWM161, AT90PWM81, ATmega168A, ATmega168P, ATmega168PA, ATmega16M1, ATmega16U4, ATmega328, ATmega328P, ATmega32M1, ATmega32U4, ATmega48A, ATmega48P, ATmega48PA, ATmega64M1, ATmega88A, ATmega88P и ATmega88PA.


Arduino Leonardo

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

Verilog. Базовый курс. Часть VI

Автор: Mike(admin) от 11-02-2014, 13:21

Структура If/Else


Последний основной момент Verilog, который мы разберем в рамках данного базового курса, это структура If/Else. При корректном использовании она представляет собой крайне полезный инструмент.


verilog

Сначала рассмотрим несколько правил, которые нужно соблюдать в отношении структуры If/Else в Verilog: