• Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

Search the Community: Showing results for tags 'микрокомпьютер'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Main
    • Main
    • Programming
    • Hardware
    • Projects
    • Lessons
    • Other

Blogs

  • Уроки
  • 22 проекта на Omega2

Categories

  • Files

Categories

  • Articles

Calendars

  • Community Calendar

Found 1 result

  1. Данная статья поможет Вам наладить связь между микрокомпьютером Omega2 и платой Arduino Uno, чтобы совместить последнюю с интернетом вещей (IoT), а заодно и с преимуществами, которые он дает. Вам понадобятся следующие компоненты: Плата Arduino Uno Микрокомпьютер Onion Omega2+ Резистор номиналом 3,3 кОм Резистор номиналом 1,7 кОм Перемычки типа "папа-папа" Беспаечная макетная плата Предыстория Как только я узнал, что самая популярная у мейкеров плата Arduino и самый доступный микрокомпьютер Omega2+ поддерживают связь по UART интерфейсу, то мне сразу же захотелось связать оба этих устройств, чтобы совместить их преимущества воедино! Таким образом можно будет создать проект на Arduino, а затем совместить его с возможностями Омега2 — на базе первой создаем колесного робота, а вторую используем, чтобы добавить в проект управление по Wi-Fi или облачное хранилище (например, от Amazon). А вообще UART (Universal Asynchronous Receiver-Transmitter: универсальный асинхронный приемопередатчик) — это последовательный интерфейс передачи данных между двумя устройствами, которые взаимодействуют по трем каналам. Первый служит для передачи данных, второй, соответственно, для приема данных, а третий — для общей связи (можно сказать, ищет точки соприкосновения) между этими устройствами. Шаг 1: Подключение Ниже на схеме показано такое соединение. Резисторы нам понадобятся для того, чтобы собрать что-то вроде делителя напряжения, поскольку пятивольтовое (5V) напряжение на контактах платы Arduino совершенно не подходит для Omega2: его необходимо преобразовать в 3,3V. Подключать Омега2+ желательно через док-станцию, но если ее нет, то следуйте этой инструкции. Шаг 2: Включение Подключите плату Arduino Uno к компьютеру через USB порт, а затем включить микрокомпьютер Omega2+. Шаг 3: Программный код Откройте на компьютере Arduino IDE, а затем загрузите через нее в плату Arduino следующий код: #include <SoftwareSerial.h> SoftwareSerial gtSerial(8, 7); void setup() { Serial.begin(9600); gtSerial.begin(9600); } byte rx_byte = 0; void loop() { if (Serial.available()) { rx_byte = Serial.read(); gtSerial.write(rx_byte); } if (gtSerial.available()) { rx_byte = gtSerial.read(); Serial.write(rx_byte); } } Отлично! Плата Arduino готова к работе. Шаг 4: Тестирование Для проверки связи через последовательный порт воспользуемся монитором порта (открывается через раздел "инструменты" в Arduino IDE, либо сочетанием клавиш (Ctrl + Shift + M). Для того, чтобы написать и загрузить программу для Омега2, можно воспользоваться протоколом SSH, либо использовать утилиту терминала по настройке Omega2+. Для этого можете воспользоваться следующей инструкцией. Введите в терминал следующие команды, чтобы установить инструмент "экран". opkg update opkg install screen Для мониторинга данных с последовательного порта, подключенного к плате Arduino, введите следующую команду: screen /dev/ttyS1 9600 После запуска этой команды Вы увидите пустой экран. Попробуйте что-нибудь набрать на этом экране — эти данные отобразятся на мониторе порта в Arduino IDE. Точно также это работает и в обратном порядке: если отправить в последовательный порт информацию через поле для ввода в мониторе порта, то на пустом экране Вы увидите то же самое. Работает! Вы успешно установили UART соединение между двумя устройствами! Для более подробного ознакомления с возможностями UART протокола можно узнать здесь. Шаг 5: Используем библиотеку pySerial На практике чаще всего приходится работать с датчиками, обрабатывать массивы данных и прочее. Это лучше всего делать через скрипт, написанный на языке Python, поскольку он подходит для работы как с Arduino, так и с Omega2. На помощь приходит библиотека pySerial, которая включает в себя основные команды и функции. К примеру, можно использовать ее для программы считывания данных с датчиков и отправки полученных значений в облачное хранилище (например, AWS) через протокол MQTT. Для демонстрации возможностей этой библиотеки я написал простой код на Python, который считывает однозначные целые числа с последовательного сигнала с Arduino и отображает на экране консоли. Он показан ниже. Можете смело использовать его в своих проектах и экспериментировать с ним. import serial ser = serial.Serial('/dev/ttyS1', 9600, timeout = None) while True: input = ser.read() print(int(input)) На этом у меня все. Желаю успехов и удачной компиляции!