У нас уже была . Там мы рассмотрели структуру программы, константы и специфичные для Arduino функции, которые собственно и составляют язык .
Теперь же настала пора практических занятий :)
0. Начало
Пожалуй, всё же стоит обозначить элементы управления Arduino IDE
Итак, слева направо:
— компиляция (оригинальное название — проверка) кода
— стоп (остановка монитора COM-порта)
— новый скетч
— открыть скетч
— сохранить скетч
— загрузить скетч в микроконтроллер Arduino/Freeduino
— монитор последовательного (COM) порта
Самые важные для нас – первая и две последние кнопки :)
Т.о. цикл разработки скетча для Arduino можно представить так:
Написание кода – компиляция – загрузка в МК.
Кажется — всё просто :)
Попробуем снова загрузить Blink :)
Открываем тестовый скетч из Examples — Digital — Blink
и нажмём кнопку компиляции
Компиляция прошла без ошибок о чём нам и сообщают – «Done compiling» :)
Остаётся подключить нашу ардуину к питанию и COM-порту и нажать кнопку выгрузки скетча на МК.
Во время выгрузки будут мигать светодиоды Rx и Тx – сигнализирующие приём и передачу сообщений через последовательный интерфейс ардуины :)
Если выгрузка прошла успешно – мы получим сообщение: «Done uploading.»
Т.к. джампер на плате установлен в Autoreset enable плата сама перезагрузится, произойдёт заливка скетча, снова перезагрузка и через 10 секунд ардуина начнёт весело мигать светодиодом :)
Впрочем, светодиод даже не обязательно вставлять в разъём – на плате уже есть сигнальный светодиод, подключённый к 13-му цифровому порту ардуины через ограничительный резистор.
Используя провода, изготовленные из витой пары,
схему можно перенести на макетную плату.
А если всё делать по-честному и подключать светодиод через ограничительный резистор, то получится такая простейшая схема:
, которая на макетной плате будет выглядеть так:
Теперь немножко переделаем скетч Blink т.о., чтобы плата сообщала нам через COM-порт когда светодиод горит, а когда нет.
Для этого нужно добавить всего три строчки кода:
int ledPin = 13;
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600); // инициализация работы с COM-портом
}
void loop()
{
digitalWrite(ledPin, HIGH);
Serial.print("H"); // светодиод горит – пишем H
delay(1000);
digitalWrite(ledPin, LOW);
Serial.println("L"); // светодиод погасили – пишем L
delay(1000);
}
Компилируем и загружаем скетч в МК.
Светодиод мигает, а сообщения от платы мы можем увидеть через монитор последовательного порта.
Ура! Работает :)
Сообщения из последовательного порта можно смотреть любой терминальной программой, например :
выбираем наш COM-порт и любуемся:
Но что это – при любой новой попытке просмотреть сообщения COM-порта наша плата перезагружается!
Всё дело в джампере Autoreset enable, который так удобен при загрузке новых скетчей :)
Если джампер снять, то теперь каждое новое подключение к последовательному порту не будет вызывать перезагрузку ардуины, но новые скетчи придётся загружать после ручного нажатия на кнопку Reset, расположенную на плате.
Комментарии (3)
RSS свернуть / развернутьУ меня плата freeduino v1.16
RuZ
(лучше порезать — потом восстановить проще будет, при желании=)
както так:
Zoltberg
RuZ
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.