Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



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

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

Перед загрузкой скетча требуется задать необходимые параметры в меню Tools > Board и Tools > Serial Port. Платформы описываются далее по тексту. В ОС Windows порты могут обозначаться как COM1 или COM2 (для платы последовательной шины) или COM4, COM5, COM7 и выше (для платы USB). Определение порта USB производится в поле Последовательной шины USB Диспетчера устройств Windows. После выбора порта и платформы необходимо нажать кнопку загрузки на панели инструментов или выбрать пункт меню 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 папки блокнота.

Выполнение работы

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

 

 

Далее проведем инициализацию портов

 

const int LED_1 = 12;

const int LED_2_GND = 10;

const int LED_2_PWR = 8;

 

Это означает, что питание 1-го диода будет происходить с 12- й ножки, питание 2-го диода – с 8-й, земля второго диода будет находится на 10-й ножке. Также введем переменную button, которая потребуется нам для реализации различных команд при управлении модулем.

 

char button;

 

а также введем переменную DELAY для организации временной задержки

 

int DELAY = 1000;

 

Далее зададим порты выхода

 

void setup() {

pinMode(LED_1, OUTPUT);  

pinMode(LED_2_GND, OUTPUT);

pinMode(LED_2_PWR, OUTPUT);

 

Serial.begin(9600);

}

 

void loop() {

 

if (Serial.available() > 0) {

button = Serial.read();

}

 

теперь реализуем управление 1-м светодиодом,

 

for (int i=0, i< 10, i++);

{

digitalwrite(LED_1, HIGH);

delay(DELAY);

digitalwrite(LED_1, LOW);

delay(DELAY);

}

 

таким образом, 1-й светодиод у нас будет загораться на 1000 мс и в течении такого же временного интервала будет оставаться выключенным, что будет повторяться 10 раз

 

аналогично можно управлять 2-м светодиодом

 

for (int i=0, i< 10, i++);

{

digitalwrite(LED_2_GND, LOW);

digitalwrite(LED_1_PWR, HIGH);

delay(DELAY);

digitalwrite(LED_2_GND, LOW);

digitalwrite(LED_1_PWR, LOW);

delay(DELAY);

}

 

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

 

for (int i=1, i< 100, i++)

{

DELAY=i*10;

digitalwrite(LED_1, HIGH);

delay(DELAY);

digitalwrite(LED_1, LOW);

delay(DELAY);

}

for (int i=100, i< =1, i--)

{

DELAY=i*10;

digitalwrite(LED_1, HIGH);

delay(DELAY);

digitalwrite(LED_1, LOW);

delay(DELAY);

}

 

таким образом, 1-й светодиод будет гореть и выключаться в интервале, сначала увеличивающемся в течение 100 циклов от 10 мс до 1 секунды, а затем обратно уменьшающемся в течении 100 циклов до 10 мс

 

теперь попробуем осуществить управление последовательной шиной

 

 if (button == '1') {

digitalWrite(LED_1, HIGH);

 }

 if (button == '0') {

digitalWrite(LED_1, LOW);

 }

 if (button == '2') {

digitalWrite(LED_2_GND, LOW);

digitalWrite(LED_2_PWR, HIGH);

 }

 if (button == '3') {

digitalWrite(LED_2_GND, LOW);

digitalWrite(LED_2_PWR, LOW);

 }

if (button == '4') {

digitalWrite(LED_1, HIGH);

digitalWrite(LED_2_GND, LOW);

digitalWrite(LED_2_PWR, HIGH);

 }

 

далее нажмем на кнопку Serial Monitor на панели инструментов, после чего откроется следующее окно

 

 

в поле ввода введите на выбор «1», «2», «3», «4», или «0». Соответственно при вводе того или иного числа будут выполняться различные команды:

 

«1» - 1-й светодиод горит

«0» - 1-й светодиод гаснет

«2» - 2-й светодиод горит

«3» - 2-й светодиод гаснет

«4» - горят оба светодиода

Задания на выполнение лабораторной работы

Написать программу, реализующую следующее задание и произвести ее моделирование: 1 группа Организовать включение 1-го светодиода на 1с и выключение на 0, 5мс в течении 10 раз; включение 2-го светодиода на 2 с и выключение на 3 в течении 10 раз 2 группа Организовать включение 1-го светодиода с интервалом, уменьшающимся от 1 с до 20мс с и затем увеличивающимся до 600 мс; включение 2-го светодиода с интервалом, увеличивающимся от 40мс до 800 с и затем уменьшающимся до 5 мс
3 группа Организовать включение 1-го светодиода с интервалом, увеличивающимся от 20мс до 0.5 с и затем уменьшающимся до 50 мс; включение 2-го светодиода с интервалом, уменьшающимся от 1.5 с до 30мс с и затем увеличивающимся до 500 мс 4 группа Организовать включение 1-го светодиода на 1с и выключение на 0, 5мс в течении 10 раз; включение 2-го светодиода на 2 с и выключение на 3 в течении 10 раз
5 группа Организовать включение 1-го светодиода с интервалом, уменьшающимся от 1 с до 20мс с и затем увеличивающимся до 600 мс; включение\выключение 2-го светодиода с интервалом 1 с в течении 20 раз 6 группа Организовать включение\выключение 1-го светодиода с интервалом 1 с в течении 20 раз включение 2-го светодиода с интервалом, увеличивающимся от 30мс до 1.5 с и затем уменьшающимся до 100 мс;

 

Контрольные вопросы

1. Что такое Freeduino?

2. Что входит в состав модуля Freeduino?

3. Какие достоинства имеет модуль Freeduino?

4. Что представляет собой среда Arduino?

5. Что входит в состав среды Arduino?

6. Какие элементы управления содержатся в панели инструментов Arduino?

7. Какие команды содержит меню Tools?

8. Как происходит загрузка скетча в Arduino?

 


Поделиться:



Последнее изменение этой страницы: 2019-03-20; Просмотров: 280; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.028 с.)
Главная | Случайная страница | Обратная связь