Arduino Uno R3 Development Board

Микросхемотехника и программирование всегда были мне интересны. Какое то время назад увлекся покупками мелочевки на AliExpress. Одной из первых стала уже не новая аппаратно-программная платформа Arduino на базе восьмибитных микроконтроллеров AVR фирмы Atmel. А именно была приобретена Arduino Uno R3 Development Board на основе ATmega328.
arduino_uno_r3_clone
В отличие от оригинальной платы китайские товарищи сэкономили на втором микроконтроллере, который выполняет роль программатора и связи с компьютером. Тут это реализовано посредством USB-to-Serial микросхемы CH340G. На плате 14 двоичных входов/выходов (из них 6 с ШИМ), 6 аналоговых входов, USB коннектор, коннектор питания, кнопка сброса, ICSP коннектор для внутрисхемного программирования, two-wire interface (контакты SCL и SDA). Питание 6..20В (рекомендованное 7..12В), выше разъема питания виден low-drop стабилизатор AMS1117 на 5В. Плата с не длинным USB проводом в комплекте обошлась мне в 266р.
Для написания «скетчей» (программ) используется IDE среда разработки с понятным интерфейсом, которую можно скачать на официальном сайте.
Итак, скачав и установив среду разработки подключаем плату к USB порту компьютера. Возникнет запрос на установку драйверов устройства USB. Можно поискать в интернете, а можно взять с моей странички файлов. После установки в список устройств будет добавлен виртуальный COM порт.
COM driver
Номер может отличаться в зависимости от установленных устройств. В меню среды разработки зададим Инструменты — Плата — Arduino UNO и Инструменты — Порт — COM5.
arduino_setup
Все готово к написанию скетча и загрузки в память контроллера. Для примера можно открыть скетч из папки Arduino/examples/01.Basic/Blink, загрузить его в плату (Файл — Вгрузить) и посмотреть на результат выполнения.

/*
  Blink
  Включим светодиод на секунду, затем выключим на секунду, повторим.
 */

// функция setup выполняется однократно после нажатия СБРОС или подачи питания
void setup() {
  // установим 13 контакт на вывод
  pinMode(13, OUTPUT);
}

// функция loop повторяется после setup бесконечное число раз
void loop() {
  digitalWrite(13, HIGH);   // включим светодиод
  delay(1000);              // подождем секунду
  digitalWrite(13, LOW);    // выключим светодиод
  delay(1000);              // подождем секунду
}

 По большому счету проект Arduino и все ему сопутствующее это с одной стороны хорошая возможность простым обывателям попробовать себя в схемотехнике и программировании при относительно небольших затратах на аппаратную часть. С другой же стороны это довольно приличный бизнес на компонентах которые сами по себе стоят совсем копейки, но выполненные в виде дополнения к основной плате, так называемые «шилды» (англ. Shield) возрастают по цене в несколько раз.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *