Записи с меткой ‘ATmega328’

Подключение RFID-метки к Arduino UNO

В быту каждый из нас неоднократно встречался с бесконтактными системами контроля доступа. Открываются они не ключами, как все привыкли, а различными карточками или брелоками. Принцип их работы можно увидеть на примере: офисного пропуска, или бесконтактных карточек для прохода в метро. Система для работы устройств такого типа называется —  RFID. Что же это такое? Если коротко, то RFID (радиочастотная идентификация) — это способ автоматической идентификации объектов, в котором посредством радиосигналов считываются или записываются данные, хранящиеся в так называемых транспондерах, или RFID-метках. Любая RFID-система состоит из считывающего устройства (считыватель, ридер) и транспондера (RFID-метка).

Внешний вид RFID- модуля (RC522):

7b7496dd6b604459901549d4b2903fe8

Принцып работы:

Принцип работы устройства довольно прост. В основе технологии лежит использование энергии электромагнитного поля, что позволяет считывать и записывать данные на специальное устройство – RFID метку. Следует учесть что в самой метке нет никакого источника питания, образу магнитное поле одновременно служит и источником питания и каналом связи. Полученная информация может дополняться или перезаписываться. В памяти метки содержится информация об уникальном идентификационном номере и данные о самом объекте. В свою очередь при считке узнав номер, производится дальнейшая идентификация. Карточки могут нести в себе от нескольких десятков байт до нескольких килобайт данных (в том числе — уникальный серийный номер).

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

Управление Servo — приводом на Arduino UNO

Сервоприводы — широко используются в робототехнике, заводских и хоббийных девайсах для управления движениями различных исполнительных узлов, в ЧПУ станках, 3D-принтерах, авиамоделировании и не только. За счет малой стоимости, большому моменту удержания и сравнительно простому управлению — пользуются большой популярностью. Именно поэтому, сегодня хочу поднять вопрос устройства сервопривода, его подключение к плате  Arduino UNO и написание программного кода в среде разработки Arduino IDE.

6cbcfb7bbdc72ba36170cde54b77371d

Сервопривод — это прежде всего привод, который может изменять положение выходного вала на заданный угол и удерживать это положение, но при этом будет необходима плата с контроллером (находится внутри корпуса сервопривода) для его управления. Также имеет сравнительно большой момент удержания за счет наличия понижающего редуктора, который выполнен из шестеренок (пластиковых или металлических). Отличие от обычного коллекторного двигателя заключается в возможности точно задать (в градусах) положение, в которое встанет вал.

В корпусе сервопривода находится:

—  коллекторный двигатель

— набор шестеренок (пластиковых или металлических)

— плата с электроникой (контроллером)

— узел обратной связи  (потенциометр)

Подключение сервопривода к плате Arduino UNO:

Безымянный

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

Тактовые кнопки их устройство и подключение к Arduino

Работа с кнопками рассматривается в Arduino — курсах, как правило, на первых уроках, у меня выходит немножко не так. Сначала надо понять и разобраться с тем что такое Arduino, изучить устройство портов ввода/вывода, ну и разобрать основные функции для работы с портами. Со всем этим удачно справились, теперь переходим непосредственно к основному вопросу — устройство тактовой кнопки, методы подключения к Arduino и написание программного кода.

butt_minismd_side2x4_med

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

htmlconvd-StdrmQ_htmіl_m559b8b2d

 

Тактовая кнопка не имеет возможности оставаться в определенном положении (не имеет фиксации), в связи с этим она и получила такое название. Сфера применения тактовых кнопок довольно широка: клавиатуры, пульты, панели для управления различными электронными устройствами на микроконтроллерах и тд. Давайте, в качестве примера, представим, что у нас есть устройство: с LCD — дисплеем в качестве вывода информации , платой Arduino UNO в качестве устройства обработки информации и парочка исполнительных устройств. Поставлена следующая задача: включать/выключать нагрузку с последующим выводом состояния на LCD — дисплей. И тут нам явно не хватает органа управления, в качестве него и будут использованы тактовые кнопки.

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

Подключение LCD-дисплея к Arduino и вывод информации

При разработке устройств на микроконтроллерах часто приходиться сталкиваться с выводом информации. И не всегда получается ограничиться возможностями семи сегментных индикаторов или матриц. LCD-дисплеи на базе контроллера HD44780 — одни из самых простых и доступных на рынке. Их применяют как в простых, собранных самостоятельно, так и в промышленных устройствах (кофе машины, компостеры, и тд). В данной статье расскажу как подключить LCD-дисплей к Arduino и вывести на него информацию.

Распиновка выводов дисплея:

VSS — Питание контроллера (-)
VDD — Питание контроллера (+)
VO — Управления контрастом
RS — Выбор регистра
R/W — Чтение/запись
E — Еnable (строб)
DB0-DB3 — Младшая тетрада 8-битного интерфейса
DB4-DB7 — Старшая тетрада 8-битного интерфейса
A — Анод (+) подсветки дисплея
K — Катод (-) подсветки дисплея

4sNAzwsaLkg (1)

При стандартном подключении LCD-дисплея к Arduino приходиться использовать — 7 портов для 4-битного или же — 11 портов для 8-битного режима . Чтобы уменьшить количество использованных портов ввода/вывода Arduino при подключении к LCD, будем применять расширитель портов. При подключении LCD через I2C расширитель количество используемых портов сокращается до — 2 (линии — SCL, SDA) и две линии питания GND, VCC. Данные модули не дорогие, не требуют большого числа выводов и весьма доступны.

Gw8F3REHJEI.

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

Программируем ARDUINO на Си

                                                                  ArduinoUnoFront

Наверное у каждого желающего создавать свои устройства на микроконтроллерах возникали трудности. То программа не работает как надо, то программатор микроконтроллер не прошивает  — многим, думаю, это знакомо. Решение подобного рода проблем не заставило себя долго ждать. В массы была выпущена отладочная плата  ARDUINO (версий NANO, UNO, PRO MINI и тд.), которая упрощала начало работы с микроконтроллерами и писать код на языке Processing/Wiring было проще.

ARDUINO — представляет собой небольшую плату на которой уже выполнена разводка питания, линий портов ввода/вывода и линий программирования. Есть возможность программирования и общения через терминал  с ПК. В общем не мне вам рассказывать.

                             ARDUINO_V2

Но поработав в среде ARDUINO IDE — стает заметно что потенциал и ресурсы микроконтроллера используются не полностью. Толкового способа это исправить или как-то обойти нет. Как быть в такой ситуации и что лучше предпринять — дело конечно сугубо личное, но… Не спешите забрасывать свою отладочную плату в ящик и покупать что-то другое. Компания Atmel в ноябре 2015 года выпустила AVR Studio 7.0, в которой добавлена поддержка бутлоадера Arduino и исправлены ошибки которые были в младшей версии. Теперь в среде разработки AVR Studio можно писать программы на языке С, С++, Assembler и загружать их непосредственно в Arduino. Что значительно улучшает положение. Теперь разберемся что и как для этого нужно сделать.

Если у вас уже установлена среда Arduino IDE версий 1.5 / 1.6 и среда AVR Studio версий 6.2 / 7.0, то первые два пункта можно пропустить.

I. Установка среды Arduino IDE 1.6

Среду советую скачать на официальном сайте. Тест проводился с версиями 1.5 и 1.6, все хорошо работало. Возможно использование старых версий ситуацию не ухудшит и все будет работать, но опробовать это придется самостоятельно.

II. Установка среды AVR Studio 7.0

Скачиваем на сайте AVR Studio версии 6.2 или 7.0 и устанавливаем на ПК. После необходимо будет пройти регистрацию, чтобы потом установить расширение для Arduino. В  AVR Studio версии 6.1 — корректной работы с плагином не получилось.

III.Установка расширения — Arduino

Для установки расширения необходимо войти в меню Tools и перейти по пункту — Extension Manager. После чего должно открыться окно:

tools

Выбираем плагин «Arduino IDE for Atmel Studio 7.0″ и нажимаем на кнопку Download. Далее вводим логин и пароль, который создавали при регистрации в AVR Studio.

password

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