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

 



Эмуляция операционной системы Commodore 64 на Raspberry Pi

Автор: Mike(admin) от 16-04-2014, 05:45

В свое время персональный компьютер Commodore 64 был очень популярен. По всему миру таких компьютеров было продано около 27 миллионов штук. Поэтому один энтузиаст решил превратить Raspberry Pi в Commodore, воссоздав почти оригинальную операционную систему старого компьютера.


Commodore Pi

Новая ОС получила название Commodore Pi. Помимо стандартных функций старой ОС Commodore Pi умеет работать с Ethernet, USB, GPIO, в общем, всем тем, что есть у Raspberry Pi, включая HDMI-выход.

Веб-интерфейс для LaunchPad

Автор: Mike(admin) от 8-04-2014, 07:20

Интернет вещей развивается стремительными темпами. Уже грех не использовать эту технологию в своих разработках. И первый шаг на пути к Интернету вещей очевиден – создание веб-интерфейса для своего проекта.


Веб-интерфейс для LaunchPad

Но если вы никогда не делали такого, то эта задача может показаться довольно трудной. В помощь новичкам энтузиаст Jaspreet выложил свой проект с платой LaunchPad на основе микроконтроллера MSP430 и веб-интерфейсом.

Разблокировка компьютера с помощью NFC

Автор: Mike(admin) от 5-04-2014, 06:33

Печатать логин и пароль для разблокировки компьютера может быть утомительным занятием, особенно если вводимые данные длинные. Упростить сию задачу можно с помощью Arduino Leonardo и шилда NFC.


Разблокировка компьютера с помощью NFC

В данном случае Arduino считывает уникальный идентификатор карты NFC и после получения верного номера использует эмулятор клавиатуры для ввода пароля.

Программный полудуплексный UART для AVR, поддерживающий работу с одним выводом

Автор: Mike(admin) от 19-03-2014, 11:38

Большинство микроконтроллеров ATtiny не имеют аппаратного модуля UART из-за ограниченного количества выводов. Ядра Arduino tiny используют класс TinyDebugSerial, который обеспечивает только передачу данных, для приема данных нужно писать дополнительный код. Поэтому ниже предлагается компактный код и простая схема для организации программного UART, поддерживающего работу с одним выводом.


Программный полудуплексный UART для AVR


Простой Arduino-счетчик на 7-сегментном индикаторе

Автор: Mike(admin) от 17-03-2014, 06:41

Это простой проект на Arduino, заключающийся в создании счетчика на обычном 7-сегментном индикаторе с общим катодом. Код, приведенный ниже, позволяет при нажатии кнопки запускать счет от 0 до 9.


7-сегментный индикатор

Вся схема может быть запитана от стандартной 9-вольтовой батарейки или от любого Arduino-совместимого блока питания.

Звуковая сигнализация на Arduino

Автор: Mike(admin) от 5-03-2014, 04:51

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


Сигнализация на Arduino

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

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

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

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


Flappy Bit

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

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:



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

Автор: Mike(admin) от 9-02-2014, 08:47

Поведенческое описание схем на Verilog


До сих пор мы рассматривали только структурную логику на Verilog, когда поведение схемы определяется только один раз, и эта схема не изменяется в зависимости от входных состояний (меняется только выходное значение в соответствии со спроектированной цепью). Поведенческая логика позволяет вам изменить поведение схемы на основе информации о сигналах на входах. Идея этого подхода напоминает циклы с условиями и конструкции типа if/else/case в C/C++.


Always-блоки


Сочетание слов «Verilog» и «поведенческий» у знающих людей вызывает ассоциацию с always-блоками. Always-блок представляет собой кодовую структуру, которая переопределяется всякий раз, когда изменяется состояние триггера. Что это значит? Рассмотрим простой always-блок с двумя входами sw0 и sw1.