Ардуино в моделизме

Post date: Oct 20, 2009 4:46:42 AM

Ардуино - лучшая платформа для начинающих

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

И вот наконец то, мне подвернулось чудо инженерной мысли и современных технологий, лишенное недостатков ставящих жирный крест в попытках начинающих - Ардуино.

            • Итак, что это такое. Это недорогое устройство (около 700р на момент написания этой статьи), которое можно подключить к компьютеру через USB порт, в комплект бесплатного программного обеспечения (загружается из интернета) которого входит:редактор программного кода (с функциями компиляции и загрузки кода в контроллер),

            • приложение просмотра передаваемых через коммуникационный порт данных,

            • богатая коллекция примеров использования.

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

  • в качестве многоканального интерфейса ввода - вывода для компьютера (програматор, порты ввода вывода для сбора информации с датчиков или управления внешними нагрузками)

  • в качестве автономного устройства, работающего без компьютера (контроллер робота, автопилот для беспилотного летательного аппарата)

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

В качестве внешних устройств могут быть различные датчики, устройства коммуникации, хранения данных, и исполнительные устройства работающие по протоколам шин 1wire, serial, i2c итд.

Основные типы подключаемых устройств:

  • ЖК дисплеи, втч графические цветные

  • Сенсоры измерения расстояния (ультразвук),

  • Сенсоры положения: акселерометр, гироскоп, компас, GPS навигатор

  • Сервоприводы,

  • шаговые двигатели,

  • SD-карту памяти с файловой системой FAT

  • Сетевой адаптер (проводной или беспроводной wifi) с поддержкой функций вебсервера

  • другие средства связи Xbee, GPRS, RS232, UART, RS-485

  • Любые датчики 1-wire и I2C (температура, влажность)

  • возможность использования в качестве программатора для других микроконтроллеров и устройств

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

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

такое решение позволит вам собрать пробные схемы без использования паяльника.

Основные характеристики

  • Однокристальный микроконтроллер Atmel ATmega168 или ATmega328

  • Напряжение питания 5 V (возможно подключение внешнего источника и питание от USB)

  • Линий цифрового ввода/вывода 14 (втч 6 позволяют устанавливать ШИМ сигнал)

  • Линий аналогового ввода 8

  • Энергонезависимая флеш память 16 KB (ATmega168) или 32 KB (ATmega328) из которых 2 KB использует загрузчик платформы Ардуино

  • Оперативная память 1 KB (ATmega168) or 2 KB (ATmega328)

  • Частота процессора 16 MHz

Соответствие выводов, портов и пинов ардуино atmega328

Port B имеет разряды с B0 по B5

Port C имеет разряды с C0 по C5

Port D имеет разряды с D0 по D7

Желтым отмечена нумерация для digitalWrite()

Красным для analogWrite()

Arduino ATmega328 TQFP Pinout

Arduino ATmega328 DIP Pinout

Это интересно:

об ардуино в википедии

одна из самых маленьких плат - ардуино нано описание, схема характеристики (Английский язык) офф. сайт

страница загрузки программного обеспечения (Английский язык) офф. сайт

каталог русскоязычных ардуино ресурсов

наиболее выгодные цены на макетные платы и контроллер в Москве предлагает терраэлектроника

Самый масштабный проект на ардуино платформе - ardupilot-mega