Raspberry Pi и Arduino - две самые популярные платы с открытым исходным кодом в сообществе электроники. Они популярны не только среди инженеров-электронщиков, но и среди школьников и любителей, благодаря своей легкости и простоте. Даже некоторым людям просто понравилась электроника из-за Raspberry Pi и Arduino. Эти платы обладают большими возможностями, и можно создать очень сложный Hi-Fi проект за несколько простых шагов и небольшого программирования.
Мы создали ряд проектов и руководств Arduino, от очень простых до сложных. Мы также создали серию руководств по Raspberry Pi, из которых любой может начать обучение с нуля. Это небольшой вклад в развитие сообщества электроники с нашей стороны, и этот портал зарекомендовал себя как отличный учебный ресурс для электроники. Итак, сегодня мы объединяем эти две замечательные платы, связывая Arduino с Raspberry Pi.
В этом руководстве мы установим последовательную связь между Raspberry Pi и Arduino Uno. PI имеет только 26 контактов GPIO и ноль каналов ADC, поэтому, когда мы делаем такие проекты, как 3D-принтер, PI не может выполнять все взаимодействия в одиночку. Поэтому нам нужно больше выходных контактов и дополнительных функций, чтобы добавить больше функций в PI, мы устанавливаем связь между PI и UNO. При этом мы можем использовать все функции UNO, поскольку они были функциями PI.
Arduino - это большая платформа для разработки проектов, имеющая множество плат, таких как Arduino Uno, Arduino Pro mini, Arduino Due и т. Д. Это платы на базе контроллера ATMEGA, разработанные для инженеров-электронщиков и любителей. Хотя на платформе Arduino есть много плат, но Arduino Uno получил много признаний за простоту выполнения проектов. Среда разработки программ на основе Arduino - это простой способ написать программу по сравнению с другими.
Необходимые компоненты:
Здесь мы используем Raspberry Pi 2 Model B с Raspbian Jessie OS и Arduino Uno. Все основные требования к оборудованию и программному обеспечению, касающиеся Raspberry Pi, обсуждаются ранее, вы можете найти их во введении Raspberry Pi, кроме того, что нам нужно:
- Соединительные штифты
- Резистор 220 Ом или 1 кОм (2 шт.)
- СВЕТОДИОД
- Кнопка
Описание схемы:
Как показано на схеме выше, мы подключим UNO к порту PI USB с помощью кабеля USB. Есть четыре порта USB для PI; вы можете подключить его к любому из них. Кнопка подключена для инициализации последовательной связи и светодиод (мигает), чтобы указать, что данные отправляются.
Объяснение работы и программирования:
Часть Arduino Uno:
Сначала давайте запрограммируем ООН, Сначала подключите UNO к ПК, а затем напишите программу (раздел «Проверка кода» ниже) в программном обеспечении Arduino IDE и загрузите программу в UNO. Затем отключите UNO от ПК. Подключите UNO к PI после программирования и подключите светодиод и кнопку к UNO, как показано на принципиальной схеме.
Теперь программа инициализирует последовательную связь UNO. Когда мы нажимаем кнопку, прикрепленную к UNO, UNO отправляет несколько символов в PI последовательно через порт USB. Светодиод, подключенный к PI, мигает, указывая на отправляемые символы.
Часть Raspberry Pi:
После этого мы должны написать программу для PI (раздел «Проверить код» ниже), чтобы получать эти данные, отправляемые UNO. Для этого нам нужно понять несколько команд, указанных ниже.
Мы собираемся импортировать последовательный файл из библиотеки, эта функция позволяет нам отправлять или получать данные последовательно или через порт USB.
импортный серийный номер
Теперь нам нужно указать порт устройства и скорость передачи данных, чтобы PI мог без ошибок получать данные от UNO. В приведенной ниже команде указано, что мы включаем последовательную связь со скоростью 9600 бит в секунду на порту ACM0.
ser = serial.Serial ('/ dev / ttyACM0', 9600)
Чтобы узнать порт, к которому подключается UNO, перейдите к терминалу PI и введите
ls / dev / tty *
У вас будет список всех подключенных устройств на PI. Теперь подключите Arduino Uno к Raspberry Pi с помощью USB-кабеля и снова введите команду. Вы можете легко определить подключенный порт UNO из отображаемого списка.
Команда ниже используется как бесконечный цикл, с этой командой операторы внутри этого цикла будут выполняться непрерывно.
Пока 1:
После получения данных последовательно мы будем отображать символы на экране PI.
печать (ser.readline ())
Таким образом, после нажатия кнопки, прикрепленной к UNO, мы увидим, что символы печатаются на экране PI. Следовательно, мы установили базовое установление связи между Raspberry Pi и Arduino.