Программируем Arduino Nano с использованием Arduino Uno
Недавно мы купили новый клон Arduino Nano (Ch440) от ebay для нашего мини-проекта Arduino. После этого мы подключили Arduino к ПК и установили драйверы, но он не работал.
Через несколько дней мы сообразили как программировать Arduino Nano используя Arduino Uno, что оказалось довольно просто. Следуйте шагам ниже, чтобы получить самому это реализовать.
Шаг 1. Комплектующие
Нам на самом деле понадобится не так много всего, список очень скромный:
Шаг 2. Подключение
Одна из главных задач нашего небольшого урока – правильно соединить Uno к Nano:
- D13 <-> SCK
- D12 <-> MISO
- D11 <-> MOSI
- D10 <-> RST (сброс)
- 5V <-> VIN
- GND <-> GND
Если рабочее напряжение вашей платы составляет 3,3 В, то используйте 3,3 В.
Шаг 3. Готовим Arduino IDE
На данном этапе вы всё соединили и теперь нам нужно сделать некоторые настройки в среде Arduino IDE.
Перейдите в раздел:
Инструменты (Tools) → Выберите Arduino Uno → Выберите правильный ПОРТ → Загрузите любой код
Настройки выполнены. Теперь откройте эскиз, который вы хотите загрузить в своем Nano.
В меню перейдите в Sketch и нажмите «Upload using Programmer». IDE скомпилирует эскиз и загрузит его в ваш Nano. Светодиоды RX TX быстро мигнут на обеих досках, и вы увидите, что вы сделали загрузку.
Если нет, перепроверьте все соединения и настройки. Если у вас возникнут какие-либо проблемы или вы захотите дать пару предложений по уроку – вы можете написать в группе в комментариях к уроку.
Если возникла какая-либо ошибка, нажмите кнопку сброса на Nano и на Arduino Uno.
Очень хочется, чтобы этот урок вам помог. Если он помог вам, пожалуйста, подписывайтесь на нашу группу ВКонтакте и оставляйте свои пожелания. Спасибо.
Arduino UNO
5V
8-bit
16 MHz
AVR
Arduino/Genuino Uno – это устройство на основе микроконтроллера ATmega328 (datasheet).
В его состав входит все необходимое для удобной работы с микроконтроллером: 14 цифровых входов/выходов (из них 6 могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, кварцевый резонатор на 16 МГц, разъем USB, разъем питания, разъем для внутрисхемного программирования (ICSP) и кнопка сброса. Для начала работы с уcтройством достаточно просто подать питание от AC/DC-адаптера или батарейки, либо подключить его к компьютеру посредством USB-кабеля.“Uno” (в переводе с итальянского – “один”) назван по случаю предстоящего выпуска Arduino IDE 1.0. Совместно с Arduino IDE 1.0 данные устройства будут базовыми версиями Ардуино. Uno – эталонная модель платформы Arduino и является последней в серии USB-плат.
Технические характеристики
Микроконтроллер | ATmega328P |
Рабочее напряжение | 5 В |
Входное напряжение (рекомендованное) | 7-12 В |
Входное напряжение (предельное) | 6-20 В |
Цифровых входов / выходов | 14 (6 из которых с поддержкой ШИМ) |
ШИМ входов / выходов | 6 |
Аналоговых входов / выходов | 6 |
Максимальный ток одного вывода | 20 мА |
Максимальный выходной ток вывода 3.3В | 50 мА |
Flash-память | 32 Кбайт (0.5 Кбайт из которых выделены под bootloader) |
Энергозависимая память (SRAM) | 2 Кбайт |
Энергонезависимая память (EEPROM) | 1 Кбайт |
Частота процессора | 16 МГц |
Встроенный светодиод | на 13 порту |
Длина | 68.6 мм |
Ширина | 53.4 мм |
Вес | 25 г |
Документация
Программирование
Arduino Mini программируется с помощью программного обеспечения Arduino IDE (скачать).
ATmega328 в Arduino Uno выпускается с прошитым загрузчиком, позволяющим загружать в микроконтроллер новые программы без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500 (описание, заголовочные файлы C).
Тем не менее, микроконтроллер ATmega328 можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик; информацию о распиновке разъема ICSP для прошивки Mini через загрузчик смотри на соответствующей странице. Инструкции по использованию внешнего программатора для прошивки контроллера смотри здесь.
Исходный код прошивки микроконтроллера ATmega16U2 (или 8U2 на платах версии R1 и R2) находится в свободном доступе. Прошивка ATmega16U2/8U2 включает в себя DFU-загрузчик (Device Firmware Update), позволяющий обновлять прошивку микроконтроллера. Для активации режима DFU необходимо:
- На платах версии R1: замкнуть перемычку на обратной стороне платы (возле изображения Италии), после чего сбросить 8U2.
- На платах версий R2 и выше – для упрощения перехода в режим DFU присутствует резистор, подтягивающий к земле линию HWB микроконтроллера 8U2/16U2.
После перехода в DFU-режим для загрузки новой прошивки можно использовать программное обеспечение Atmel’s FLIP (для Windows) или DFU programmer (для Mac OS X и Linux). Альтернативный вариант – прошить микроконтроллер через разъем для внутрисхемного программирования ISP с помощью внешнего программатора, однако в этом случае DFU-загрузчик затрется. Для получения более подробной информации смотри эти инструкции, составленные пользователями официального портала.
Защита USB
В Arduino Uno встроен самовосстанавливающийся предохранитель (автомат), защищающий порт USB компьютера от токов короткого замыкания и сверх токов. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель срабатывает при прохождении тока более 500 мА через USB порт и размыкает цепь до тех пока нормальные значения токов не будут восстановлены.
Отличия
В отличие от всех предыдущих плат Arduino, Uno в качестве преобразователя интерфейсов USB-UART использует микроконтроллер ATmega16U2 (ATmega8U2 до версии R2) вместо микросхемы FTDI.
Питание
Arduino Uno может быть запитан от USB либо от внешнего источника питания – тип источника выбирается автоматически.
В качестве внешнего источника питания (не USB) может использоваться сетевой AC/DC-адаптер или аккумулятор/батарея. Штекер адаптера (диаметр – 2.1мм, центральный контакт – положительный) необходимо вставить в соответствующий разъем питания на плате. В случае питания от аккумулятора/батареи, ее провода необходимо подсоединить к выводам Gnd и Vin разъема POWER.
Напряжение внешнего источника питания может быть в пределах от 6 до 20 В. Однако, уменьшение напряжения питания ниже 7В приводит к уменьшению напряжения на выводе 5V, что может стать причиной нестабильной работы устройства. Использование напряжения больше 12В может приводить к перегреву стабилизатора напряжения и выходу платы из строя. С учетом этого, рекомендуется использовать источник питания с напряжением в диапазоне от 7 до 12В.
Ниже перечислены выводы питания, расположенные на плате:
- VIN. Напряжение, поступающее в Arduino непосредственно от внешнего источника питания (не связано с 5В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.
- 5V. На вывод поступает напряжение 5В от стабилизатора напряжения на плате, вне независимости от того, как запитано устройство: от адаптера (7 – 12В), от USB (5В) или через вывод VIN (7 – 12В). Запитывать устройство через выводы 5V или 3V3 не рекомендуется, поскольку в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
- 3V3. 3.3В, поступающие от стабилизатора напряжения на плате. Максимальный ток, потребляемый от этого вывода, составляет 50 мА.
- GND. Выводы земли.
- IOREF. Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера Arduino. В зависимости от напряжения, считанного с вывода IOREF, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5В, так и с 3.3В-устройствами.
Память
Микроконтроллер ATmega328 располагает 32 Кбайт флэш памяти, из которых 0.5 Кбайт используется для хранения загрузчика, а также 2 Кбайт ОЗУ (SRAM) и 1 Кбайт EEPROM.(которая читается и записывается с помощью библиотеки EEPROM).
Ввод / вывод
Смотрите также соответствие выводов Arduino и ATmega328. Распиновка для микроконтроллеров ATmega8, 168 и 328 идентична.
С использованием функций pinMode(), digitalWrite() и digitalRead() каждый из 14 цифровых выводов может работать в качестве входа или выхода. Уровень напряжения на выводах ограничен 5В. Рекомендуемый ток 20 мА. Максимальный ток, который может отдавать или потреблять один вывод, составляет 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм.
Помимо этого, некоторые выводы Arduino Uno могут выполнять дополнительные функции:
- Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Эти выводы соединены с соответствующими выводами микросхемы ATmega8U2, выполняющей роль преобразователя USB-UART.
- Внешние прерывания: выводы 2 и 3. Могут служить источниками прерываний, возникающих при фронте, спаде или при низком уровне сигнала на этих выводах. Для получения дополнительной информации смотри функцию attachInterrupt().
- ШИМ: выводы 3, 5, 6, 9, 10 и 11. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
- Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). С применением библиотеки SPI данные выводы могут осуществлять связь по интерфейсу SPI.
- Светодиод: Встроенный светодиод, подсоединенный к выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW – выключается.
TWI: вывод A4 или SDA и вывод A5 или SCL. С использованием библиотеки Wire данные выводы могут осуществлять связь по интерфейсу TWI.
В Arduino Uno есть 6 аналоговых входов (A0 – A5), каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). По умолчанию, измерение напряжения осуществляется относительно диапазона от 0 до 5 В. Тем не менее, верхнюю границу этого диапазона можно изменить, используя вывод AREF и функцию analogReference().
Помимо перечисленных на плате существует еще несколько выводов:
- AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference().
- Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения
Связь
Arduino Uno предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Arduino или другими микроконтроллерами. В ATmega328 имеется приемопередатчик UART TTL (5В), позволяющий осуществлять последовательную связь посредством цифровых выводов 0 (RX) и 1 (TX). Микроконтроллер ATmega16U2 на плате обеспечивает связь этого приемопередатчика с USB-портом компьютера, и при подключении к ПК позволяет Arduino определяться как виртуальный COM-порт. Прошивка микросхемы 16U2 использует стандартные драйвера USB-COM, поэтому установка внешних драйверов не требуется. На платформе Windows необходим только соответствующий .inf-файл. В пакет программного обеспечения Arduino входит специальная программа, позволяющая считывать и отправлять на Arduino простые текстовые данные. При передаче данных через микросхему-преобразователь USB-UART во время USB-соединения с компьютером, на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1, без использования USB-преобразователя, данные светодиоды не задействуются).
Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Arduino Uno.
В микроконтроллере ATmega328 также реализована поддержка последовательных интерфейсов I2C (TWI) и SPI. В программное обеспечение Arduino IDE входит библиотека Wire, позволяющая упростить работу с шиной I2C. Для получения более подробной информации смотрите документацию. Для работы с интерфейсом SPI используйте библиотеку SPI.
Автоматический (программный) сброс
Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Arduino Uno спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Один из выводов ATmega8U2/16U2, участвующий в управлении потоком данных (DTR), соединен с выводом RESET микроконтроллера ATmega328 через конденсатор номиналом 100 нФ. Когда на линии DTR появляется ноль, вывод RESET также переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Данная особенность используется для того, чтобы можно было прошивать микроконтроллер всего одним нажатием кнопки в среде программирования Arduino IDE. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR.
Однако эта система может приводить и к другим последствиям. При подключении Uno к компьютерам, работающем на Mac OS X или Linux, его микроконтроллер будет сбрасываться при каждом соединении программного обеспечения с платой. После сброса на Arduino Uno активизируется загрузчик на время около полсекунды. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Arduino, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Arduino, осуществляет отправку спустя секунду после установки соединения.
На плате Uno существует дорожка (отмеченная как “RESET-EN”), разомкнув которую, можно отключить автоматический сброс микроконтроллера. Для повторного восстановления функции автоматического сброса необходимо спаять между собой выводы, расположенные по краям этой дорожки. Автоматический сброс также можно выключить, подключив резистор номиналом 110 Ом между выводом RESET и 5В.
Для получения более подробной информации смотри соответствующую ветку форума на официальном сайте.
Ревизии
- Относительно 1.0: добавлены выводы SDA и SCL (возле вывода AREF), а также два новых вывода, расположенных возле вывода RESET. Первый – IOREF – позволяет платам расширения подстраиваться под рабочее напряжение Arduino. Данный вывод предусмотрен для совместимости плат расширения как с 5В Arduino на базе микроконтроллеров AVR, так и с 3.3В платами Arduino Due. Второй вывод ни к чему не подсоединен и зарезервирован для будущих целей.
- Улучшена помехоустойчивость цепи сброса.
- Микроконтроллер ATmega8U2 заменен на ATmega16U2.
Как программировать и управлять Arduino с помощью Python
Python взял штурмом мир кодирования. Наряду с появлением этого нового языка, сцена электроники DIY также процветала. Макетные платы и одноплатные компьютеры от таких компаний, как Arduino
и малиновый пи
изменили способ создания домашней электроники. Разве это не было бы здорово, если бы вы могли программировать Arduino с Python?
Нет лучшего ощущения, чем сочетание двух классных вещей. К сожалению, невозможно напрямую запрограммировать Arduino на Python, так как на платах нет опций для бортовой интерпретации языка. Однако возможно прямое управление USB с помощью программы Python.
Эта статья покажет вам, как настроить Arduino UNO (хотя любая Arduino-совместимая плата
может работать здесь) для программирования и управления из командной строки с помощью программ Python. Этот учебник написан для Windows 10, но также работает для Mac и Linux. Вы даже можете использовать этот рабочий процесс для управления Arduino напрямую с Raspberry Pi
для окончательного двойного опыта DIY.
Настройка вашего Arduino для Python
Для сегодняшнего проекта мы будем использовать Arduino Uno вместе с интерфейсом pyFirmata для Python. Для этого вы можете использовать практически любую Arduino-совместимую плату, хотя на момент написания интерфейса PyFfirmata поддерживались только Arduino Uno, Mega, Due и Nano. Если вы уже являетесь гуру Python, вы можете добавить свою собственную поддержку плат в pyFirmata — обязательно обновите их GitHub, если вы это сделаете!
Если вы этого еще не сделали, установите Arduino IDE. Если вы новичок в мире микроконтроллеров, наш путеводитель по Arduino для начинающих
поможет вам все на месте.
Подключите плату Arduino и откройте IDE. Убедитесь, что вы выбрали правильную плату и порт в инструменты меню. Загрузите StandardFirmata Пример наброска и выгрузка его на доску. Это позволит вам напрямую управлять Arduino, если он подключен к компьютеру через USB. Если эскиз загружен на вашу доску без ошибок, вы готовы двигаться дальше.
Python и контроль командной строки
Мы будем использовать Python 3.4 для управления нашим Arduino, так как модуль, который вы будете устанавливать, определяет его как последнюю совместимую версию. Любая версия до этого должна работать нормально, и сообщалось, что более поздние версии будут работать. Вы можете скачать Python 3. 4 для Windows 10 с сайта Python Software Foundation. Если вы хотите запустить несколько версий Python, наше руководство по виртуальным средам Python
смогу вам помочь.
После того, как вы установили Python, мы хотим добавить его в переменную PATH вашей системы. Это позволит нам запускать код Python непосредственно из командной строки без необходимости находиться в каталоге, в котором он был установлен. Это можно сделать, открыв Панель управления, в поисках Среда и нажмите на Изменить системные переменные среды. В нижней части окна выберите Переменные среды. Это вызовет это окно:
Если вы уже видите ДОРОЖКА в списке нажмите «Изменить» и добавьте питон а также Python / Scripts каталог. Если у вас нет переменной PATH, нажмите new и добавьте ее. Обратите внимание, что Python был установлен прямо в C: \ Вот. Если вы установили его в другом месте, вам нужно изменить его, чтобы отразить это. Нажмите OK, чтобы вернуться в цепочку окон, и вы почти готовы управлять своим Arduino с помощью Python!
Волшебная смазка
Вам понадобится один последний кусочек головоломки, чтобы Python хорошо говорил с нашим Arduino. Это происходит в форме интерфейса Python под названием pyFirmata. Этот интерфейс, созданный Tino de Bruijn, доступен для загрузки с github, хотя вы можете установить его прямо из командной строки, набрав:
pip install pyfirmata
Все хорошо, он должен установить и выглядеть так:
Если это не удается, перейдите через добавление Python к Переменная среды раздел и убедитесь, что вы указали правильный путь к вашему каталогу Python.
Как это случилось
Теперь все настроено, и вы можете создать программу на Python для своего Arduino, чтобы протестировать ее. Откройте IDE по вашему выбору. Мы будем использовать Eclipse
сегодня, но вы можете так же легко использовать любой текстовый редактор
или даже IDE в облаке
,
Создайте новый скрипт и сохраните его как blink. py. Нарушая традицию со стандартной программой мигания светодиодов, вы создадите программу, которая запрашивает у пользователя количество раз, которое они хотят, чтобы светодиод мигал перед его выполнением. Это короткая программа, которую вы можете скачать здесь, если хотите перейти прямо к ней, но давайте разберемся с ней.
Во-первых, вы хотите импортировать то, что вам нужно, из pyFirmata модуль вместе со стандартным Python Время модуль.
from pyfirmata import Arduino, util
import time
Теперь вы хотите настроить плату Arduino. В этой статье предполагается, что вы используете Arduino Uno плата, хотя поддерживается несколько других плат Arduino. Обратитесь к pyFirmata github за подробной информацией о поддержке платы.
Проверьте, какой COM-порт вы используете в Arduino IDE, и введите его в свой код в качестве переменной доска.
board = Arduino("COM3")
Теперь вы настроите приглашение пользователя. Те, кто знаком с Python, узнают все здесь. Вы выводите вопрос на экран, используя вход функция и сохранить ответ в виде переменной. После того, как пользователь предоставил номер, программа сообщает, сколько раз будет мигать светодиод.
loopTimes = input('How many times would you like the LED to blink: ')
print("Blinking " + loopTimes + " times.")
Чтобы светодиод мигал соответствующее количество раз, вы используете для цикла. Если вы новичок в Python
Будьте осторожны с отступом, так как в отличие от других языков пробелы являются частью синтаксиса. Обратите внимание, что контакт 13 является встроенным светодиодом для Arduino Uno, вам нужно будет изменить его, если ваша плата отличается.
for x in range(int(loopTimes)):
board.digital[13].write(1)
time.sleep(0.2)
board.digital[13].write(0)
time.sleep(0.2)
Вы бросите loopTimes переменная к целому числу здесь, поскольку ввод от пользователя будет автоматически сохранен как строка. В этой простой демонстрации мы предполагаем, что пользователь введет числовое значение. Любая другая запись, такая как «восьмерка», выдаст ошибку.
Сохраните ваш скрипт и откройте Командная строка.
Мигающие огни и другие откровения
Все готово к работе, все, что вам нужно сделать, это перейти туда, где находится скрипт, и запустить его. Сделайте это, набрав cd [путь к каталогу скрипта] а затем печатать python blink.py.
Все в порядке, ваша программа запустится с небольшой задержкой, так как Arduino инициализирует, запросит у вас номер, а затем мигнет много раз, используя встроенный светодиод.
Вывод программы должен выглядеть так:
Как только вы нажмете Enter после выбранного количества миганий, Arduino выполнит ваши заказы.
Маленькие Начало
Этот проект стал началом взаимодействия между Python и платой Arduino. Этот подход сильно отличается от обычного рабочего процесса загрузки скриптов в сам Arduino, но он открывает совершенно новый способ работы с платформой, особенно если вам нравится язык программирования Python.
Если вы используете сервер Linux
дома этот метод связи с платами Arduino может превратить этот сервер в полноценную систему домашней автоматизации DIY. Путем объединения скриптов Python, управляющих микроконтроллером, со схемой автоматизации DIY
Ваш ящик для хранения NAS может взять на себя целый новый набор полезных функций.
Чтобы сделать его незабываемым, почему бы не создать собственную коробку NAS
и использовать его для управления своими приборами? Представьте, как здорово было бы нажать play на вашем Plex
сервер и выключить свет автоматически!
Вы уже управляете Arduino с помощью Python? Есть ли удивительные обходные пути, о которых мы просто еще не знаем? Дайте нам знать в разделе комментариев ниже!
Урок 1. Установка драйверов для модулей Arduino
Это первый урок из цикла «Знакомство с Arduino». В этом уроке Вы научитесь устанавливать драйверы для модулей Arduino.
Существует два типа модулей Arduino:
- Оригинальные;
- Китайские клоны.
Оригинальные модули Arduino производятся в Италии, в отличии от своих клонов из Китая. Т.к. Arduino является открытым проектом с общедоступными принципиальными схемами и топологиями печатных плат, то умельцы из Китая решили создать свои клоны Arduino. От оригинала они отличаются более низкой ценой (на порядок ниже) и более дешёвыми радиодеталями, установленными на печатной плате модуля. С точки зрения программирования и разработки электрических схем на базе клонов Arduino они ничем не отличаются от оригинала.
Как было сказано ранее, китайцы всячески стараются удешевить свои клоны Arduino. Одной из мер стала замена USB → UART конвертера. В оригинальных модулях Arduino стоят ATmega8U2, ATmega16U2 либо FT232RL, а в китайских клонах — Ch440G, т.к. она намного дешевле.
Поэтому драйвера оригинальных модулей Arduino и их китайских клонов различаются.
Далеко не у всех есть достаточно средств, чтобы покупать оригинальные модули, поэтому на данный момент китайские клоны стали очень популярными.
Перед установкой драйверов необходимо скачать и установить Arduino IDE. Дорогой читатель, подробное руководство по IDE можно прочитать в этом уроке.
Давайте рассмотрим, как же установить драйвера для модулей Arduino.
Установка драйверов для оригинальных модулей Arduino под OC Windows:
Для примера, мы будем устанавливать драйвера для оригинального модуля Arduino Uno.
В оригинальных модулях Arduino в качестве микросхем-преобразователей USB → UART используются микросхемы ATmega8U2, ATmega16U2 либо FT232RL. Драйвера для этих микросхем можно установить в автоматическом либо в ручном режиме.
Автоматическая установка:
Для начала подключите свой модуль Arduino к компьютеру. Если Ваш компьютер подключён к Интернету, то, скорее всего, необходимые драйвера установятся автоматически. Если этого не произошло, то необходимо вручную установить драйвера.
Ручная установка:
Если драйвера не установились в автоматическом режиме, то Вы увидите следующее сообщение:
Откройте диспетчер устройств. В разделе «Другие устройства» будет «Неизвестное устройство«. Это наш модуль Arduino Uno.
Нажмите правой кнопкой мыши на «Неизвестное устройство» и откройте «Свойства«.
На экране появится следующее окошко:
Нажмите на «Обновить драйвер«. В открывшемся окне нажмите на «Выполнить поиск драйверов на этом компьютере«.
Укажите директорию, в которую установлена Arduino IDE, а точнее её дочерняя папка «drivers» и нажмите «Далее«. Галочку напротив «Включая вложенные папки» нужно оставить!
Через небольшой промежуток времени драйвера установятся и наш модуль готов к работе.
Нажмите «Закрыть«. В диспетчере устройств в разделе «Порты (COP и LPT)» появится наш модуль Arduino Uno.
Устанавливать драйвера для оригинальных модулей Arduino мы научились. Теперь давайте перейдём к китайским клонам.
Установка драйверов для китайских клонов модулей Arduino под OC Windows:
Для примера, мы будем устанавливать драйвера для модуля-клона Arduino Nano.
В китайских клонах модулей Arduino в качестве микросхем-преобразователей USB → UART используется микросхема Ch440G. Драйвера для этой микросхемы, как и в случае оригинальных Arduino, можно установить в автоматическом либо в ручном режиме.
Автоматическая установка:
Для начала подключите свой модуль Arduino к компьютеру. Если Ваш компьютер подключён к Интернету, то, скорее всего, необходимые драйвера установятся автоматически. Если этого не произошло, то необходимо вручную установить драйвера.
Ручная установка:
Если драйвера не установились в автоматическом режиме, то Вы увидите следующее сообщение:
Далее откройте диспетчер устройств. В разделе «Другие устройства» будет «USB2.0-Serial«. Это наш модуль-клон Arduino Nano.
Скачайте архив с драйверами по этой ссылке. Откройте архив и запустите файл Ch44x_Install_Windows_v3_4.EXE.
Откроется следующее окошко:
Нажмите на кнопку «Install«. Запустится установка драйверов. Через небольшой промежуток времени появится сообщение о успешной установке драйвера. Нажмите на кнопку «OK«.
В диспетчере устройств в разделе «Порты (COP и LPT)» появится наш модуль-клон Arduino Nano. Теперь он готов к работе.
Уважаемый читатель, мы предлагаем Вам обратиться к разделу «Программирование» на нашем сайте. Там Вы найдёте описание и примеры работы с различными функциями программирования модулей Arduino.
Спасибо за то, что учитесь познавать удивительный мир радиоэлектроники вместе с нами.
Верьте в себя, учитесь и у Вас всё обязательно получится!
Удачи в дальнейших проектах!
Сборка программируемых электронных схем с набором “Arduino Uno Starter Kit”
Курс «Схемотехника на макетной плате»: 8 занятий по 1.5 часа для детей с 7 лет
Как работает стиральная и посудомоечная машины? Сложно ли понять устройство электроприборов в современном автомобиле? Можно ли собирать электронные схемы из настоящих радиодеталей без пайки?
Что такое микроконтроллер? Чем он отличается от микропроцессора, который есть в каждом компьютере или смартфоне? Как программировать электронные схемы и зачем этому учиться?
Ответы на эти и другие вопросы дети получат, пройдя курс «Схемотехника на макетной плате». Знакомство с миром программируемой электроники лучше всего начинать именно с него.
Набор «Arduino Uno Starter Kit» — лучший способ начального знакомства с миром программируемых электронных схем
Этот набор позволяет собирать программируемые электронные схемы на макетной плате без пайки. Детали и провода легко присоединяются к разъемам этой платы, образуя единую схему.
Набор «Arduino Uno Starter Kit» может пригодиться также для освоения продвинутого курса схемотехники или сборки и программированию роботов, так как содержит большое количество компонент, изучение которых не входит в программу данного курса.
Дети будут программировать на языке Scratch
Электронные схемы программируются при помощи блочного языка программирования Scratch.
Программа составляется из команд-кирпичиков, как из деталей конструктора.
Программируя схемы, учащиеся изучат линейные алгоритмы, циклы и ветвления.
Язык программирования Scratch легок в освоении и хорошо подходит начального знакомства с программируемыми схемами на базе микроконтроллера Arduino.
Программа рассчитана на детей с 7-ми лет
Курс «Схемотехника на макетной плате» содержит четкую и структурированную программу, адаптированную с учетом возраста ребят и особенностей групповых занятий.
На каждом уроке курса дети изучают новую тему, собирают электронную схему и программируют ее.
Курс рассчитан на 8 занятий по 1.5 часа.
От урока к уроку схемы усложняются, и на последнем занятии ребята соберут и запрограммируют схему игрового автомата.
Курс «Схемотехника на макетной плате» подходит для детей, только начинающих изучать схемотехнику и программирование.
Курс прошел апробацию
Курс проводился в нескольких группах учащихся младшего школьного возраста. Всего по программе курса занимались более 100 ребят разного уровня подготовки, от новичков до опытных учеников.
Все уроки курса «Схемотехника на макетной плате» проверены на практике.
Что необходимо для первого старта?
- Компьютеры по количеству учащихся.
- Проектор для презентаций.
- Наборы «Arduino Uno Starter Kit» для каждого ученика.
Требуемый уровень квалификации педагога
Специалистом по роботам быть не обязательно 🙂Для проведения курса «Схемотехника на макетной плате» педагог должен:
- Обладать базовыми знаниями об электричестве из школьного курса физики.
- Понимать такие физические явления, как электрический ток, проводники и изоляторы, сопротивление, короткое замыкание, полупроводимость, радиосвязь.
- Иметь опыт программирования микроконтроллера Arduino.
- Знать язык программирование Scratch.
- При подготовке к уроку изучить методические рекомендации, самостоятельно собрать схемы и выполнить все задания.
У вас есть возможность получить бесплатную консультацию по вопросам проведения курса.
Что входит в состав покупки
- Подробные методические рекомендации для проведения мастер-класса и, отдельно, 8 занятий длительностью 1 час 30 минут.
- Иллюстрации и схемы к каждому уроку.
- Техническая информация для подготовки и проведения курса.
- Консультационная поддержка по запуску и проведению курса в течение 6 месяцев после его приобретения.
Стоимость методического комплекта
“Программирование на плате Arduino UNO”
Тема:
«Программирование на плате
Arduino UNO»
Выполнил: ученик 7 «В» класса
Дастанбекулы Фараби
г. Алматы, 2018 год
Содержание:
Актуальность:
Плата Arduino дает больше возможностей программирования и экономии средств.
Цель:
Понять язык программирования.
Задачи:
Походка робота по указанным линиям.
Методы исследования:
Изучение литературы по данной теме;
Метод наблюдения;
Проведение анализов.
Гипотеза:
Изучить язык программирования.
Постановка проблемы
Данная проектная работа выполнялась для изучения программирования на примере конкретной модели. Этот проект позволил рассмотреть различную элементную базу и выбрать оптимальное решение для создания машины. Во время выполнения удалось:
Познакомиться с общими понятиями о робототехнике;
Понять язык программирования;
Понять ход работы программы;
На примере модели машины применить полученные знания.
Для данной работы была выбрана модель робота, которого я получил при участии в новогоднем конкурсе школы программирования и моделирования «Хакспейс».
Результативность данного проекта можно оценить по следующим параметрам:
Полнота полученных знаний;
Работоспособность проекта;
Возможность применения данного способа управления моделями в других проектах.
В качестве платформы использована модель робота.
Достоинства: нет необходимости проектировать механическую часть.
Недостатки: управление осуществляется самим роботом.
Так же для реализации необходимы:
Arduino UNO;
Аккумуляторные батареи;
Компьютер для создания и компиляции скетчей.
Проект предполагается выполнить в течение трех часов. Денежные средства на приобретение комплектующих и расходных материалов выделяются родителями.
Изучение специализированной литературы, плат Arduino и их характеристик;
Написание программы;
Отладка программы, исправление ошибок;
Сборка всех компонентов в готовое изделие;
Финальное тестирование готового изделия.
Arduino – торговая марка аппаратно-программных средств для построения простых систем автоматики и робототехники, ориентированная на непрофессиональных пользователей.
Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры. Аппаратная часть представляет собой набор смонтированных печатных плат, продающихся как официальным производителем, так и сторонними производителями. Полностью открытая архитектура системы позволяет свободно копировать или дополнять линейку продукции Arduino.
Arduino может использоваться как для создания автономных объектов автоматики, так и подключаться к программному обеспечению на компьютере через стандартные проводные и беспроводные интерфейсы.
Достоинства:
Простое подключение микроконтроллера к USB-порту компьютера;
Простая для обучения и использования среда разработки Arduino IDE (С++ подобный язык)
Большое количество плат расширения и библиотек к ним
Возможность использования как в простых, так и в сложных проектах (квадрокоптеры, 3Д принтеры, станки с ЧПУ и т.д.)
Высокая надежность и маленькое энергопотребление
Невысокая цена
5.2. Алгоритм работы программы
Работу программы можно разбить на 2 этапа. 1 этап – это инициализация. На этом этапе проводится подключение всех библиотек и установка начальных параметров модуля, определение всех переменных.
Основные действия при инициализации:
Все эти действия происходят непосредственно после включения питания модуля. После этого циклически выполняется 2 этап – непосредственно работа программы.
Программа (скетч) для Arduino пишется и компилируется в среде разработки Arduino IDE. Эта среда подсвечивает синтаксис языка, позволяет загружать и устанавливать сторонние библиотеки к всевозможным платам расширения, позволяет скомпилировать проект из исходного кода и записать полученный машинный при помощи загрузчика платы Arduino непосредственно в саму плату. После этого плата автоматически перезагружается, и новая прошивка сразу начинает работать. Это очень удобно, т.к. все действия, связанные с программированием и запуском программы на устройстве, выполняются в одной программе.
Корпус я выиграл в новогоднем конкурсе школы программирования и моделирования «Хакспейс».
Список литературы
Архангельский, А.Я. Приемы программирования в C++ Builder. Механизмы Windows, сети; Бином – М., 2016г. – 656 c.
Липпман, С основы программирования на C++; Вильямс – М., 2016г.
Саттер, Герб Новые сложные задачи на плате Ардуино: Вильямс, 2017г
Страуструп, Б. Язык программирования Ардуино; Радио и связь, 2016г.
Шмидт, Дуглас; Хьюстон, Стивен Программирование сетевых приложений на Ардуино. Том 1. Профессиональный подход к проблеме сложности: ACE и паттерны; Бином – М., 2016г. – 304 c.
«Изучаем Arduino. Инструменты и методы технического волшебства», Джереми Блум, 2016г.
«Программирование микроконтроллерных плат Arduino/Freeduino», Улли Соммер, 2016г.
Интернет ресурсы, образовательные сайты:
http://remotexy.com
https://ru.wikipedia.org/wiki/Arduino
Про Ардуино и не только: Arduino as ISP
Есть у меня пара идей для будущих публикаций, но в них будет использоваться программатор. Поэтому сегодня я расскажу о том, как превратить Ардуино в ISP программатор, для чего он нужен и как им пользоваться. А в качестве примера будет описана процедура прошивки загрузчика в Ардуино.
ISP (In-System Programming) расшифровывается как внутрисхемное программирование. Это технология, которая позволяет программировать микроконтроллер, установленный в устройство. До появления этой технологии микроконтроллеры программировались перед установкой в устройство, а для их перепрограммирования требовалось их извлечение из устройства.
Существует 2 основных подхода внутрисхемного программирования:
Одной из важнейших особенностей Ардуино является возможность программирования непосредственно через USB порт, без дополнительного программатора. Сразу после включения Ардуино запускается загрузчик, который работает несколько секунд. Если за это время загрузчик получает команду программирования от IDE по последовательному интерфейсу UART, то он принимает и загружает новую программу в память микроконтроллера.
Использование загрузчика существенно упрощает процесс перепрограммирования микроконтроллера, что особенно полезно при отладке. Но за удобство приходится платить. Во-первых, загрузчик занимает часть ПЗУ и для программы пользователя остается меньший объем памяти. Во-вторых, загрузчик не может изменить Fuse-биты и Lock-биты (в отличие от программаторов). Ну и, конечно, не обойтись без программатора, если вы хотите обновить бутлоадер или загрузить его в чистый МК. Таким образом существует ряд задач, которые могут быть выполнены только с использованием программатора. Если же у вас нет аппаратного программатора, то вместо него можно воспользоваться Ардуино, о чем и будет рассказано дальше.Arduino as ISP. Прошивка загрузчика в Ардуино.
Итак, мы решили превратить Ардуино в программатор. Для примера попробуем прошить загрузчик в целевую плату Ардуино. Сначала подготовим плату, которую будем использовать в качестве программатора. Для этого загрузим в нее скетч ArduinoISP, его можно найти в стандартных примерах:Теперь подсоединим к ней плату, в которую хотим прошить загрузчик. При прошивке используются линии SPI (Serial Peripheral Interface – последовательный периферийный интерфейс). Выводы MOSI, MISO и SCK обеих плат должны быть соединены, а вывод SS Ардуино-программатора подключается к выводу Reset целевой платы. И еще 2 провода нужны чтобы запитать целевую плату. Также может потребоваться предотвратить автоматическую перезагрузку платы-программатора, для этого между ее выводами Reset и GND нужно установить электролитический конденсатор на 10мкФ. Сначала можно попробовать без конденсатора, если же прошивка не начнется, то попробуйте добавить в схему конденсатор. По моим наблюдениям конденсатор нужен при использовании дешевых Ардуино-клонов (без контроллера ATmega8u2) в качестве программатора.
Если мы работаем с двумя платами Arduino Uno, то схема их подключения может выглядеть следующим образом:
Если используются не Uno, а другие платы Ардуино, то перед подключением программатора к целевой плате необходимо уточнить расположение на них выводов MOSI, MISO и SCK. Их расположение для различных плат приведено ниже в таблице. Как вы можете видеть, не на всех платах Ардуино линии SPI мультиплексированны с цифровыми выводами, поэтому для подключения к данному интерфейсу необходимо использовать разъем ICSP. Ниже показан пример подключения Uno в качестве программатора к плате Nano через ICSP разъем.
Плата Ардуино | MOSI | MISO | SCK | Уровень |
---|---|---|---|---|
Uno, Duemilanove | 11 или ICSP-4 | 12 или ICSP-1 | 13 или ICSP-3 | 5В |
Nano | 11 или ICSP-4 | 12 или ICSP-1 | 13 или ICSP-3 | 5В |
Pro Mini | 11 | 12 | 13 | 3.3В или 5В |
Mega1280, Mega2560 | 51 или ICSP-4 | 50 или ICSP-1 | 52 или ICSP-3 | 5В |
Leonardo | ICSP-4 | ICSP-1 | ICSP-3 | 5В |
Due | ICSP-4 | ICSP-1 | ICSP-3 | 3.3В |
Zero | ICSP-4 | ICSP-1 | ICSP-3 | 3.3В |
101 | 11 или ICSP-4 | 12 или ICSP-1 | 13 или ICSP-3 | 3. 3В |
Подключение Uno в качестве программатора к плате Nano через ICSP |
Теперь необходимо вернуться в Arduino IDE и изменить в ней параметры:
- В меню Инструменты > Плата выбираем вариант, соответствующий нашей целевой плате.
- В меню Инструменты > Программатор выбираем Arduino as ISP.
Подключаем плату-программатор к компьютеру, открытый в данный момент скетч значения не имеет, выбираем пункт меню Инструменты > Записать загрузчик и дожидаемся сообщения об успешном завершении операции. На этом прошивка бутлоадера в Ардуино завершена. Кроме того процедура прошивки бутлоадера включает в себя установку фьюзов микроконтроллера. Подробнее о фьюзах будет рассказано в следующей публикации.
Резюмируя вышеописанное, выделим основные шаги для прошивки загрузчика с использованием Ардуино в качестве ISP программатора:
- Запускаем Arduino IDE, открываем из примеров скетч ArduinoISP и загружаем его в плату Ардуино, которую будем использовать как программатор.
- Подключаем к Ардуино-программатору целевую плату по приведенной схеме.
- Меняем плату в Arduino IDE на целевую.
- Выбираем в IDE программатор Arduino as ISP.
- Записываем загрузчик в целевую плату командой из меню IDE.
Прошивка скетча с использованием Arduino as ISP
Еще один пример использования программатора – это загрузка скетча в целевую плату. Разумеется, это проще сделать привычным способом, подключив ее напрямую к компьютеру, но это может оказаться невозможным, например, при выходе из строя контроллера ATmega8u2/ATmega16u2 или преобразователя USB/UART. Если при этом основной микроконтроллер Ардуино остался рабочим, то мы можем прошить его, используя программатор. Для этого выполняем все шаги, описанные выше, но на последнем этапе вместо записи загрузчика необходимо:- Открыть в Arduino IDE интересующий скетч.
- Загрузить скетч в целевую плату командой из меню IDE: Скетч > Загрузить через программатор.
Таким образом можно подарить вторую жизнь плате Ардуино, которую компьютер уже не видит через USB.
Программное обеспечение | Arduino
Arduino Web Editor
Начните кодирование онлайн и сохраните свои эскизы в облаке. Самая последняя версия IDE включает в себя все библиотеки, а также поддерживает новые платы Arduino.КОД НАЧАЛО РАБОТЫ
Arduino IDE 1.8.13Программное обеспечение Arduino с открытым исходным кодом (IDE) позволяет легко писать код и загружать его на плату. Это программное обеспечение можно использовать с любой платой Arduino.
Инструкции по установке см. На странице «Начало работы».
ИСХОДНЫЙ КОД
Активная разработка программного обеспечения Arduino ведется на GitHub. См. Инструкции по созданию кода. Архивы исходного кода последней версии доступны здесь. Архивы подписаны PGP, поэтому их можно проверить с помощью этого ключа gpg.
Экспериментальное программное обеспечение
Arduino IDE 2.0 beta (2.0.0-beta.4)Новая основная версия Arduino IDE стала быстрее и мощнее! В дополнение к более современному редактору и более отзывчивому интерфейсу он имеет автозаполнение, навигацию по коду и даже живой отладчик.
Примечание. Это программное обеспечение все еще находится в статусе beta , что означает, что оно почти завершено, но могут возникнуть незначительные проблемы. Помогите нам протестировать его и поделитесь своим мнением на форуме!
Вы также можете найти дополнительную информацию о выпуске здесь.
ИСХОДНЫЙ КОД
Arduino IDE 2.0 имеет открытый исходный код, и ее исходный код размещен на GitHub.
Другие загрузки
ARDUINO YÚN LINUX OSOpenWRT – Yún 1.
5.3 Обновление образаЗагрузите последнюю стабильную ОС GNU / Linux для вашего Yún.Это делает ваш Yún более стабильным и многофункциональным.
Простая процедура установки (рекомендуется)
Следуйте инструкциям руководства Yún sysupgrade.
Расширенная процедура установки
Эта процедура рекомендуется только опытным пользователям, которые хотят полностью перепрограммировать Yún, включая его загрузчик U-Boot. Эти инструкции по перепрошивке базовых образов предназначены только для справки. Следование им приведет к аннулированию гарантии Yún.
Условия использования
Загружая программное обеспечение с этой страницы, вы соглашаетесь с указанными условиями.
Программное обеспечение Arduino предоставляется вам «как есть», и мы не даем никаких явных или подразумеваемых гарантий в отношении его функциональности, работоспособности или использования, включая, помимо прочего, любые подразумеваемые гарантии товарной пригодности, пригодности для конкретной цель или нарушение. Мы прямо отказываемся от какой-либо ответственности за любые прямые, косвенные, побочные, случайные или особые убытки, включая, помимо прочего, упущенную выгоду, упущенную прибыль, убытки, возникшие в результате прерывания бизнеса или потери данных, независимо от формы иска или правовой теории в соответствии с ответственность за которые может быть возложена, даже если было сообщено о возможности или вероятности такого ущерба.
Начало работы с Arduino UNO R3
Начало работы с Arduino. В этой статье я объяснил основы аппаратного и программного обеспечения Arduino. Как использовать Arduino в первый раз? Как подключить плату Arduino к компьютеру? Как начать изучать Ардуино? Я ответил на все вопросы в этой статье. Если вы новичок в изучении Arduino, эта статья для вас. Arduino – это простая в освоении микрокомпьютерная система. Многие студенты-инженеры используют его в своих проектах, а также профессионалы.Потому что это готовая к использованию доска.
В этой статье я рассмотрел следующие вещи:
- Что такое Ардуино?
- Применение Arduino.
- Программное обеспечение для Arduino
- Как программировать Arduino?
- Основной вид Arduino Uno R3 borad
- Что такое оболочки Arduino?
- Проекты для начала работы с Arduino
- Откуда узнать больше об Arduino?
Что такое Ардуино?
Arduino – это аппаратная плата с открытым исходным кодом со множеством библиотек с открытым исходным кодом для взаимодействия своего встроенного микроконтроллера со многими другими внешними компонентами, такими как светодиоды, двигатели, ЖК-дисплей, клавиатура, модуль Bluetooth, модуль GSM и многие другие вещи, которые нужно взаимодействовать с платой Arduino.Arduino в основном состоит из микроконтроллера, но у Arduino есть все внешние разъемы для подключения к другим устройствам, а также встроенный программатор, который используется для программирования Arduino с компьютера. Итак, Arduino – это полноценная плата, которая включает в себя все необходимое для подключения к внешним периферийным устройствам и легко программируется через компьютер. Доступно множество плат Arduino. Но в этой статье я дам вам краткий обзор Arduino UNO R3, который очень популярен среди студентов инженерных специальностей.
Arduino – одна из самых превосходных электронных платформ 21 века, она объединила всю систему микроконтроллера в маленькое и удобное устройство.Это оборудование с открытым исходным кодом, и любой может использовать его из-за его дружественности и простоты, и его можно использовать для создания сложных проектов с помощью простых алгоритмов программирования. Это не только для использования дизайна и разработки, но и для бесконечного тестирования прототипов и оборудования. Аппаратное обеспечение состоит из разных микроконтроллеров в зависимости от модели, которую вы используете с другими электронными компонентами, которые могут быть запрограммированы с использованием собственного программного обеспечения Arduino IDE для выполнения практически любых задач, начиная от простого светящегося светодиода до создания Mars Rover и Drone Systems. Дружелюбный к человеку характер языка Arduino упрощает задачу для всех, кто хочет создавать различные прототипы и оборудование для собственных интересов, а также для некоторых промышленных целей. Кроме того, он обладает упрощенной версией C ++, которая упрощает создание программ самостоятельно.
Arduino предназначен для людей, которые хотят играть, запускать и создавать сложное оборудование, не обладая при этом хорошими навыками программирования и алгоритмическими знаниями. Это лучшая платформа с открытым исходным кодом, доступная в настоящее время на рынке, которая произвела новую революцию в использовании после того, как пользовалась огромным спросом у общественности.Поскольку это оборудование с открытым исходным кодом, большинство программ и оборудования доступно в Интернете. Стоимость разработки Arduino чрезвычайно мала по сравнению с микроконтроллерами других технологических гигантов.
Его программные файлы включают в себя базовые программы для новичков в библиотеках исходного кода. Пользователь может использовать их, чтобы сделать свой проект универсальным, и может дальше редактировать программу для улучшения ее возможностей, а также обладает сильными платформами онлайн-сообщества для оказания помощи.
Приложения Arduino
Arduino очень прост в использовании для встраиваемых системных приложений.Из-за доступности программного обеспечения Arduino с открытым исходным кодом и тех, кто не имеет хороших навыков программирования, но все же хочет работать над проектом встроенной системы, они могут легко использовать Arduino для разработки своих базовых проектов встроенных систем. Следует иметь представление только об основах электроники, таких как использование резистора, конденсатора, транзистора, диода и других основных электронных компонентов, чтобы начать работу с Arduino. Но если вы ничего не знаете об электронике, не волнуйтесь, я все обсудил в руководствах по Arduino.Ниже приведены несколько приложений Arduino:
.- Робототехника
- Gsm базовые проекты
- Базовые проекты Ethernet
- Wi-Fi
- Bluetooth
- И многие другие.
Программное обеспечение и как программировать Arduino
Программное обеспечение, используемое для программирования Arduino, можно загрузить бесплатно. Чтобы загрузить программное обеспечение Arduino, посетите веб-сайт Arduino www.Arduino.cc. Его очень легко установить, и я предполагаю, что вы достаточно умны, чтобы знать, как загрузить и установить программное обеспечение Arduino на свой компьютер.Программное обеспечение Arduino предоставляет вам эскизы для различных библиотек, таких как GSM, Ethernet, Buletooth и многих других. Чтобы узнать, как программировать Arduino с помощью или как загрузить эти скетчи на плату Arduino, посмотрите видео в конце этой статьи. Цифрама программы представлена ниже:
Программное обеспечение ArduinoБазовый обзор Arduino UNO R3
На схеме ниже показан общий обзор Arduino UNO R3. Я также описал каждую часть платы с помощью нумерации, и описание каждого номера приведено ниже:
Компоненты Arduino:
Arduino обладает обширным семейством моделей и версий, но в этой статье мы обсудим основные компоненты, которые присутствуют во всех моделях Arduino. Приложения Arduino могут варьироваться от мигающих светодиодов, работающих двигателей, устройств GPS, динамиков, камер, Интернета и не только. это также может поддерживать ваш смартфон и телевизор.Это наглядно доказывает тот факт, что это самые эффективные микроконтроллеры на рынке, и некоторые эксперты называют его «мини-компьютером».
Он также включает в себя создание простых роботов-последователей линии до манипуляторов с 6 степенями свободы, создание автоматических систем дверных замков, а также усовершенствованную систему безопасности для вашего дома.
Компонентов на плате:
контактов (5 В, 3,3 В, GND, аналоговый, цифровой, PWM, AREF)- GND (3) : для заземления вашей цепи.
- 5 В (4) и 3,3 В (5) : питание 5 В для работы светодиодов.
- Аналог (6) : для аналога датчика.
- Цифровой (7) : цифровые контакты для цифрового входа.
- PWM (8) : обеспечивает разрешение 255.
- AREF (9) : Подставки для аналогового задания.
Имеет кнопку сброса и, нажав на нее, перезапустите программу.
Светодиодный индикатор питанияИндикатор как только вы подключите плату к компьютеру.
TX RX СветодиодыTX предназначен для передачи, а RX для приема. Для последовательной связи.
Основная микросхемаОсновное ядро и сердце платы.
Регулятор напряженияДля преобразования 5в для платы.
Обзор Arduino UNO R3- Цифровые входные или выходные контакты для связи с внешними устройствами. Пины
- ICSP, я расскажу о них в следующих уроках.
- Встроенный микроконтроллер ATMEGA32.
- Аналоговые выводы и выводы питания. Аналоговый вывод используется для связи с аналоговым миром, таким как датчики и т. Д., В основном это каналы аналогово-цифрового преобразователя. Подробности в следующих статьях об Arduino.
- Разъем источника питания постоянного тока 9-12 В
- Встроенный программатор для загрузки скетча в микроконтроллер ATMEGA32 USB-разъем
- используется для подключения Arduino UNO R3 к компьютеру и для загрузки эскизов с компьютера на встроенный микроконтроллер.
Что такое Arduino Sheilds
ПлатаArduino – это простые в использовании платы, которые можно использовать для выполнения различных задач.На рынке доступны различные панели Arduino. Но вы также можете сделать эти панели Arduino самостоятельно, если у вас достаточно навыков проектирования схем. Но если вы хотите сделать свой проект в кратчайшие сроки, то вы можете приобрести эти щиты. Названия некоторых из известных щитов приведены ниже:
- Щиток контроллера мотора
- Экран Bluetooth
- WiFi щит
- Интерфейс камеры
- Щит ZigBee
- GSM щит
- и многие другие.
Откуда узнать больше об Arduino
Я пишу полные 8-10 статей по Arduino, которые включают в себя различные простые проекты. Эти простые простые проекты помогут вам быстро изучить Arduino. Для получения более подробной информации перейдите по ссылке:
Руководства по Arduino
Чтобы узнать больше о том, как использовать программное обеспечение Arduino, посмотрите следующее видео.
Arduino UNO R3, руководство , автор bilalmalikuet
, пожалуйста, поделитесь им со своими друзьями, щелкнув значки обмена, показанные ниже.
Запуск программного обеспечения и тестирование Arduino Uno
Запустите приложение Arduino
Дважды щелкните приложение Arduino в папке, в которую вы его распаковали.
Открыть пример кода
Arduino IDE с тестовым кодом
NAROM имеет компиляцию программных кодов, которые будут использоваться во время курса.
Чтобы использовать код для тестирования Arduino Uno, скопируйте текст в текстовый файл Arduinotest (перейдите по ссылке) и вставьте его в только что открытое окно эскиза Arduino.(См. Рисунок справа)
Выберите свою доску
Выбор платы
. Вам нужно выбрать в меню «Инструменты» → «Плата» запись (см. Рисунок слева), соответствующую вашему Arduino. В противном случае вы не сможете связаться с платой Arduino Uno.
Выберите свой последовательный порт
Выберите последовательное устройство платы Arduino в меню Инструменты → Последовательный порт.
Выбор последовательного COM-порта
Вероятно, у вас будет несколько доступных COM-портов.Скорее всего, у Arduino будет самый большой номер COM-порта. Чтобы убедиться в этом, вы можете отключить плату Arduino и снова открыть меню; пропадающая запись должна быть платой Arduino. Снова подключите плату и выберите правильный последовательный порт.
В версии 1.6.12 Arduino IDE правильный com-порт будет помечен (Arduino / Genuino Uno) в списке портов.
Загрузка программы
Загрузка кода
Теперь просто нажмите кнопку «Загрузить» (стрелка вправо слева, как отмечено на рисунке слева) в компиляторе.
При первом использовании нового эскиза вас иногда попросят сохранить эскиз в папке с тем же именем, что и ваш эскиз, прежде чем он будет запущен должным образом.
Подождите несколько секунд – на плате Arduino должны мигать светодиоды RX и TX. Если загрузка прошла успешно, появится сообщение «Done uploading». появится в строке состояния.
Чтение данных
Открытие последовательного монитора
Откройте Serial Monitor, чтобы просмотреть данные, полученные от платы Arduino Uno.
Последовательный монитор открывается щелчком по значку справа на панели инструментов (рисунок справа). Serial Monitor откроет новое окно, которое предоставит вам последовательный текстовый поток данных, напечатанных с платы Arduino.
Тестирование платы Arduino Uno
Чтобы убедиться, что вы получаете правильные данные, вы можете протестировать их, установив для каждого канала заземление и питание и считывая вывод в последовательном мониторе. Для этого вам понадобится провод для соединения входных разъемов и разъемов питания на плате Arduino Uno.
- Подключите один конец провода к порту A0
- Подключите другой конец к порту GND
- Analog0 в последовательном мониторе теперь должно показывать 0,0 вольт
- Снимите провод с GND и подключите его к 5V
- Analog0 теперь должно показывать примерно 5,0 вольт
- Отсоедините провод от 5V и подключите к 3.3V
- Analog0 должен теперь показывать примерно 3,3 вольт
- Повторите ту же процедуру с A1, D2 и D3
- У вас одинаковое значение цифрового порта в обоих 3. 3В и 5В?
Программирование микроконтроллеров AVR и Arduino с использованием Arduino ISP
Всем микроконтроллерам (MCU) требуется какой-то механизм для их программирования, даже если они программируются только один раз. Обычно программный код пишется на главном компьютере, затем он компилируется или транслируется, а объектный (машиночитаемый) код загружается в MCU («цель») с ПК («хост») с помощью кабеля ( обычно USB или RS232), который (с некоторым программным обеспечением) часто называют «программистом».«После программирования микроконтроллер функционирует так, как закодировано.
Одним из очень популярных производителей плат для разработки микроконтроллеров является компания Arduino из Италии. Многие платы Arduino оснащены микроконтроллерами AVR, для которых также требуются программисты для сохранения программ, созданных на главном компьютере, в память целевого микроконтроллера, например микроконтроллер AVR. Внешние программаторы часто используются для микроконтроллеров AVR и могут быть дорогостоящими.
Большинство целевых микроконтроллеров приходится программировать несколько раз во время разработки проекта, поэтому невозможно удалить микроконтроллер из схемы для его программирования.Многие микроконтроллеры, включая процессоры AVR, можно программировать с помощью встроенного программатора (ISP), поэтому их не нужно снимать с печатной платы. [i]
По умолчанию платы Arduino имеют резидентный код MCU, называемый загрузчиком. Загрузчики – это первые программы, которые населяют MCU, когда вы их включаете. Загрузчики инструктируют MCU, что загружать или делать дальше. Arduino упрощает использование связи между хостом ПК и микроконтроллером (целевым), установленным на плате, с помощью интегрированной среды разработки (IDE).IDE является резидентной и включает инструменты, которые разработчики могут использовать для программирования, компиляции и отладки целевого MCU.
Загрузчик также поддерживает связь между Arduino IDE и платой Arduino через USB. Загрузчик отвечает за запись кода на чипе, поступающего из Arduino IDE.
Платы разработкиArduino имеют общий дизайн, который делает их простыми в использовании, включая бесплатные программные инструменты. Платы контроллеров Arduino очень популярны для начинающих во встраиваемом программировании и часто используются в образовательных учреждениях.Простое USB-соединение между платой разработки Arduino (целевой) и хост-компьютером делает Arduinos подходящим для разработки встроенных проектов без необходимости понимать , как получить программный код в MCU и запустить код оттуда. (Arduino называет программу или код «эскизом».) Платы Arduino больше всего подходят для небольших проектов.
Однако, если целью является разработка экономичного продукта, то создание больших объемов плат производственного качества с использованием микроконтроллера AVR на специально разработанной печатной плате дешевле, чем покупка сотен или тысяч плат Arduino, заполненных одним и тем же микроконтроллером AVR. .Тем не менее, многие использовали недорогие платы разработки Arduino (и аналогичные) в качестве установленного конечного продукта, если это дешевле, чтобы избежать создания и наполнения небольшими партиями печатных плат.
ПлатыArduino имеют небольшое количество универсальных вводов / выводов и могут использоваться для множества различных целей. Например, платы Arduino могут выступать в качестве инструмента программирования для других микроконтроллеров AVR, использующих Arduino ISP, и являются одним из самых простых и дешевых методов программирования микроконтроллеров AVR. Встроенный программатор Arduino – это встроенная функция, предлагаемая в бесплатной Arduino IDE.Интернет-провайдер позволяет программировать платы Arduino и другие микроконтроллеры AVR, используя другую плату Arduino, предназначенную для этой цели. [Ii]
Однако программирование недавно разработанной платы Arduino с использованием полнофункциональной платы Arduino (в качестве программиста – Arduino) имеет несколько условий. Во-первых, «программист-Arduino» (Arduino, который вы настроили как программист) должен быть настроен как как ISP. Эскиз (код) по умолчанию доступен в примере кода в меню «Файл» среды Arduino IDE.[iii] Скетч Arduino ISP передает необходимые инструкции программисту-Arduino для настройки в режиме программирования.
Рисунок 1: Вариант эскиза Arduino ISP. (Источник: скриншот автора) Рисунок 2: Скетч Arduino ISP. (Источник: снимок экрана автора)За состоянием программатора-Arduino можно следить, подключив светодиоды, как показано на рисунке. Скетч Arduino ISP предварительно запрограммирован для этой функции.
Рисунок 3: Подключение светодиодов Arduino. (Источник: скриншот автора)Контакт 7 = Программирование (включается во время программирования)
Контакт 8 = Ошибка (включается в случае ошибки программирования)
Контакт 9 = Heartbeat (остается включенным после включения программатора)
После настройки программатора-Arduino устанавливается соединение между программатором-Arduino и целью Arduino.Конфигурация контактов должна быть выполнена точно так, как указано в эскизе Arduino ISP.
Интернет-провайдер Arduino обменивается данными с помощью протокола последовательного периферийного интерфейса (SPI) для программирования микроконтроллеров AVR. Связь SPI использует 4 логических сигнала: MOSI, MISO, SCLK и SS. Помимо I 2 C, SPI является одним из наиболее часто используемых способов связи для микроконтроллеров. SPI следует архитектуре ведущий-ведомый, что означает, что ведущее устройство может обмениваться данными с несколькими ведомыми устройствами, используя одни и те же выводы данных, а целевое ведомое устройство выбирается с помощью линии выбора ведомого.Если есть карты памяти, выбор ведомого используется для выбора конкретной микросхемы среди множества микросхем. Однако, когда вы используете Arduino в качестве инструмента программирования, сигнал выбора ведомого используется только для сброса микроконтроллера. Сброс микроконтроллера переводит его в состояние приема команд от программатора Arduino. [iv]
На программаторе-Arduino контакты 10, 11, 12 и 13 используются в качестве контактов данных. Конфигурации следующие:
Контакт 10 = СБРОС
Контакт 11 = MOSI
Контакт 12 = MISO
Контакт 13 = SCK
Контакты 5 В и заземления могут быть подключены от программатора Arduino.Важно подключить опорную землю обоих Arduinos, чтобы избежать сбоев, а также для обеспечения безопасности.
Внутрисхемное последовательное программирование (ICSP) – это возможность программирования микроконтроллера без отключения от схемы. Заголовок ICSP физически доступен на плате Arduino в виде 6 контактов. Соедините контакты 11, 12 и 13 целевой Arduino с контактами 11, 12 и 13 вашего программатора Arduino. Обратите внимание, что контакт 10 вашего программатора Arduino должен подключаться к контакту сброса вашей целевой Arduino.В качестве альтернативы, выводы заголовка ICSP могут использоваться для связи SPI. (См. Рисунок 4).
Рисунок 4: Заголовок Arduino ICSP. (Источник: снимок экрана автора)После подключения всего вышеперечисленного вам необходимо определить, что вы используете режим программатора с вашего хост-компьютера. Перейдите в меню «Инструменты» и выберите «Arduino as ISP» в параметрах «Программист». (См. Рисунок 5).
Рисунок 5: Настройка программиста Arduino в качестве интернет-провайдера (Источник: снимок экрана автора)Затем загрузите загрузчик в память вашей целевой Arduino, а затем определите свои «предохранители.«В Arduino-land плавкие предохранители представляют собой набор инструкций для определения нескольких функций микроконтроллера. Например, частота микросхемы и источник тактирования определены в предохранителях. Микроконтроллеры чувствительны к рабочему напряжению, и если уровень напряжения упадет ниже определенного уровня, микроконтроллер может выйти из строя. Минимальное рабочее напряжение также определяется внутри предохранителей. [v]
Вышеупомянутые шаги необходимы, если программатор-Arduino должен быть настроен так, чтобы он был совместим с Arduino IDE для прямой загрузки эскиза.Параметр «записать загрузчик» также находится в меню инструментов и записывает загрузчик на целевой Arduino (см. Рисунок 6).
Рисунок 6. Вариант записи загрузчика (Источник: снимок экрана автора)Если микроконтроллер или плата Arduino могут взаимодействовать с программой Arduino IDE, это дает различные преимущества, например, возможность проверять результаты во время выполнения с помощью последовательного монитора Arduino IDE. (Serial Monitor открывается в отдельном окне, действуя как независимый терминал, который принимает и отправляет последовательные данные.)
Если загрузчик не загружен в микроконтроллер, он не сможет использовать функции Arduino и не сможет взаимодействовать с Arduino IDE. vi Загрузчик использует часть памяти. В некоторых случаях использование Arduino IDE не требуется, поэтому не нужно программировать загрузчик. Если загрузчик не запрограммирован, можно освободить больше памяти для основного скетча программы. Например, в Arduino UNO общий размер памяти составляет 32 КБ, а 0.Под загрузчик отведено 5 КБ памяти. vii Если загрузчик не установлен, общая память, доступная для основного эскиза программы, больше.
Arduinos хороши для изучения и экспериментирования с новыми идеями. Поскольку Arduino имеет открытый исходный код, включая схемы проектирования оборудования и файлы Gerber, любой может скопировать Arduino, изменить его и использовать в коммерческом контексте, если захочет. Arduinos – это не совсем дойная корова, а, скорее, труд любви, переопределяющий, как передается встроенное оборудование.
i https://ieeexplore.ieee.org/document/8005274
ii https://www.arduino.cc/en/Guide/ArduinoISP
iii https://www.arduino.cc/en/Tutorial/ArduinoISP
iv https://www.arduino.cc/en/Reference/SPI
в https://www. arduino.cc/en/Hacking/MiniBootloader
vi https://www.arduino.cc/en/Tutorial/ArduinoISP
vii https://en.wikipedia.org/wiki/Arduino_Uno#Technical_specifications
Как кодировать Arduino с Chromebook
Я уже упоминал, что использую Chromebook для занятий CompSci в моем местном общественном колледже.Благодаря проекту Crostini, который устанавливает полный дистрибутив Debian Linux, я могу использовать Linux-версии различных инструментов разработчика. Они отлично работают на моем Pixel Slate, но недавно я купил Chromebook более высокого класса с 16 ГБ ОЗУ, чтобы ускорить процесс кодирования.
К сожалению, один из двух моих занятий в этом семестре требует, чтобы мы использовали микроконтроллер Arduino. Это небольшое устройство подключается к компьютеру через USB, чтобы отправлять на него мои приложения. В какой-то момент это будет работать в Crostini, но на сегодняшний день со стабильным каналом Chrome OS 76 единственными USB-устройствами, поддерживаемыми в Crostini, являются телефоны Android.Даже использование флага, разрешающего неподдерживаемые USB-устройства, не работает с моей Arduino.
Итак, я решил посмотреть, какие у меня есть еще варианты, и оказалось, что их несколько. Некоторые из них бесплатны, а некоторые имеют ежемесячную плату, но все они работают непосредственно с Chrome OS в браузере; Linux не нужен!
Вот очень короткая демонстрация загрузки скетча – программы Arduino – на мое устройство с использованием одного из этих решений.
Arduino Create
Эта онлайн-среда разработки Arduino (показана на видео) является официальной веб-версией загружаемой IDE Arduino.Вы создаете свой набросок в браузере, и он сохраняется в облаке. Когда вы будете готовы запустить свой скетч, вы нажимаете кнопку, чтобы сервер скомпилировал ваш код, а затем отправляете его на ваше подключенное через USB устройство.
Эта услуга бесплатна для пробного использования в течение одного месяца, но имеет некоторые ограничения с точки зрения серверного времени, разрешенного для компиляции, количества поддерживаемых устройств, отсутствия пользовательских библиотек и т. Д. Для получения дополнительных функций и меньших ограничений вы можете приобрести подписку за 6,99 долларов США. месяц. Переход на годовую подписку экономит вам 12 долларов в год.
Chromeduino 2
Chromeduino 2 – это веб-расширение Chrome, которое также предоставляет среду разработки Arduino. Однако, поскольку само расширение не может компилировать эскизы, вам придется полагаться на внешний сервер Chromeduino.
Я упоминаю об этом только потому, что не знаю, кто управляет серверами – я видел три доступных при использовании Chromeduino 2 – и хотя я не подозревал бы ничего гнусного, я обычно не доверяю серверам, управляемым людьми или компаниями, которых я не незнаю.
Однако код Chromeduino 2 общедоступен для ознакомления и включает в себя код сервера.Я мог бы использовать это на своем собственном сервере и решить любые проблемы с безопасностью. На самом деле, мне интересно, смогу ли я запустить сервер Chromeduino 2 в контейнере Linux моего Chromebook, чтобы все работало локально. Это фактически позволило бы мне работать над эскизами Arduino полностью в автономном режиме. Хм….
Тем не менее, это бесплатное решение.
Codebender
Последним стал Codebender, еще одна онлайн-среда Arduino IDE для использования в браузере. У этого варианта есть несколько интересных особенностей. Главное, что привлекло мое внимание, – это то, что вы можете встроить Codebender в веб-страницы, чтобы поделиться своими эскизами с другими, чтобы они могли редактировать или отправлять их на собственную плату Arduino:
Однако это самая дорогая из всех, за 10 долларов в месяц или 100 долларов в год. Для преподавателей есть несколько вариантов, которые относительно недороги, если вы хотите, чтобы весь класс программировал на Arduinos.
Как только Linux на Chromebook официально будет поддерживать больше USB-устройств, все эти варианты, конечно же, станут спорными. А пока я могу продолжать использовать Chromebook на уроках компьютерной архитектуры, даже если это будет обходиться мне в несколько долларов в месяц. Удачного кодирования!
Программирование Arduino за несколько простых шагов
STEP 1
Микроконтроллеры Arduino бывают разных типов.Самым распространенным является Arduino UNO, но есть и специализированные варианты. Прежде чем приступить к сборке, проведите небольшое исследование, чтобы выяснить, какая версия будет наиболее подходящей для вашего проекта.
ШАГ 2
Для начала вам нужно установить Arduino Programmer, также известную как интегрированная среда разработки (IDE).
ШАГ 3
Подключите Arduino к USB-порту компьютера. Для этого может потребоваться специальный кабель USB. Каждый Arduino имеет свой виртуальный адрес последовательного порта, поэтому вам нужно будет перенастроить порт, если вы используете разные Arduinos.
ШАГ 4
Установите тип платы и последовательный порт в программаторе Arduino.
STEP 5
Протестируйте микроконтроллер с помощью одной из предварительно загруженных программ, называемых эскизами, в Arduino Programmer. Откройте один из примеров эскизов и нажмите кнопку загрузки, чтобы загрузить его. Arduino должен начать реагировать на программу: например, если вы настроили мигать светодиодным индикатором, он должен начать мигать.
ШАГ 6
Чтобы загрузить новый код в Arduino, либо вам потребуется доступ к коду, который можно вставить в программатор, либо вам придется написать его самостоятельно, используя язык программирования Arduino, чтобы создать свой собственный. эскиз.Скетч Arduino обычно состоит из пяти частей: заголовок с описанием скетча и его автора; раздел, определяющий переменные; программа установки, которая устанавливает начальные условия переменных и запускает предварительный код; подпрограмма цикла, в которую вы добавляете основной код, который будет выполняться многократно, пока вы не остановите выполнение скетча; и раздел, в котором вы можете перечислить другие функции, которые активируются во время настройки и подпрограмм цикла. Все эскизы должны включать в себя процедуры настройки и цикла.
STEP 7
После того, как вы загрузили новый скетч в Arduino, отключите его от компьютера и интегрируйте в свой проект, как указано.
Этот проект был взят из Большая книга хаков: 264 удивительных технических проекта своими руками _ сборник гениальных и веселых проектов для начинающих творцов. Купите здесь.
Программирование микроконтроллеров Arduinoдля начинающих | разработано специалистами по программному обеспечению j-labs
Проверьте, насколько просто и легко программировать микроконтроллер Arduino.
Компактный, мощный, с сотнями дополнительных компонентов, которые позволяют почувствовать себя настоящим инженером.
Пусть это руководство вдохновит вас на создание собственных устройств, микромашин, компонентов умного дома и многого другого!
Настройте свою плату и IDEШаг 1 – вам нужна плата Arduino. Существует множество типов плат, а также множество клонов, для начала, Arduino Uno – самый дешевый выбор.
Шаг 2 – Загрузите программное обеспечение Arduino Ide. Загрузите программное обеспечение IDE, совместимое с вашей ОС, с официальной страницы https://www.arduino.cc/en/Main/Software.
Программное обеспечение работает как с оригинальной платой, так и с более дешевыми клонами.
Шаг 3 – Включите плату. Подключите плату Arduino к ПК с помощью USB-кабеля.
Шаг 4 – Запустите и настройте IDE.
- Файл -> Новое для запуска нового проекта
- Инструменты -> Плата для выбранного типа платы, которую вы используете
- Инструменты -> Последовательный порт для выбора порта, плата подключена к
Теперь вы готовы к написать код.
Структура кода
Программное обеспечение Arduino имеет открытый исходный код. Исходный код среды Java выпускается под лицензией GPL, а библиотеки микроконтроллеров C / C ++ – под лицензией LGPL.
Структура кода состоит из двух основных функций:
· Функция Setup ()
· Функция Loop ()
Пустая настройка () {
}
Функция настройки используется для инициализировать переменные, режимы контактов, прикрепить библиотеки. Эта функция будет запускаться только один раз после включения платы или после сброса.
Пустой цикл () {
}
Эта функция циклически повторяется последовательно, позволяя программе изменяться и реагировать.Активно управлять платой
Содержит основное тело программы.
Создание проекта
В этом руководстве я буду использовать два модуля Arduino для создания простого детектора пыли / загрязнения.
Я буду использовать:
- DMS501 датчик пыли
- простой двухстрочный ЖК-дисплей (с поворотным потенциометром) 2 строки с 16 буквами для представления результата измерения.
- В качестве контроллера я использую Arduino Mega (клон), но все используемые модули можно подключить к плате Arduino.
Все модули, которые могут быть подключены к микроконтроллерам, имеют документацию с подробностями подключения.
Примечание:
Существует большое количество различных модулей, которые можно подключить к Arduino, и его соединительные контакты могут быть разными.
Производители всегда предоставляют необходимую вспомогательную информацию. Поищите в Интернете, как подключить ваши модули,
Существует множество руководств для любого типа дисплея / модуля, который у вас есть.
Может быть даже несколько способов подключения каждого модуля, после создания нескольких приспособлений вы поймете, как это сделать.
Схема выводов подключения ЖК-дисплея, как указывалось ранее, это не единственный способ сделать это с ЖК-дисплеем 2×16:
Описание контактов:
1 Земля (0 В) – Земля
2 Напряжение питания; 5 В (4,7 В – 5,3 В) – Vcc
3 Регулировка контрастности; через переменный резистор – VEE
4 Выбирает регистр команд при низком уровне и регистр данных при высоком – Регистр Выберите
5 Низкий для записи в регистр; Высокий уровень для чтения из регистра – чтение / запись
6 Отправляет данные на выводы данных при подаче импульса от высокого к низкому – Включить
7 8-битных контактов данных – D80
8 8-битных контактов данных – D81
9 8-битных выводы данных – D82
10 выводов 8-битных данных – D83
11 выводов 8-битных данных – D84
12 выводов 8-битных данных – D85
13 8-битных выводов данных – D86
14 8-битных выводов данных – D87
15 Backlight VCC (5V) – Led +
16 Backlight Ground (0V) – Led
И датчик пыли:
Полная схема подключения:
Код – переменные и библиотеки
Этот код C ++ универсален и будет работать на любой плате Arduino или клонировать.
Я разделил все переменные на первую часть кода.
В первую часть я включаю библиотеки для обоих модулей, чтобы в дальнейшем использовать их предопределенные методы.
Другая часть – определить PINS, к которым фактически подключаются кабели.
Setup ()
Часть настройки содержит код, который будет выполняться при запуске – только один раз.
Инициализация для двух модулей.
Шлейф для прогрева датчика.
Вывод информации на консоль и на ЖК-дисплей
Loop ()
Фактический код, который будет выполняться на устройстве в бесконечном цикле.
Запрос данных от датчика и очистка ЖК-дисплея для удаления текста счета.