Перейти к содержимому


Фотография

Урок №1. Знакомство с Arduino

Первый шаг

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 admin

admin

    Администратор

  • Администраторы
  • 32 сообщений

Отправлено 21 Ноябрь 2014 - 13:52

  Arduino- это отладочная плата, собранная на основе микроконтроллера– миниатюрного компьютера с некоторым набором входов и выходов . Микроконтроллер работает  по заранее написанной нами программе.  Ко входам можно подключить обычные кнопки , различные  датчики,  даже сотовый телефон или персональный компьютер .

  Arduino удобен за счет своей продуманной конструкции  для постройки  разнообразных электронных устройств и поэтому пользуется популярностью среди начинающих конструкторов по всему миру.

  В  Arduino применяется  очень простой (по сравнению с другими) язык программирования, с которым легко разберется начинающий  конструктор всего лишь за несколько занятий.

  Раз вы читаете этот урок, значит вы уже много слышали про Arduino, про его возможности и  лишний раз читать про это  уже неинтересно. Поэтому перейдем к практике.

  Нам понадобится компьютер с выходом в интернет. На сайте магазина DVROBOT скачиваем cреду разработки Arduino-IDE  и драйвер для подключения отладочной платы к компьютеру.

  Установка драйвера  очень проста- нужно лишь пару раз щелкнуть мышкой файл Setup.exe. Arduino-IDE  в установке не нуждается.

  Запускаем программу Arduino.exe , подключаем плату Arduino с помощью USB шнура к свободному порту на компьютере. Затем следует выбрать последовательный порт, под номером которого Arduino прописалась на нашем компьютере. Это не обязательно будет цифра 35, номер может быть абсолютно любым.

  Здесь же следует выбрать тип платы, с которой мы будем работать. У вас в руках может быть любая версия платы, для примера возьмем  плату под названием ArduinoOptiboot8.

 

Прикрепленный файл  1.jpg   59,55К   7 скачиваний

 

Прикрепленный файл  2.jpg   144,7К   5 скачиваний

 

  Теперь перейдем к самой плате. Для начала разберемся с монтажной  платой. Это не просто Пластик с множеством отверстий, там внутри спрятаны металлические перемычки, которые соединяют отверстия между собой по  очень простому принципу. Лучше всего это видно на фото. Вот так выглядит плата:

 

Прикрепленный файл  breadboard.jpg   39,45К   4 скачиваний

 

  Серыми линиями условно показаны те самые металлические перемычки. Поэтому отверстия с адресами 1a, 1b, 1c, 1d, 1e  уже соединены между собой. Это очень удобно для макетирования.

 Соберем первый макет. Для него нам понадобится 1 светодиод,  два цветных провода и резистор номиналом 220 Ом:

 

Прикрепленный файл  rez.jpg   98,43К   3 скачиваний

 

  Для чего же нужен этот резистор? Наверное, вы догадываетесь, что светодиод может вполне светиться и без резистора. Причем, даже намного ярче, чем с резистором. Есть две причины для установки резистора. Первая причина-светодиоду для долгой безотказной работы нужен ток вполне конкретной величины. Мы можем поставить резистор с большим номиналом и увидим, что светодиод еле светиться. Будем уменьшать номинал резистора-светодиод будет светиться все ярче и ярче. И наступит такой момент, когда увеличение тока через резистор уже не приведет к увеличению яркости. От большого тока  светодиод перегреется и выйдет из строя. Причина вторая- микроконтроллер на плате Arduino не способен выдать большой ток. Вывод порта, к которому будет подключен светодиод , просто сгорит и  перестанет работать. Микроконтроллер при этом абсолютно не нагреется. И вы потом долго будете гадать, почему же не работает собранное устройство.

  А вот его графическое изображение, которое более удобно для восприятия:

 

Прикрепленный файл  4.JPG   56,99К   3 скачиваний

 

  Красный провод подключаем в разъем 5V , зеленый провод в разъем GND. Подключаем плату с помощью USB шнура к компьютеру. Светодиод  должен ярко засветится. Если этого не произошло, то ничего страшного. Мы просто перепутали полярность светодиода. Его следует вытащить и вставить наоборот. Более длинная ножка подключается к резистору, короткая к выводу GND. На этом первый эксперимент закончен. Переключаем красный провод на вывод 8 платы Arduino и приступим к написанию первой программы.

В данном случае напряжение на выводе не будет превышать напряжения питания. Более высокому напряжению просто неоткуда взяться , поэтому резистор можно оставить тот же.

 

Прикрепленный файл  5.JPG   55,16К   3 скачиваний

 

Запускаем программу Arduino, выбираем из примеров Blink:

 

Прикрепленный файл  6.jpg   120,05К   4 скачиваний

 

Вы увидите много непонятного текста на английском языке, но в этом ничего страшного. Ниже приведен текст программы в более понятном варианте.

Весь текст, который идет после знаков // считается комментариями и  в программе не участвует. Писать комментарии считается хорошей привычкой, они помогают разобраться в программе, особенно если она написана не вами. Но можно и не писать.

int led = 8; //  ножку  8 переименовываем в   led (светодиод на английском языке- led).

void setup()  // функция setup, которая выполняется лишь один раз после включения питания.
{                      // скобка начала функции
    pinMode(led, OUTPUT);     // переменную ножку led назначаем выходом. Из нее будет               
                              //выходить напряжение для того, что бы светодиод засветился.
}   // скобка окончания функции.

void loop()   // заголовок функции loop.  Loop- переводится как петля, замкнутый круг.
// поэтому функция loop будет выполняться бесконечно- от включения питания и до выключения
 {                  // скобка начала функции loop
  digitalWrite(led, HIGH);   // установим на ножке led высокий уровень (ток выходит)
  delay(1000);               // подождем 1000 миллисекунд (1 секунду)

  digitalWrite(led, LOW);    // установим на ножке led низкий уровень (ток не выходит)
  delay(1000);               // подождем 1000 миллисекунд (1 секунду)
}   // скобка окончания функции loop

  Внимательный читатель сразу заметит, что в примере Blink есть строка int led = 13;  В нашем же примере строка int led = 8; Это связано с тем , что на плате Arduino на выводе 13 уже изначально смонтирован маленький светодиодик. И если вы не измените цифру 13 на цифру 8, то при выполнении будет мигать этот маленький светодиодик на платке Arduino, а не наш большой светодиод, который мы подключили через резистор к выводу 8.

  Нажимаем кнопку «Загрузить»:

 

Прикрепленный файл  7.jpg   101К   4 скачиваний

 

  Светодиод на нашей монтажной плате должен замигать с периодом в одну секунду.

На этом примите поздравления, вы только  удачно запрограммировали свой первый микроконтроллер!!!

В качестве домашнего задания можно попробовать изменить в программе цифру 13 на любую другую, от 1 до 13, не забыв переключить красный провод на ножку Arduino с таким же номером.

  Более интересный эксперимент может получится, если цифру 1000 в программе заменить другой, например 500. Светодиод будем мигать в 2 раза чаще.  Здесь есть одно правило- каждый раз  измененную программу нужно записывать в микроконтроллер, что бы наглядно увидеть эти изменения. Arduino может выдержать несколько тысяч записей новых программ.

Прикрепленные файлы



#2 max_c

max_c

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 08 Июль 2015 - 20:53

Пожалуйста, проверьте, не допущена ли ошибка в уроке. При подключении к ножке +5в (естественно, через резистор как на рисунке) два светодиода сгорели.



#3 max_c

max_c

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 09 Июль 2015 - 20:25

Разобрался. В уроке все верно. Это я неверно понял рисунок макетной платы. Оказывается, все контакты, отмеченные полосками плюс и минус соединены вместе. Конечно, непрерывные полоски плюс и минус на это намекают, но ... в результате непонимания этого факта установленный мной резистор не играл никакой роли. Рисунок прилагаю. 

Прикрепленные файлы



#4 admin

admin

    Администратор

  • Администраторы
  • 32 сообщений

Отправлено 10 Июль 2015 - 05:02

Хорошо, если будут еще вопросы пишите.



#5 pasha_shah

pasha_shah

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 17 Февраль 2017 - 07:57

что я сделал не так светодиод не работает

http://joxi.ru/gmv913bul0l8ra



#6 pasha_shah

pasha_shah

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 17 Февраль 2017 - 08:07

почему на плате работает только 13 вывод, тоесть когда я втыкаю провод на  8 вывод  ничего не работает, но когда я втыкаю в вывод 13 все мигает?



#7 pasha_shah

pasha_shah

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 17 Февраль 2017 - 08:08

при этом всегда мигает маленький светодиод рядом с выводом 13






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных