Какие действия нужно предпринять чтобы читать на компьютере данные с arduino
В этом эксперименте мы передаем данные об измерениях температуры на компьютер (например, для последующей обработки).
3. Подключение платы Arduino к компьютеру
Соедините Arduino с компьютером по USB-кабелю. На плате загорится светодиод «ON» и начнёт мигать светодиод «L». Это значит, что на плату подано питание и микроконтроллер начал выполнять прошитую на заводе программу «Blink».
Для настройки Arduino IDE под конкретную модель узнайте, какой номер COM-порта присвоил компьютер вашей плате. Зайдите в «Диспетчер устройств» Windows и раскройте вкладку «Порты (COM и LPT)».
Операционная система распознала плату Arduino как COM-порт и назначила номер 2 . Если вы подключите к компьютеру другую плату, операционная система назначит ей другой номер. Если у вас несколько платформ, очень важно не запутаться в номерах COM-портов.
Что-то пошло не так?
После подключения Arduino к компьютеру, в диспетчере устройств не появляются новые устройства? Это может быть следствием следующих причин:
1. Установка Arduino IDE под Windows
Установите на компьютер интегрированную среду разработки Arduino IDE.
Последняя стабильная версия всегда доступна на нашем сайте.
Принципиальная схема
Задания для самостоятельного решения
Добавьте столбец, содержащий количество секунд, прошедших с момента запуска микроконтроллера. Можно уменьшить интервал передачи данных.
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial-Share Alike 4.0 International
Рассмотрим начало работы с Arduino IDE в операционной системе Windows на примере Uno. Для других плат разница минимальна — эти особенности перечислены на страницах описания конкретных плат.
5. Загрузка первого скетча
Среда настроена, плата подключена. Пора прошивать платформу.
Arduino IDE содержит большой список готовых примеров, в которых можно быстро подсмотреть решение какой-либо задачи.
Откройте распространенный пример — «Blink»: Файл Примеры 01.Basics Blink .
Откроется окно с демонстрационным примером.
Полная версия кода:
Нажмите на иконку «Компиляция» для проверки кода на ошибки.
Нажмите на иконку «Загрузка» для заливки на плату.
После прошивки платформы светодиод «L» начнёт загораться и гаснуть каждые 100 миллисекунд — в 10 раз быстрее исходной версии. Это значит, что ваш тестовый код успешно загрузился и заработал. Теперь смело переходите к экспериментам на Arduino.
Скетч
Задания для самостоятельного решения
Добавьте столбец, содержащий количество секунд, прошедших с момента запуска микроконтроллера. Можно уменьшить интервал передачи данных.
В этом эксперименте мы передаем данные об измерениях температуры на компьютер (например, для последующей обработки).
Схема
Код
float voltage = analogRead(A0) * VIN / 1024.0;
float r1 = voltage / (VIN - voltage);
float temperature = 1./( 1./(TERMIST_B)*log(r1)+1./(25. + 273.) ) - 273;
Вопросы для проверки себя
Какие действия нужно предпринять, чтобы читать на компьютере данные с Arduino?
· чтобы обмениваться данными, нужно начать соединение, поэтому Serial.begin(baudrate)вызывается в setup()
· Serial.println(data) делает то же самое, только добавляет в конце невидимый символ новой строки.
О каких ограничениях не следует забывать при работе с последовательным портом?
Вам не удастся использовать цифровые порты 0 и 1 одновременно с передачей данных по последовательному порту, потому что по ним также идет передача данных, как и через USB-порт платы.
3.Как избежать ошибки в передаче данных, содержащих обратный слэш (\)?
Если вы хотите использовать обратный слеш, его нужно экранировать вторым таким же: \\.
Задания для самостоятельного решения
1.Перед таблицей данных о температуре добавьте заголовок (например, "Meteostation").
float voltage = analogRead(A0) * VIN / 1024.0;
float r1 = voltage / (VIN - voltage);
float temperature = 1./( 1./(TERMIST_B)*log(r1)+1./(25. + 273.) ) - 273;
Добавьте столбец, содержащий количество секунд, прошедших с момента запуска микроконтроллера. Можно уменьшить интервал передачи данных.
Эксперимент 17. Пантограф
В этом эксперименте мы вращаем сервопривод на угол, задаваемый потенциометром.
Схема
Код
int val = analogRead(A0);
int angle = int(val / 1024.0 * POT_MAX_ANGLE);
angle = constrain(angle, 0, 180);
Вопросы для проверки себя
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого.
© cyberpedia.su 2017-2020 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!
Точность вычислений с такими данными невелика, у вас могут возникнуть неожиданные ошибки, например, при использовании float в условном операторе.
4.Что за выражение стоит справа от = при объявлении булевой переменной enableSegment?
Определяем сколько сигментов должно гореть.
Задания для самостоятельного решения
Измените код программы таким образом, чтобы индикатор включался при 0 градусов и его показания прирастали на одно деление каждые 5 градусов.
8. pinMode(13, OUTPUT);
10. pinMode(i + FIRST_LED_PIN, OUTPUT);
14. digitalWrite(13, HIGH);
15. float voltage = analogRead(A0) * VIN / 1023.0;
16. float r1 = voltage / (VIN - voltage);
17. float temperature = 1./( 1./(TERMIST_B)*log(r1)+1./(25. + 273.) ) - 273;
19. boolean enableSegment = (temperature >= 0+i);
20. digitalWrite(i + FIRST_LED_PIN, enableSegment);
2.Добавьте в схему пьезопищалку и доработайте программу так, чтобы срабатывала звуковая сигнализация при достижении температуры, например, 25 градусов.
9. pinMode(13, OUTPUT);
11. pinMode(i + FIRST_LED_PIN, OUTPUT);
12. pinMode(BUZZER_PIN, OUTPUT);
16. digitalWrite(13, HIGH);
17. float voltage = analogRead(A0) * VIN / 1023.0;
18. float r1 = voltage / (VIN - voltage);
19. float temperature = 1./( 1./(TERMIST_B)*log(r1)+1./(25. + 273.) ) - 273;
21. boolean enableSegment = (temperature >= 21+i);
22. digitalWrite(i + FIRST_LED_PIN, enableSegment);
23. if (temperature == 25)
24. tone(BUZZER_PIN, 3500, 100);
Эксперимент 16. Метеостанция
В этом эксперименте мы передаем данные об измерениях температуры на компьютер (например, для последующей обработки).
Принципиальная схема
Код
2. int minute = 1;
7. pinMode(13, OUTPUT);
13. digitalWrite(13, HIGH);
14. float voltage = analogRead(A0) * VIN / 1024.0;
15. float r1 = voltage / (VIN - voltage);
16. float temperature = 1./( 1./(TERMIST_B)*log(r1)+1./(25. + 273.) ) - 273;
Вопросы для проверки себя
Какие действия нужно предпринять, чтобы читать на компьютере данные с Arduino?
· чтобы обмениваться данными, нужно начать соединение, поэтому Serial.begin(baudrate)вызывается в setup()
· Serial.println(data) делает то же самое, только добавляет в конце невидимый символ новой строки.
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций.
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой.
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).
© cyberpedia.su 2017-2020 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!
В этом эксперименте мы передаем данные об измерениях температуры на компьютер (например, для последующей обработки).
Вопросы для проверки себя
Список деталей для эксперимента
Ресурсы
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial-Share Alike 4.0 International
Пояснения к коду
Очень часто бывает полезно обмениваться данными, например, с компьютером. В частности, для отладки работы устройства: можно, например, смотреть, какие значения принимают переменные.
В данном эксперименте мы знакомимся со стандартным объектом Serial , который предназначен для работы с последовательным портом (UART) Arduino, и его методами (функциями, созданными для работы с данным объектом) begin() , print() и println() , которые вызываются после точки, идущей за именем объекта:
чтобы обмениваться данными, нужно начать соединение, поэтому Serial.begin(baudrate) вызывается в setup()
В print() и println() можно использовать второй необязательный параметр: выбор системы счисления, в которой выводить число (это может быть DEC , BIN , HEX , OCT для десятичной, двоичной, шестнадцатеричной и восьмеричной систем счисления соответственно) или количество знаков после запятой для дробных чисел.
в мониторе порта даст результат
Монитор порта, входящий в Arduino IDE, открывается через меню Сервис или сочетанием клавиш Ctrl+Shift+M. Следите за тем, чтобы в мониторе и в скетче была указана одинаковая скорость обмена данными, baudrate . Скорости 9600 бит в секунду обычно достаточно. Другие стандартные значения можете посмотреть в выпадающем меню справа внизу окна монитора порта.
Вам не удастся использовать цифровые порты 0 и 1 одновременно с передачей данных по последовательному порту, потому что по ним также идет передача данных, как и через USB-порт платы.
При запуске монитора порта скетч в микроконтроллере перезагружается и начинает работать с начала. Это удобно, если вам нельзя упустить какие-то данные, которые начинаю передаваться сразу же. Но в других ситуациях это может мешать, помните об этом нюансе!
Если вы хотите читать какие-то данные в реальном времени, не забывайте делать delay() хотя бы на 100 миллисекунд, иначе бегущие числа в мониторе будет невозможно разобрать. Вы можете отправлять данные и без задержки, а затем, к примеру, скопировать их для обработки в стороннем приложении.
Последовательность \t выводится как символ табуляции (8 пробелов с выравниванием). Также вы можете использовать, например, последовательность \n для перевода строки. Если вы хотите использовать обратный слеш, его нужно экранировать вторым таким же: \\ .
Схема на макетке
Вопросы для проверки себя
2. Запуск Arduino IDE
Запустите среду программирования.
Arduino IDE не запускается?
Вероятнее всего, на компьютере некорректно установлена JRE — Java Runtime Environment. Для решения проблемы переустановите программу.
Список деталей для эксперимента
Шаг 2
Нажмите на кнопку «JUST DOWNLOAD» для бесплатной загрузки программы.
Пояснения к коду
Очень часто бывает полезно обмениваться данными, например, с компьютером. В частности, для отладки работы устройства: можно, например, смотреть, какие значения принимают переменные.
В данном эксперименте мы знакомимся со стандартным объектом Serial , который предназначен для работы с последовательным портом (UART) Arduino, и его методами (функциями, созданными для работы с данным объектом) begin() , print() и println() , которые вызываются после точки, идущей за именем объекта:
чтобы обмениваться данными, нужно начать соединение, поэтому Serial.begin(baudrate) вызывается в setup()
В print() и println() можно использовать второй необязательный параметр: выбор системы счисления, в которой выводить число (это может быть DEC , BIN , HEX , OCT для десятичной, двоичной, шестнадцатеричной и восьмеричной систем счисления соответственно) или количество знаков после запятой для дробных чисел.
в мониторе порта даст результат
Монитор порта, входящий в Arduino IDE, открывается через меню Сервис или сочетанием клавиш Ctrl+Shift+M. Следите за тем, чтобы в мониторе и в скетче была указана одинаковая скорость обмена данными, baudrate . Скорости 9600 бит в секунду обычно достаточно. Другие стандартные значения можете посмотреть в выпадающем меню справа внизу окна монитора порта.
Вам не удастся использовать цифровые порты 0 и 1 одновременно с передачей данных по последовательному порту, потому что по ним также идет передача данных, как и через USB-порт платы.
При запуске монитора порта скетч в микроконтроллере перезагружается и начинает работать с начала. Это удобно, если вам нельзя упустить какие-то данные, которые начинаю передаваться сразу же. Но в других ситуациях это может мешать, помните об этом нюансе!
Если вы хотите читать какие-то данные в реальном времени, не забывайте делать delay() хотя бы на 100 миллисекунд, иначе бегущие числа в мониторе будет невозможно разобрать. Вы можете отправлять данные и без задержки, а затем, к примеру, скопировать их для обработки в стороннем приложении.
Последовательность \t выводится как символ табуляции (8 пробелов с выравниванием). Также вы можете использовать, например, последовательность \n для перевода строки. Если вы хотите использовать обратный слеш, его нужно экранировать вторым таким же: \\ .
Скетч
Шаг 1
Выберите версию среды в зависимости от операционной системы.
Схема на макетке
4. Настройка Arduino IDE
Для работы среды Arduino IDE с конкретной платформой необходимо выбрать название модели и номер присвоенного плате COM-порта.
Для выбора модели Arduino зайдите в меню: Инструменты Плата и укажите соответствующую плату.
Для выбора номера COM-порта перейдите в меню: Инструменты Порт и укажите нужный порт.
Поздравляем, среда Arduino IDE настроена для прошивки вашей платы.
Что-то пошло не так?
Список последовательных портов пуст? Значит, платформа некорректно подключена к компьютеру или не установлен драйвер. Вернитесь к настройке соединения между платой и ПК.
Arduino IDE тормозит при навигации по меню? Отключите в диспетчере устройств все внешние устройства типа «Bluetooth Serial». Например, виртуальное устройство для соединения с мобильным телефоном по Bluetooth может вызвать такое поведение.
Принципиальная схема
Читайте также: