Программирование Arduino при помощи Raspberry Pi


Чтобы программировать Arduino при помощи Raspberry Pi, достаточно установить Arduino IDE, а для этого достаточно выполнить команду:

sudo apt-get install arduino


После установки появляется каталог
/usr/share/arduino

Но для удобного программирования контроллера Arduino из-под командной строки можно использовать arduino-mk.

Пакет arduino-mk позволяет собирать и загружать скетчи Arduino на Raspberry Pi без использования Arduino IDE.

Установка пакета:

sudo apt-get install arduino-mk

Появится файл
/usr/share/arduino/Arduino.mk

Теперь можно тестировать.
Создадим каталог sketchbook и тестовый проект blink:

mkdir ~/sketchbook
cd ~/sketchbook
ln -s /usr/share/arduino/Arduino.mk
mkdir blink
cd blink
sudo nano blink.ino

// Blink

void setup(void) {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, LOW);
  delay(1000);
  digitalWrite(13, HIGH);
  delay(1000);
}

создаём Makefile

sudo nano Makefile
BOARD_TAG = nano328
ARDUINO_PORT = /dev/ttyUSB1
ARDUINO_LIBS =
ARDUINO_DIR = /usr/share/arduino
include ../Arduino.mk

осталось выполнить

make
make upload

в результате выполнения команды
make
идёт сборка и появляется каталог build-cli, в котором содержится нужный .hex-файл

команда
make upload
вызывает avrdude, который заливает прошивку в МК.

доступны команды:

make — сборка без загрузки
make upload — собрать и загрузить
make clean — очистить
make depends — обновить зависимости
make reset — сброс Arduino передёргиванием DTR у последовательного порта
make raw_upload — загрузить без первоначального сброса
make show_boards — перечислить возможные типы плат, определённых в boards.txt

make show_boards
Tag          Board Name
atmega168    Arduino NG or older w/ ATmega168
atmega328    Arduino Duemilanove w/ ATmega328
atmega8      Arduino NG or older w/ ATmega8
bt           Arduino BT w/ ATmega168
bt328        Arduino BT w/ ATmega328
diecimila    Arduino Diecimila or Duemilanove w/ ATmega168
ethernet     Arduino Ethernet
fio          Arduino Fio
leonardo     Arduino Leonardo
lilypad      LilyPad Arduino w/ ATmega168
lilypad328   LilyPad Arduino w/ ATmega328
mega         Arduino Mega (ATmega1280)
mega2560     Arduino Mega 2560 or Mega ADK
mini         Arduino Mini w/ ATmega168
mini328      Arduino Mini w/ ATmega328
nano         Arduino Nano w/ ATmega168
nano328      Arduino Nano w/ ATmega328
pro          Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega168
pro328       Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328
pro5v        Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega168
pro5v328     Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
uno          Arduino Uno

Видео по теме:

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

Ссылки
Arduino IDE
Arduino from the command line
Arduino command line options

Пот теме:
Использование Raspberry Pi в стиле Arduino
Использование Raspberry Pi в роли Ethernet-шилда для Arduino

Питание для Raspberry Pi
Установка операционной системы для Raspberry Pi
Подключение модуля камеры к Raspberry Pi
Подключение Raspberry Pi к Wi-Fi


0 комментариев на «“Программирование Arduino при помощи Raspberry Pi”»

  1. Попробовал. Получилось. Есть вопрос. Как прописать путь к подключаемым библиотекам? Чтоб не копировать их в папку /usr/share/arduino/libraries, а брать их из папки, например /home/pi/sketchbook/libraries

    • Вопрос снимается. Оказывается, можно библиотеки класть в папку /home/pi/sketchbook/libraries. Главное, чтоб имя папки библиотеки совпадало с именем библиотеки

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение