Как подключить Raspberry Pi к Ардуино?

Подключаем микроконтроллеры Raspberry Pi и Ардуино таким образом, чтобы обе платы могли общаться друг с другом.

Иногда вам может понадобиться подключить Ардуино (англ. - Arduino) к плате Raspberry Pi. Например, если у вас есть датчики, двигатели и исполнительные механизмы, вы можете подключить их к Arduino, а значения передавать и получать от "малины". Таким образом, мы можем отделить вычислительные задачи (выполняемые Raspberry Pi) и управляющие задачи (выполняемые Ардуино).

В этом материале мы подключим Arduino к "малине" и попросим ардуину отправить «Hello from Arduino» на Raspberry Pi, которая в свою очередь будет мигать светодиодом после получения команды от Arduino.

Для связи мы будем использовать простую последовательную связь по USB-кабелю. Итак, давайте начнем!

Подключите светодиод к выводу 11, как показано на рисунке ниже.

Включите Raspberry Pi и откройте Python 3 в новом окне.

Напишите следующий код в новом окне и сохраните его (сохраните на рабочем столе, чтобы вы не потеряли его).

import serial
import RPi.GPIO as GPIO
import time

ser=serial.Serial("/dev/ttyACM0",9600)  #change ACM number as found from ls /dev/tty/ACM*
ser.baudrate=9600
def blink(pin):


GPIO.output(pin,GPIO.HIGH)  
time.sleep(1)  
GPIO.output(pin,GPIO.LOW)  
time.sleep(1)  
return

GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
while True:

read_ser=ser.readline()
print(read_ser)
if(read_ser=="Hello From Arduino!"):
blink(11)

Теперь откройте Arduino IDE и загрузите следующий код в Arduino.

String data="Hello From Arduino!";

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);

}

void loop() {
// put your main code here, to run repeatedly:
Serial.println(data);//data that is being Sent
delay(200);
}

Убедитесь, что код загружен в Arduino.

В интерфейсе Raspberry Pi обязательно включите Serial и I2C в PiConfig.

Затем вам нужно перезапустить Raspberry Pi. Откройте терминал и выполните следующие команды:

sudo apt-get install python-serial

sudo pip install pyserial

Подключите Ардуино к "Малине".

Выполните:

ls /dev/tty*

Затем найдите строку с /dev/ttyACM0 или что-то вроде /dev/ttyACM1 и т.д. Проверьте ACM с любым числом 0,1,2 и т.д.

Откройте Python снова и измените ser = serial.Serial ("dev/ttyACM1", 9600) на найденный номер ACM. Итак, если в вашем случае вы получили ACM0, строка должна выглядеть так: ser = serial.Serial ("dev / ttyACM0", 9600).

Теперь запустите программу, которую вы только что создали в Python3. Вы увидите «Hello From Arduino!» На терминале Python, и ваш светодиод тоже будет мигать!

Ардуино+