• - это CraftDuino - наш вариант полностью Arduino-совместимой платы.
  • CraftDuino - настоящий конструктор, для очень быстрого прототипирования и реализации идей.
  • Любая возможность автоматизировать что-то с лёгкостью реализуется с CraftDuino!
Просто добавьте CraftDuino!
подписаться на RSS-ленту

Практическое программирование Arduino/Freeduino - начало

У нас уже была серия статей про программирование Arduino/Freeduino. Там мы рассмотрели структуру программы, константы и специфичные для Arduino функции, которые собственно и составляют язык Wiring.

Теперь же настала пора практических занятий :)

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);                  
}


Компилируем и загружаем скетч в МК.


Светодиод мигает, а сообщения от платы мы можем увидеть через монитор последовательного порта.



Ура! Работает :)
Сообщения из последовательного порта можно смотреть любой терминальной программой, например tutty:

выбираем наш COM-порт и любуемся:


Но что это – при любой новой попытке просмотреть сообщения COM-порта наша плата перезагружается!
Всё дело в джампере Autoreset enable, который так удобен при загрузке новых скетчей :)
Если джампер снять, то теперь каждое новое подключение к последовательному порту не будет вызывать перезагрузку ардуины, но новые скетчи придётся загружать после ручного нажатия на кнопку Reset, расположенную на плате.

читать далее: 1. Цифровой ввод — кнопка
  • +1
  • 3 августа 2009, 12:39
  • admin

Комментарии (3)

RSS свернуть / развернуть
+
0
а что нужно сделать, чтобы отключить autoreset, где расположен этот джампер?
У меня плата freeduino v1.16
avatar

RuZ

  • 14 июля 2010, 18:37
+
+2
сковырнуть конденсатор CRS или порезать дорожку идущую к нему
(лучше порезать — потом восстановить проще будет, при желании=)
както так:
avatar

Zoltberg

  • 14 июля 2010, 20:42
+
0
спасибо, пока правда воспользуюсь программным способом, всё равно свой софт писать
avatar

RuZ

  • 14 июля 2010, 22:46

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.