Управление Arduino с помощью оболочки Python

Приводим пример одного из способов по управлению платами и микроконтроллерами Arduino с помощью оболочки языка Python.

Наиболее эффективным и простым в изучении языком программирования в современном мире является python. Имея миллионы приложений и максимально удобный интерфейс, мы можем с ним почти все.

В этой статье я попытался объединить среду Arduino с оболочкой Python.

Из комплектующих нам понадобятся только Arduino Uno (Genuino Uno) и Arduino IDE.

Установка Python

Сначала, вам нужно будет скачать python на свой компьютер, чтобы продолжить работу с платой.

Выполните следующие шаги, которые я привел ниже.

Упомянутые ниже шаги применимы только для пользователей Windows, работающих на 32-битной или 64-битной ОС. Процедура установки для MAC и Linux отличается.

Нам нужно скачать среду с официального сайта "Питона" отсюда.

  1. Нажмите на 32-битный Python-2.7.9, что установит 32-битный Python IDLE на ваш компьютер.
    Важно! Не загружайте 64-битную версию или обновленные версии, поскольку они не обеспечивают поддержку наших библиотек Arduino. Даже если ваш компьютер работает на 64-битной версии, вы можете использовать 32-битный Python.
  2. Откройте загруженный exe-файл и следуйте инструкциям. Не меняйте каталог, в который устанавливается "питон". Это будет: C:\Python27 по умолчанию, оставьте это таковым.
  3. Во время установки вы можете получить предупреждение от вашего антивируса (если он есть), в этом случае нажмите «Разрешить».

Импорт Pyserial

Теперь вам нужно будет импортировать модуль Pyserial в ваш IDLE.

PySerial - это модуль Python API, который используется для чтения и записи последовательных данных в Arduino или любой другой микроконтроллер.

Нажмите на Pyserial Windows (ссылка), чтобы загрузить PySerial. В результате вы получите исполняемый exe-файл, который можно установить напрямую. Не меняйте никаких настроек во время установки. Оставьте его в каталоге по умолчанию и с настройками по умолчанию.

Теперь давайте проверим, правильно ли установлен PySerial. Для этого снова откройте Python Shell и введите:

import serial

Если библиотека была успешно установлена, вы не должны получить никаких сообщений об ошибках.

Внутри функции настройки мы инициализируем последовательную связь со скоростью 9600 бод и объявляем, что будем использовать встроенный светодиод в качестве выхода, и выставляем его на минимальный уровень при запуске программы.

Коды проекта

Вы можете скопировать коды для проекта ниже.

Код Ардуино:

import serial #Serial imported for Serial communication
import time #Required to use delay functions

ArduinoSerial = serial.Serial(‘com18’,9600) #Create Serial port object called arduinoSerialData
time.sleep(2) #wait for 2 secounds for the communication to get established

print ArduinoSerial.readline() #read the serial data and print it as line
print (“Enter 1 to turn ON LED and 0 to turn OFF LED”)
while 1: #Do this forever

var = raw_input() #get input from user
print “you entered”, var #print the intput for confirmation

if (var == ‘1’): #if the value is 1
ArduinoSerial.write(‘1’) #send 1
print (“LED turned ON”)
time.sleep(1)

if (var == ‘0’): #if the value is 0
ArduinoSerial.write(‘0’) #send 0
print (“LED turned OFF”)
time.sleep(1)

Код Python #1:

void loop()
{
while (Serial.available())
{
data = Serial.read();
}
if (data == ‘1’)
digitalWrite (LED_BUILTIN, HIGH);
else if (data == ‘0’)
digitalWrite (LED_BUILTIN, LOW);
}

Код Python #2:

void setup()
{
Serial.begin(9600); //initialize serial COM at 9600 baudrate
pinMode(LED_BUILTIN, OUTPUT); //make the LED pin (13) as output
digitalWrite (LED_BUILTIN, LOW);
Serial.println(“Hi!, I am Arduino”);
}

Мы также отправили приветственное сообщение на python с помощью последовательной вывод, как показано в коде Python #2:

Внутри функции цикла loop мы читаем любые данные, поступающие последовательно, и присваиваем значение переменной «data». Теперь, основываясь на значении этой переменной («data»), мы переключаем встроенный светодиод, как показано в коде Python #1.

Вышеупомянутые фрагменты кода будут написаны в Arduino IDE. Вышеупомянутый код должен быть написан на Python в режиме ожидания для Windows. Затем вам просто нужно загрузить код Ардуино (выше) в вашу оболочку python для управления встроенным светодиодом на вашем Arduino.

17.12.2018 | Публикации | Теги статьи , , |
Ардуино+