Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Закладки, Файлы и Компиляция
Позволяют работать с несколькими файлами скетчей (каждый открывается в отдельной закладке). Файлы кода могут быть стандартными 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. Что такое Freeduino? 2. Что входит в состав модуля Freeduino? 3. Какие достоинства имеет модуль Freeduino? 4. Что представляет собой среда Arduino? 5. Что входит в состав среды Arduino? 6. Какие элементы управления содержатся в панели инструментов Arduino? 7. Какие команды содержит меню Tools? 8. Как происходит загрузка скетча в Arduino?
|
Последнее изменение этой страницы: 2019-03-20; Просмотров: 315; Нарушение авторского права страницы