Ардуино Уно, приехало, проверено, передало «SOS»

Собственно успешно приехало (из Китая, конечно) пару плат из набора под «ардуино». Поскольку, всяких халявщиков вроде магазина dx.com (dealerextreme.com)  обманующего налево и направо, не хотелось кормить, был выбран проверенный BIC. Где было заказано и саму «ардуино уно», и пару плат с реле и езернет плату. Вкратце, платформа Ардуино — это открытая система разработки, позволяющая делать разнообразные устройства с микроконтроллерным управлением, причем разработка происходит очень быстро. И соответственно стоимость готовых единичных устройств — копеешная.

Сегодня решил сесть, таки разобраться , что это и с чем едят. Оказалось, что все просто как двери.

Для начала надо понять, что ардуино — это устройство для PC, буть то линукс, виндовс или мак. Я проверял на виндовс, но основная работа будет идти с ноутбука на линуксе, конечно. Для управления Arduino Uno (заливки прошивок) требуются драйвера. Они находятся в папочке drivers, как не странно, IDE с сайта arduino.cc. На момент написания статьи последней была версия 1.0, и скачать ее можно было вот здесь.

Собственно IDE запускается без установки, это очень обрадовало. Заливка программы, делается с помощью кнопочки Upload. Через пару секунд плата начинает выполнять программу. Гениально, насколько просто.

Как начальный тест, когда под рукой не было ни паяльника (вообще есть станция, но стол соседний, а устанавливать ан ноутбуке — можно и долго, там линукс, причем альтлинукс…), ни проводов для соединения всего этого дела, была выбрана тестовая прошивка-скетч. Она грузптся прямо из меню программы  File — Examplex — Blinking. Собственно данный пример всего лишь управляет установленным прямо на самой ардуиноуно-плате светодиодом, который впрочем подключен к цифровому выводу №13 (судя по всему — последнему в разъеме).

Я немного переделал данную програмку («скетч»), чтобы светодиод не просто «блымал», а передавал три раза комбинацию СОС, а далее отключался. Заодно удалось понять как работают функции, глобальные переменные, циклы во встроенном С-подобном языке Ардуино.

Arduino blinks SOS

Arduino blinks SOS

Собственно, вот текст данной программы:

/*  
 Blink SOS 2 times 
 */
int start  = 1;    //global flag
int period = 100;  // blink 'period' length
 
void setup() {
  pinMode(13, OUTPUT);     
}
 
/* main loop */
void loop() 
{
 
  if (start == 1)
  {
    for (int j=0; j<3; j++)
    {
      start = 0;
      for (int i=0; i<3; i++)
        send_signal(1,1);
 
      for (int i=0; i<3;i++)
        send_signal(4,1);
 
      for (int i=0; i<3;i++)
        send_signal(1,1);
 
      delay(period*10);  
    }
  }
 
}
 
/* 
 turn on led, wait, turn off.
 */
void send_signal( int on_, int off_ )
{  
  digitalWrite(13, HIGH); 
  delay(on_*period);          
  digitalWrite(13, LOW);  
  delay(off_*period);          
}

Компиляция, и все прочее, данная программа делает сама, достаточно нажать кнопочку в панели быстрого запуска, со стрелкой «вправо». Ну конечно надо ее верно настроить, то есть саму программу — указать верный порт COM, указать правильную плату и предварительно установить драйвер для COM порта. Все это делается через меню Tools — Serial Port и Tools — Board — Arduino Uno. А драйвер, как я уже говорил, ставиться для порта стандартно, -через систему — устройства, и выбирается из каталога «drivers» программы.

В конечном итоге, вот видео, что делает данный скетч (так называется ардуино-программы):

Кстати, чтобы перезапустить программу можно использовать кнопочку «Reset», на самой плате. В случае, если исполняется вот такая «одноразовая» программа, без цикла, это очень полезно.

Arduino UNO reset  button

Arduino UNO reset button

Собственно это все на первый раз. Первое впечатление от этой полученной платы — мало памяти для программ, 32 Кб всего. Для серьезных проектов — это будет маловато. Но для запланированного температурного датчика со схемой включения и информирования — вероятно хватит.

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

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