Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Arduino_labs

.pdf
Скачиваний:
159
Добавлен:
01.03.2016
Размер:
828.21 Кб
Скачать

1

1 ЛАБОРАТОРНАЯ РАБОТА №1 ОЗНАКОМЛЕНИЕ С АПАРАТНОЙ ПЛАТФОРМОЙ ARDUINO.

ИНДИКАЦИЯ НА СВЕТОДИОДЕ

1.1 Цель работы

Ознакомиться с общими функциональными возможностями контроллера Arduino Uno (и средой программирования Arduino 1.05. Получить практические навыки по работе с Arduino. Закрепить навыки написанием простого приложения индикации на светодиоде.

1.2 Краткие теоретические сведения

Arduino – это электронный конструктор и удобная платформа быстрой разработки электронных устройств. Платформа пользуется огромной

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

Arduino позволяет компьютеру выйти за рамки виртуального мира в физический и взаимодействовать с ним. Устройства на базе Arduino могут

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

Микроконтроллер на плате программируется при помощи языка Arduino (основан на языке Wiring) и среды разработки Arduino, которая основана на среде Processing. Проекты устройств, основанные на Arduino, могут работать самостоятельно, либо же взаимодействовать с программным обеспечением на компьютере (напр.: Flash, Processing, MaxMSP). Платы могут быть собраны пользователем самостоятельно или куплены в сборе. Исходные чертежи схем (файлы CAD) являются общедоступными, пользователи могут применять их по своему усмотрению.

Существует несколько версий платформ Arduino. Последняя версия Leonardo базируется на микроконтроллере ATmega32u4. Arduino Uno, как и предыдущая версия Duemilanove построены на микроконтроллере Atmel ATmega328. Старые версии платформы Diecimila и первая рабочая Duemilanoves были разработаны на основе Atmel ATmega168, более ранние версии использовали ATmega8. Arduino Mega2560, в свою очередь, построена на микроконтроллере ATmega2560.

Курс построен на версии Uno.

На рисунке 1.1 изображена платформа Arduino Uno.

2

Рисунок 1.1 – Arduino Uno

External Power Supply – Arduino питается через USB, но при необходимости можно подать питание через блок питания 9 вольт.

Reset Button кнопка сброса после ее нажатия зашитая программа начинает выполнятся с начала.

ATmega328 микроконтроллер.

Serial Out(TX), Serial In(RX) Используются для получения (RX) и

передачи (TX) данных по последовательному интерфейсу.

In-circuit serial programmer предназначен для программирования контроллера USB интерфейса.

Выводы Arduino делятся (в каком-то роде условно) на цифровые (D0D13) и аналоговые (A0-A5), хотя при написании программ используется «сквозная» нумерация выводов, т.е. вывод 13 = D13, а 14 = A0, 15 = A1 и т.д.

Digital I/O pins Цифровые выводы могут использоваться и как входы и как выходы (режим входа или выхода задается в программе), Выводы D0, D2 используются для передачи данных через асинхронный последовательный порт и подключены к USB-serial контроллеру. Выводы D2, D3 могут использоваться для вызова внешних прерываний. Выводы D3, D5, D6, D9, D10, и D11 связаны с внутренними счетчиками-таймерами МК и могут использоваться для вывода ШИМ-сигнала (Широтно-импульсная модуляция, PWM) и в качестве счетчиков внешних импульсов. Выводы D10D13 могут использоваться для работы с внешними устройствами по протоколу SPI, при чем D10 (SS) используется в случае, если МК является ведомым (slave). Вывод D13 подключен к светодиоду «L» на плате, что никак не влияет на его использование, но может быть полезным для индикации чего-либо.

3

Analog In pins - аналоговые используются как входы, с разрешением АЦП 10 бит (0-1023) и пределом измерений 5В относительно земли или вывода Analog Reference Pin.

Вывод Vin используется для подачи питания от внешнего источника, далее он проходит через регулятор напряжения. Выводы GND, 5V, 3V3 - земля и регулируемое напряжение 5В, 3,3В Вывод IOREF - выдает рабочее напряжение, т.е. 5В для Arduino Uno.

В таблице 1.1 приведены характеристики Arduino Uno

Таблица 1.1 – Технические характеристики

Микроконтроллер

ATmega328

 

 

Рабочее напряжение

5 В

 

 

Входное напряжение

7-12 В

(рекомендуемое)

 

 

 

Входное напряжение (предельное)

6-20 В

 

 

Цифровые Входы/Выходы

14

 

 

Аналоговые входы

6

 

 

Постоянный ток через вход/выход

40 мА

 

 

Постоянный ток для вывода 3.3 В

50 мА

 

 

Флеш-память

32 Кб (ATmega328)

 

 

ОЗУ

2 Кб (ATmega328)

 

 

EEPROM

1 Кб (ATmega328)

 

 

Тактовая частота

16 МГц

 

 

Arduino Uno может получать питание через подключение USB или от внешнего источника питания. Источник питания выбирается автоматически.

Внешнее питание (не USB) может подаваться через преобразователь напряжения AC/DC (блок питания) или аккумуляторной батареей. Преобразователь напряжения подключается посредством разъема 2.1 мм с центральным положительным полюсом. Провода от батареи подключаются к выводам Gnd и Vin разъема питания.

Платформа может работать при внешнем питании от 6 В до 20 В. При напряжении питания ниже 7 В, вывод 5V может выдавать менее 5 В, при этом платформа может работать нестабильно. При использовании

4

напряжения выше 12 В регулятор напряжения может перегреться и повредить плату. Рекомендуемый диапазон от 7 В до 12 В.

1.3 Установка программного обеспечения

ПО для программирования Arduino находится в открытом доступе на официальном ресурсе http://arduino.cc. Для начала работы следует скачать установщик, который находится в меню Download на сайте или по ссылке http://arduino.googlecode.com/files/arduino-1.0.5-r2-windows.exe.

Установку необходимо производить с учетной записи администратора.

Настоятельно рекомендуется отключить все антивирусы и закрыть работающие программы. Ниже показан пример установки для операционной системы Windows 7.

После запуска установщика соглашаемся с условиями лицензионного соглашения. Далее в следующем окне (рисунок 1.2) обязательно отмечаем компонент «Install USB Driver» и «Install Arduino Software».

Рисунок 1.2 – Выбор компонентов для установки

Остальные компоненты можно выбирать по желанию.

Далее нажимаем кнопку «Next» и в следующем окне выбираем путь установки программы. Желательно все оставить как есть. Если же вы хотите выбрать другой путь, то следует избегать русских букв в названиях папок.

Рисунок 1.3 – Выбор пути установки программы

5

После этого нажимаем «Finish» и ждем завершения установки. Примерно в конце процесса установки, Windows запросит разрешение на установку драйвера Adruino USB Driver. Соглашаемся и выбираем кнопку «Установить» (рисунок 1.3).

Рисунок 1.4 – Установка драйвера

Теперь можно приступать к программированию устройства.

Программа запускается с помощью ярлыков на рабочем столе или в меню пуск. Если же таковых не имеется, то ее можно найти в папке, куда производилась установка (обычно C:\Program Files\Arduino\Arduino.exe или C:\Program Files (x86)\Arduino\Arduino.exe) либо по пути, который был указан установщику.

На рисунке 1.5 показан интерфейс Arduino 1.0.5.

Панель инструментов

Код программы

Окно сообщений

Рисунок 1.5 – Arduino 1.0.5

6

1.3.1 Подключение платы Arduino Uno

Для программирования контроллера требуется кабель стандарта USB (с разъемами типа USB-A и USB-B):

Рисунок 1.6 – Кабель с разъемами USB-А и USB-B

После подсоединение платы Arduino к компьютеру должен загореться зеленый светодиод питания. Windows начнет процесс установки драйвера. Если процесс закончится безрезультатно, то нужно выполнить следующие действия:

1)Нажмите на кнопку «пуск» и откройте Панель управления.

2)В панели управления перейдите на вкладку «Система и безопасность (System and Security)». Затем выберите «Система». Когда откроется окно «Система», выберите «Диспетчер устройств» (Device Manager).

3)Обратите внимание на порты (COM и LPT). Вы увидите открытый порт под названием «Arduino UNO (COMxx)».

4)Щелкните на названии «Arduino UNO (COMxx)» правой кнопкой мышки и выберите опцию «Обновить драйвер» (Update Driver Software).

5)Кликните "Browse my computer for Driver software".

6)Для завершения найдите и выберите файл драйвера для Uno – «ArduinoUNO.inf», расположенный в папке Drivers программного обеспечения для Arduino (не в подкаталоге «FTDI USB Drivers»).

7)На этом Windows закончит установку драйвера.

1.3.2 Среда разработки Arduino

Среда разработки Arduino состоит из встроенного текстового редактора программного кода, области сообщений, окна вывода текста(консоли),

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

7

Программа, написанная в среде Arduino, называется скетч. Скетч пишется в текстовом редакторе, имеющем инструменты вырезки/вставки, поиска/замены текста. Во время сохранения и экспорта проекта в области сообщений появляются пояснения, также могут отображаться возникшие ошибки. Окно вывода текста(консоль) показывает сообщения Arduino, включающие полные отчеты об ошибках и другую информацию. Кнопки панели инструментов позволяют проверить и записать программу, создать, открыть и сохранить скетч, открыть мониторинг последовательной шины:

Verify/Compile

Проверка программного кода на ошибки, компиляция.

Stop

Остановка мониторинга последовательной шины(Serial monitor) или затемнение других кнопок.

New

Создание нового скетча.

Open

Открытие меню доступа ко всем скетчам в блокноте. Открывается нажатием в текущем окне.

Примечание: из-за наличия ошибки в Java данное меню не может прокручиваться; при необходимости открыть скетч из этого списка проследуйте в меню File | Sketchbook.

Save

Сохранение скетча.

Upload to I/O Board

Компилирует программный код и загружает его в устройство Arduino. Описание загрузки приведено ниже.

Serial Monitor

Открытие мониторинга последовательной шины (Serial monitor). Дополнительные команды сгруппированы в пять меню: File, Edit,

Sketch, Tools, Help. Доступность меню определяется работой, выполняемой в данный момент.

Edit

Copy for Discourse

Копирует в буфер обмена подходящий для размещения на форуме код скетча с выделением синтаксиса.

Copy as HTML

Копирует код скетча в буфер обмена как HTML код, для размещения на веб- страницах.

Sketch

Verify/Compile

Проверка скетча на ошибки.

8

Import Library

Добавляет библиотеку в текущий скетч, вставляя директиву #include в код скетча. Подробная информация в описании библиотек ниже (Libraries).

Show Sketch Folder

Открывает папку, содержащую файл скетча, на рабочем столе.

Add File...

Добавляет файл в скетч (файл будет скопирован из текущего места расположения). Новый файл появляется в новой закладке в окне скетча. Файл может быть удален из скетча при помощи меню закладок.

Tools

Auto Format

Данная опция оптимизирует код, например, выстраивает в одну линию по

вертикали открывающую и закрывающую скобки и помещает между ними утверждение.

Board

Выбор используемой платформы. Список с описанием платформ приводится ниже.

Serial

Port

Меню содержит список последовательных

устройств передачи данных

(реальных и виртуальных) на компьютере. Список обновляется автоматически каждый раз при открытии меню Tools.

Burn Bootloader

Пункты данного меню позволяют записать Загрузчик (Bootloader) в микроконтроллер на платформе Arduino. Данное действие не требуется в текущей работе с Arduino, но пригодится, если имеется новый ATmega (без загрузчика). Перед записью рекомендуется проверить правильность выбора платформы из меню. При использовании AVR ISP необходимо выбрать соответствующий программатору порт из меню Serial Port.

Блокнот (Sketchbook)

Средой Arduino используется принцип блокнота: стандартное место для хранения программ (скетчей). Скетчи из блокнота открываются через меню File > Sketchbook или кнопкой Open на панели инструментов. При первом запуске программы Arduino автоматически создается директория для блокнота. Расположение блокнота меняется через диалоговое окно

Preferences.

Закладки, Файлы и Компиляция

Позволяют работать с несколькими файлами скетчей (каждый открывается в отдельной закладке). Файлы кода могут быть стандартными Arduino (без расширения), файлами С (расширение *.с), файлами С++ (*.срр) или головными файлами (.h).

Загрузка скетча в Arduino

Перед загрузкой скетча требуется задать необходимые параметры в меню Tools > Board и Tools > Serial Port. Платформы описываются далее по тексту. В ОС Mac последовательный порт может обозначаться как dev/tty.usbserial-1B1 (для платы USB) или /dev/tty.USA19QW1b1P1.1 (для

9

платы последовательной шины, подключенной через адаптер Keyspan USB- to-Serial). В ОС Windows порты могут обозначаться как COM1 или COM2 (для платы последовательной шины) или COM4, COM5, COM7 и выше (для платы USB). Определение порта USB производится в поле Последовательной шины USB Диспетчера устройств Windows. В ОС Linux порты могут обозначаться как /dev/ttyUSB0, /dev/ttyUSB1.

После выбора порта и платформы необходимо нажать кнопку загрузки на панели инструментов или выбрать пункт меню File > Upload to I/O Board. Современные платформы Arduino перезагружаются автоматически перед загрузкой. На старых платформах необходимо нажать кнопку перезагрузки. На большинстве плат во время процесса будут мигать светодиоды RX и TX. Среда разработки Arduino выведет сообщение об окончании загрузки или об ошибках.

При загрузке скетча используется Загрузчик (Bootloader) Arduino, небольшая программа, загружаемая в микроконтроллер на плате. Она

позволяет загружать программный код без использования дополнительных аппаратных средств. Загрузчик (Bootloader) активен в течении нескольких

секунд при перезагрузке платформы и при загрузке любого из скетчей в микроконтроллер. Работа Загрузчика (Bootloader) распознается по миганию светодиода (13 пин) (напр.: при перезагрузке платы).

Библиотеки

Библиотеки добавляют дополнительную функциональность скетчам, например, при работе с аппаратной частью или при обработке данных. Для

использования библиотеки необходимо выбрать меню Sketch > Import Library. Одна или несколько директив #include будут размещены в начале кода скетча с последующей компиляцией библиотек и вместе со скетчем. Загрузка библиотек требует дополнительного места в памяти Arduino.

Неиспользуемые библиотеки можно удалить из скетча убрав директиву

#include.

На Arduino.cc имеется список библиотек. Некоторые библиотеки включены в среду разработки Arduino. Другие могут быть загружены с различных ресурсов. Для установки скачанных библиотек необходимо создать директорию «libraries» в папке блокнота и затем распаковать архив. Например, для установки библиотеки DateTime ее файлы должны находится в подпапке /libraries/DateTime папки блокнота.

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

Язык программирования устройств Ардуино основан на C/C++. Он прост в освоении, и на данный момент, пожалуй, самый удобный способ программирования устройств на микроконтроллерах. В меню «Файл» есть несколько примеров. Выберем пункт Basics -> Blink:

10

/* Blink

Программа производит включение/выключение светодиода с периодом 2 сек. */

//Pin 13 подсоединен к светодиоду на большинстве Arduino платах.

//дадим ему имя:

int led = 13;

// команды в операторе void setup выполняются один раз void setup() {

// инициализируем pin13 как выход. pinMode(led, OUTPUT);

}

// оператор void loop является бесконечным циклом void loop() {

//включаем светодиод (HIGH - высокий уровень напряжения) digitalWrite(led, HIGH);

//задержка 1 секунда delay(1000);

//выключаем светодиод, подавая низкий уровень напряжения - LOW digitalWrite(led, LOW);

//задержка 1 секунда delay(1000);

}

В программе были использованы следующие функции: digitalWrite(pin, value) – подает HIGH или LOW значение на цифровой

вход/выход (pin).

pinMode(pin, mode) – устанавливает режим работы заданного вход/выхода (pin) как входа (INPUT) или как выхода (OUTPUT).

Delay(ms) – задержка в миллисекундах.

Затем программу следует скомпилировать путем нажатия комбинации клавиш Ctrl+R или через меню Скетч->Проверить/Скомпилировать. Если ошибок не будет обнаружено, программа выдаст в окне сообщений информацию, как показано на рисунке 1.5.

Рисунок 1.7 – Успешная компиляция

Далее выбираем нужную плату для программирования контроллера

(Сервис -> Плата -> Arduino Uno) – см. рисунок 1.6.

Далее нужно выбрать устройство последовательной передачи платы Arduino из меню Сервис -> Последовательный порт. Вероятно, это будет COM3 или выше. Чтобы найти нужный порт, можно отсоединить плату Arduino и повторно открыть меню; пункт, который исчез, и будет портом

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]