Как программировать Arduino с помощью Raspberry Pi

Arduino And Rpi

Запустить программу на Arduino просто, но вы пробовали сделать это с помощью Pi? Raspberry Pi достаточно мощен, чтобы быть самостоятельным компьютером, и также подходит для программирования микроконтроллеров.

Здесь мы используем Raspberry Pi 3 Model B+, чтобы заставить Arduino Uno мигать светодиодом!

Содержание

  • Почему вы хотите использовать Raspberry Pi для программирования Arduino
  • Что вам понадобится
  • Установка Arduino IDE
  • Программирование с помощью Arduino IDE
  • Этикет работы с Arduino
  • Часто задаваемые вопросы

Мы разделим это на две части: как установить Arduino IDE и как использовать IDE на Raspberry Pi. Хотя программировать Arduino можно через Platformio, делать это таким образом должно быть намного проще для новичка.

Почему вы хотите использовать Raspberry Pi для программирования Arduino

Как правило, вы хотите сделать это, потому что:

  1. Вы не можете использовать обычный компьютер.
  2. Вы хотите получить опыт обучения.

Но на самом деле есть и другие причины. На самом деле, существует неплохой компромисс между использованием настольного ПК и использованием вашего Raspberry Pi!

Плюсы

  1. Raspberry Pi потребляет гораздо меньше энергии, чем даже ноутбук.
  2. Вы можете запустить его от портативного зарядного устройства, когда у вас нет электричества.
  3. Экономит время, когда вы уже используете его как IoT-терминал.

Минусы

  1. Перегрев может стать проблемой для Raspberry Pi, если у вас нет вентиляции.

На данный момент Raspberry Pi вполне подходит, если вы делаете быстрый проект IoT, который можно сделать за выходные. Просто подключите ваши датчики, периферийные устройства и Arduino, затем введите свой код, чтобы увидеть его работу вместе с остальной частью вашей системы.

Но если вы все еще находитесь на стадии «нужно разобраться, как работает эта схема», пожалуйста, используйте правильный настольный ПК. Это поможет избежать головной боли.

Что вам понадобится

  1. Raspberry Pi с установленной операционной системой Raspberry Pi и USB-портами
  2. Arduino
  3. Один соединитель USB Type-A к USB Type-B
  4. Компьютерные периферийные устройства (монитор, клавиатура и мышь)
  5. Резистор на 250Ω (по желанию)
  6. Маленькая светодиодная лампочка (любого цвета, по желанию)
  7. Макетная плата и соединительные провода (по желанию)

Установка Arduino IDE

  1. Откройте Chromium (или любой другой браузер) и перейдите на https://www.arduino.cc/en/software.

  2. Выберите «Linux ARM 32 бита».

Chromium Arduino Arrowed Homepage

  1. Это должно привести вас на страницу, где вы можете скачать и/или сделать пожертвование. Вы можете нажать «Только скачать», если не хотите делать пожертвование.

Chromium Arduino Download Donate Page

  1. Это откроет новое окно. Вы можете изменить имя файла вверху и расположение загрузки слева. Кнопка «Сохранить» находится в нижнем правом углу.

Chromium Arduino Download Folder

  1. Вы найдете его в папке Загрузки (или в той папке, которую выбрали), когда загрузка завершится. Дважды щелкните по нему, чтобы запустить приложение Archiver. Это может занять несколько минут, прежде чем оно откроется.

Archiver Raspberry Pi Arduino Opening

  1. Archiver откроет ваш файл, но чтение может занять некоторое время. Внизу слева есть круг, который мигает красным и зеленым. Подождите, пока это завершится, прежде чем делать что-то еще. Вы можете в это время налить себе стакан воды.

Archiver Raspberry Pi Extracting Files

  1. Нажмите «Извлечь файлы». Это открытая коричневая коробка с оранжевой стрелкой, указывающей вправо.

Archiver Raspberry Pi Button Extract Files

  1. Это откроет новое окно, где вы сможете выбрать некоторые настройки. Вы можете изменить значение верхнего текстового поля, чтобы оно указывало на папку «Загрузки». В противном случае по умолчанию оно должно указывать на папку «tmp». Нажмите «Извлечь» в нижнем правом углу, чтобы завершить загрузку.

Archiver Raspberry Pi Extract Window

  1. Закройте Archiver, затем перейдите в новую папку и дважды щелкните по файлу «install.sh».

File Explorer Raspberry Pi Install Sh

  1. Нажмите «Выполнить» в новом окне.

  2. Arduino IDE должен быть доступен по пути «Логотип Pi -> Электроника -> Arduino IDE».

Raspberry Pi Icon Tray

Программирование с помощью Arduino IDE

  1. Запустите Arduino IDE через логотип Pi. Вы увидите зеленое окно, где вы сможете писать свой код.

Arduino Ide Raspberry Pi

  1. Скопируйте и вставьте следующий код:
void setup(){  
// поместите свой код установки здесь, чтобы он выполнялся один раз:  
  Serial.begin(9600);  
  pinMode(LED_BUILTIN, OUTPUT);  
}  
  
void loop(){  
// поместите свой основной код здесь, чтобы он выполнялся неоднократно:  
  digitalWrite(LED_BUILTIN, HIGH);  
  delay(500);  
  Serial.println("Светодиод включен");  
  digitalWrite(LED_BUILTIN, LOW);  
  delay(500);  
  Serial.println("Светодиод выключен");  
}

Этот код заставляет светодиод включаться и выводить «Светодиод включен» на серийном мониторе в течение 0,5 секунд, затем делает наоборот, выключая светодиод и выводя «Светодиод выключен» на то же время.

  1. Чтобы сохранить, нажмите «Файл -> Сохранить» или нажмите Ctrl + S на клавиатуре.

  2. Подключите кабели. Arduino Uno использует соединитель USB Type-A к USB Type-B. Квадратная сторона идет к Arduino, а прямоугольная сторона — к Raspberry Pi.

Type A To Type B Usb Connector 2

  1. Чтобы загрузить на Arduino, нажмите «Скетч -> Загрузить» или нажмите Ctrl + U на клавиатуре.

Arduino Ide Upload Button

  1. После загрузки индикаторы TX и RX будут быстро мигать, а затем запустится ваша программа, которая включает или выключает светодиод L каждые 0,5 секунд.

Arduino Raspberry Pi Led Internal 3

  1. Чтобы было немного проще увидеть, вы можете попробовать подключить светодиод и резистор 250Ω между D13 и GND. Сделайте это на макетной плате, чтобы было проще, и убедитесь, что вы отключили Arduino от Raspberry Pi, прежде чем что-либо делать с выводами.

Ltspice Schematic Arduino External Led

  1. Если вы сделали это правильно, светодиод должен светиться и тускнеть с регулярными интервалами в 0,5 секунды.

Arduino Blink External

  1. Чтобы получить доступ к серийному монитору, нажмите «Инструменты -> Серийный монитор» или нажмите Ctrl + Shift + M на клавиатуре.

Arduino Ide Serial Monitor

Этикет работы с Arduino

Теперь, когда все сделано, вы должны быть в состоянии начать делать что угодно с Raspberry Pi и Arduino. Если вернуться немного назад, если вы собираетесь делать это часто, вам нужно немного узнать о том, как упростить работу с Arduino.

Всегда помните фразу: вывести выводы, загрузить код, отключить питание.

Вывести выводы

Начнем с того, чтобы убрать все провода с выводов. Если вы задержитесь на новом проекте на долгое время, скорее всего, вы уже забыли свои обозначения выводов. Например, вы можете случайно подключить выходной вывод на «HIGH» вместе с другим выходным выводом на «LOW». Это один из простейших способов повредить вывод GPIO на микроконтроллере!

Загрузить код

Загрузить код просто: загрузите свой код. Всегда помните, что Arduino всегда включен, пока он подключен к USB-порту.

Отключить питание

Наконец, когда вы собираетесь обновить свои схемы, всегда отключайте питание, убирая Arduino от всех источников питания. Последнее, что вам хотелось бы сделать, это подключить неправильный провод в неправильное место в самый неподходящий момент, чтобы сделать так, чтобы из вашего устройства попала вонючая дым. Помните, короткие замыкания могут сразу же разрушить ваш проект.

Часто задаваемые вопросы

Могу ли я также программировать Arduino Uno на Raspberry Pi?

Любая плата, поддерживаемая Arduino IDE, будет работать с Raspberry Pi. Это в основном то же самое, что и программирование на обычном ПК с дистрибутивом Linux.

На каких платах Raspberry Pi будет работать этот метод?

Возможность программировать Arduino должна работать со всеми платами микропроцессоров Raspberry Pi, кроме Zero, на котором нет встроенных USB-портов. Это также не будет работать на Nano, который не может запускать операционную систему Raspberry Pi.

Могу ли я запустить несколько плат Arduino на Raspberry Pi одновременно?

Да, вы можете, но есть одно но: выход USB Raspberry Pi ограничен примерно 1,2A тока. Если вы используете несколько сервоприводов, то если они все начинают двигаться одновременно, это может привести к перезагрузке некоторых плат после внезапного падения напряжения.