Описание Expander Shield

Expander Shield – оригинальный дополнительный модуль, предназначенный для увеличения количества портов ввода/вывода микроконтроллеров на базе платформы Arduino, а также других микроконтроллеров, используя расширители портов с SPI или I2C интерфейсом.

[cryout-multi][cryout-column width=»1/2″]ExpanderShield_I2C_1_smallExpanderShield_SPI_2_small  [/cryout-column]Основным элементами дополнительного модуля Expander Shield являются две микросхемы MCP23S17 или MCP23017 (два 16-разрядных расширителя портов ввода/вывода с SPI или I2C интерфейсом, соответственно), позволяющие добавить четыре 8-битных порта ввода/вывода, то есть 32 дополнительных «ноги». [cryout-column width=»1/2″][/cryout-column] [/cryout-multi]

Читать полный текст

Описание LCD Keypad Shield

LCD Keypad Shield – оригинальный дополнительный модуль, организующий работу с ЖК индикаторами, совместимыми с HD44780 интерфейсом, и пятикнопочной клавиатурой по шине SPI или I2C.

[cryout-multi][cryout-column width=»1/3″]LCDKeypadShield_1_small    [/cryout-column] [cryout-column width=»1/3″]LCDKeypadShield_SPI_1_small[/cryout-column] [cryout-column width=»1/3″]LCD_WH1602B-YYH-CTK_PLS_small [/cryout-column] [/cryout-multi]

Модуль основан на микросхеме MCP23S17 или MCP23017 (16-разрядный расширитель портов ввода/вывода с SPI или I2C интерфейсом, соответственно).

Читать полный текст

DS18B20 цифровой термометр (лайт версия)

[cryout-multi][cryout-column width=»1/4″]ds18b20_ds1820_ds18s20_pic_2 [/cryout-column] [cryout-column width=»3.4″]Рассмотрим как при помощи Arduino считывать показания с цифрового датчика температуры DS18B20. В настоящий момент м/с DS18B20 фирмы Dallas является наиболее распространенным и доступным цифровым датчиком температуры. Работает он по шине 1-wire. Даташит датчика: DS18B20[/cryout-column] [/cryout-multi]

Читать полный текст

RGB-Martix

[cryout-multi][cryout-column width=»1/3″]

RGB_LED_Matrix_thmb-250x244

[/cryout-column] [cryout-column width=»2/3″]Матрица имеет 32 входа: 8 анодов, 8 катодов красного цвета, 8 зеленого и 8 синего. При этом для управления матрицей будут задействованы всего 3 выхода на Arduino. Никакой магии тут нет, а есть 4 сдвиговых регистра 74HC595. Один регистр дает нам 8 выходов, так как у нашей матрицы 32 входа, в проекте  использована техника каскадирования сдвиговых регистров. Читать полный текст

Операционные системы для AVR

Программируя микроконтроллеры AVR рано или поздно можно столкнуться со следующей проблемой — алгоритм становится слишком сложным и дальнейшее развитие программы оказывается довольно трудной задачей. Начинается путаница в коде. Для случаев, когда микроконтроллер исполняет множество параллельных задач необходима определенная тактика действий при организации структуры кода. Одним из выходов из данной трудности является использование операционных систем. Читать полный текст

Делаем ISP-программатор из Arduino

Думаю, ни для кого не секрет, что первоначально программу в микроконтроллер заливают при помощи специального устройства — программатора. Конечно, ардуинщикам обычно не нужно об этом беспокоиться — у них есть bootloader (загрузчик), заранее прошитый в микроконтроллер, и прошивку он забирает по UART через COM-порт или через USB. Но чтобы прошить этот загрузчик или другую прошивку в «чистый» МК, нужен программатор. Читать полный текст

Протокол 1-Wire и iButton

Практическое программирование Arduino — протокол 1-Wire и iButton

Сегодня мы познакомимся с интересным протоколом 1-Wire и даже сразу попробуем поработать с устройством, использующим этот протокол.
Это однопроводной интерфейс, разработан фирмой Dallas Semiconductor (ныне MAXIM) в конце 90-х годов.

Читать полный текст

О спойлерах

Вариант на HTML:

Код описания спойлера


<div class="spoil">
<div class="smallfont">Текст описания спойлера<input type="button" value="Развернуть" class="input-button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')
[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Свернуть'; }
else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Развернуть'; }"/>
</div>
<div class="alt2">
<div style="display: none;">
---текст внутри спойлера...---
</div>
</div>
</div>

SPI, Ардуино.

SPI — популярный интерфейс для последовательного обмена данными между микросхемами. Интерфейс SPI, наряду с I²C, относится к самым широко-используемым интерфейсам для соединения микросхем. Изначально он был придуман компанией Motorola, а в настоящее время используется в продукции многих производителей.

шина SPI

Шина SPI

Читать полный текст

Зaдержка на Arduino без delay

Иногда вам нужно делать две вещи одновременно. Например, вы можете мигать светодиодом (или некоторые другие требовательные к процессорному времени функции) пока считывается нажатие кнопки или другие данные. В этом случае, вы не можете использовать delay () , или вам придется  остановить все остальные программы, а индикатор моргнул. Программа может пропустить нажатие кнопки, если она происходит во время delay (). Этот скетч показывает, как мигать индикатором без использования delay () .  Читать полный текст