Центр робототехники МарГУ "МариБот", тел. 8-987-710-21-36
Среда, 25.06.2025, 12:15
Приветствую Вас Гость | RSS
 
Главная Мастер-класс "Знакомство с Arduino"РегистрацияВход
Меню сайта
Поиск
Робототехника ссылки

Мастер-класс "Знакомство с Arduino"

Знакомство с контроллером Arduino – управление светодиодами

Контроллер Arduino

В качестве основы для обучения и проектов Центра робототехники "МариБот" используется контроллер Arduino. Выбор обусловлен низкой стоимостью при достаточно неплохих характеристиках, большим количеством программ и модулей, разработанных для работы с Arduino и расширяющих его возможности.

Макетная плата

Используемый для занятий стенд содержит макетную плату, все верхние контакты которой подключены к пину +5 В, нижние контакты – к пину Gnd (0 В) Arduino. Эти контакты используются в схемах и для питания внешних датчиков и модулей.

Остальные отверстия соединены вместе по 5 контактов (некоторые выделены полосками в качестве примеров, таким же образом соединены и все остальные) и могут использоваться для реализации различных схем путем втыкания в отверстия макетной платы элементов и модулей и проводных соединителей типа штырек/штырек. На основе макетной платы и Arduino Uno в клубе собираются роботы-роверы.

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

Язык программирования Arduino основан на языке Си. Если Вы желаете посмотреть команды данного языка, выполните в среде программирования Arduino IDE команду меню Справка / Содержание.

Управление светодиодами

Контакты должны быть определены как выходные (Output) в блоке setup:

pinMode(контакт, к которому подключен светодиод, OUTPUT);

Чтобы включить светодиод:

digitalWrite (контакт, к которому подключен светодиод, HIGH);

Период, в течение которого работает светодиод: delay (время в миллисекундах)

Чтобы выключить светодиод:

digitalWrite (контакт, к которому подключен светодиод, LOW);

Blink

  1. Откройте пример программы для управления миганием встроенного на плату светодиода L: Файл / Примеры / Basic / Blink
  2. Нажмите кнопку Загрузить Ü, убедитесь, что в нижней части окна появилась надпись Компилирование, которая через некоторое время сменится надписью Загрузка (на Arduino замигают светодиоды RX и TX) и появится надпись Загрузка выполнена.
  3. Убедитесь, что светодиод L на плате начал мигать с периодом в 1 секунду
  4. В программе периоды мигания заданы командой  delay, при выполнении которой контроллер ждет время в миллисекундах, заданное в скобках (1000 миллисекунд = 1 секунда). Измените числа в скобках после команд delay,  и загрузите программу. Период миганий светодиода должен измениться.

Рассмотренная программа управляет внутренним светодиодом, который подключен к контакту 13. Аналогично можно управлять внешними светодиодами, а также другими устройствами.

Пять светодиодов

Соедините проводом соответствующего цвета отверстие над верхним контактом светодиода с контактом контроллера Arduino. Номера контактов 1, 2, 3, 4 и 5, подписаны над ними. Схема ниже.

На основе программы Blink, копируя соответствующие участки кода (выделить и правая кнопка мыши / Копировать, правая кнопка / Вставить) напишите программу управления пятью светодиодами:

Пример кода мигания пяти светодиодов (то, что после // – комментарии, их в код вводить не надо):

void setup() {

  // прописываем контакты Arduino, к которым подключены светодиоды, как выходные

  pinMode(1, OUTPUT);

  pinMode(2, OUTPUT);

  pinMode(3, OUTPUT);

  pinMode(4, OUTPUT);

  pinMode(5, OUTPUT);

}

void loop() {  

  // включить все светодиоды:

  digitalWrite(1, HIGH);

  digitalWrite(2, HIGH);

  digitalWrite(3, HIGH);

  digitalWrite(4, HIGH);

  digitalWrite(5, HIGH);

  delay(1000);                                                // подождать одну секунду

  // выключить все светодиоды:

  digitalWrite(1, LOW);

  digitalWrite(2, LOW);

  digitalWrite(3, LOW);

  digitalWrite(4, LOW);

  digitalWrite(5, LOW);

  delay(1000);                                                // подождать одну секунду

}                      // начнем цикл loop снова

Также, можно написать программу для бегущего огня. В этом случае нужно зажечь только первый светодиод  (1, HIGH), а остальные погасить (2, 3, 4 и 5 LOW), сделать задержку, зажечь второй светодиод (2, HIGH), а погасить остальные (1, 3, 4 и 5 LOW) и т.д.

Еще варианты программ:

  • бегущий огонь от первого  светодиода до пятого, затем обратно к первому
  • два бегущих светодиода
  • гирлянда, как на елке (сначала горят четные, а нечетные не горят, потом наоборот)
  • свой вариант (что сами захотите, в т.ч. можно подключить бОльшее число светодиодов)
© Центр робототехники МарГУ "МариБот", Йошкар-Ола, Марий Эл, 2010-2025, тел. 8-987-710-21-36
uCoz