Arduino

Платформа Arduino UnoНа сегодняшний день Arduino является, пожалуй, самой популярной аппаратной платформой для обучения, прототипирования и создания разного рода проектов начального уровня. В отличие от PIC микроконтроллеров, Arduino имеет простой язык программирования высокого уровня и прозрачный способ загрузки программ. Благодаря своей простоте и дешевизне, эта платформа быстро завоевала сотни тысяч поклонников по всему миру. Именно Arduino дала старт стремительному проникновению идеи микроконтроллерного управления в массы.

Аппаратная часть

Традиционно, в основе большинства Arduino лежит микроконтроллер с архитектурой AVR. По сути, это тот же RISC (Advanced Virtual RISC), но немного измененный. Единственная компания, которая выпускает такие чипы - это Atmel.

Самые простые версии Arduino представляют собой платы с уже распаянным микроконтроллером Atmel (реже ARM Cortex), регулятором напряжения и всей необходимой обвязкой. Все выводы платформы выведены на края платы, и как правило уже оборудованы разъемами.

Оригинальные платы Arduino производит только компания Smart Projects. На текущий момент имеется 15 версий Arduino, различающихся по объему оперативной памяти, flash-памяти, тактовой частоте и наличию USB интерфейса. К наиболее известным можно отнести:
  • Arduino Nano 3.0
  • Arduino Uno R3
  • Arduino Duemilanove
  • Arduino Mega2560 R3
  • Arduino Diecimila
Например, Arduino Uno базируется на микроконтроллере ATmega328. Имеет 15 GPIO портов, включая 6 ШИМ. Микроконтроллер снабжен 32Кб Flash-памяти и 2Кб RAM. Тактовая частота процессора 16МГц

Версия же Nano отличается только количеством аналоговых входов (их 6 вместо 8) и типом USB-serial интерфейса. При этом, Nano гораздо компактнее чем Uno. Ниже представлена таблица сравнения 14 из 15 версий Arduino.



Программирование Arduino

Для программирования Arduino не требуется внешний программатор, так как в микроконтроллере уже зашит загрузчик (BootLoader). Загрузка программы в Arduino осуществляется посредством последовательного порта (RS232), либо при помощи USB интерфейса. Таким образом, чтобы запрограммировать Arduino, достаточно подключить плату к персональному компьютеру через USB порт.

Программирование осуществляется на языке Processing/Wiring, который имеет синтаксис схожий с С++. Типичная программа на таком языке выглядит следующим образом.

Пример программы для Arduino

int thermoPin = A7;
int ledPin = 2;
int th_raw, th;

void setup() {
    pinMode(ledPin, OUTPUT);  
    Serial.begin(9600);
}

void loop() {
    th_raw = analogRead(thermoPin);    
    th = (th_raw/1024.0)*3.3*1000.0/10.0;
    Serial.println( th );
    delay(500);
}

Для написания программ используется свободно-распространяемый редактор Arduino IDE.


Клоны Arduino

Поскольку "Arduino" является зарегистрированным товарным знаком, сторонние производители вносящие изменения в архитектуру платформы используют другие обозначения для своих продуктов. Клоны совместимы с Arduino программно и аппаратно, что означает они могут использовать программы написанные для Arduino и использовать соответствующие дополнительные модули (Shields). Список клонов достаточно велик и постоянно растет: серия Freeduino (SB, Max Serial, Through-Hole), CraftDuino, Seeeduino, Roboduino, и т.п.

Имеются также специализированные платформы на основе Arduino архитектуры:
  • DFRobotShop Rover - платформа для роверов, включающая H-мост;
  • ArduPilot - автопилот для самолетов, квадрокоптеров, лодок с поддержкой GPS и стабилизации на основе акселерометра и гироскопа;
  • Lightuino - платформа для управления LED-ос;
  • и т.п.
Comments