Приводим пример одного из способов по управлению платами и микроконтроллерами Arduino с помощью оболочки языка Python.
Наиболее эффективным и простым в изучении языком программирования в современном мире является python. Имея миллионы приложений и максимально удобный интерфейс, мы можем с ним почти все.
В этой статье я попытался объединить среду Arduino с оболочкой Python.
Из комплектующих нам понадобятся только Arduino Uno (Genuino Uno) и Arduino IDE.
Установка Python
Сначала, вам нужно будет скачать python на свой компьютер, чтобы продолжить работу с платой.
Выполните следующие шаги, которые я привел ниже.
Упомянутые ниже шаги применимы только для пользователей Windows, работающих на 32-битной или 64-битной ОС. Процедура установки для MAC и Linux отличается.
Нам нужно скачать среду с официального сайта "Питона" отсюда.
- Нажмите на 32-битный Python-2.7.9, что установит 32-битный Python IDLE на ваш компьютер.
Важно! Не загружайте 64-битную версию или обновленные версии, поскольку они не обеспечивают поддержку наших библиотек Arduino. Даже если ваш компьютер работает на 64-битной версии, вы можете использовать 32-битный Python. - Откройте загруженный exe-файл и следуйте инструкциям. Не меняйте каталог, в который устанавливается "питон". Это будет: C:\Python27 по умолчанию, оставьте это таковым.
- Во время установки вы можете получить предупреждение от вашего антивируса (если он есть), в этом случае нажмите «Разрешить».
Импорт Pyserial
Теперь вам нужно будет импортировать модуль Pyserial в ваш IDLE.
PySerial - это модуль Python API, который используется для чтения и записи последовательных данных в Arduino или любой другой микроконтроллер.
Нажмите на Pyserial Windows (ссылка), чтобы загрузить PySerial. В результате вы получите исполняемый exe-файл, который можно установить напрямую. Не меняйте никаких настроек во время установки. Оставьте его в каталоге по умолчанию и с настройками по умолчанию.
Теперь давайте проверим, правильно ли установлен PySerial. Для этого снова откройте Python Shell и введите:
import serial
Если библиотека была успешно установлена, вы не должны получить никаких сообщений об ошибках.
Внутри функции настройки мы инициализируем последовательную связь со скоростью 9600 бод и объявляем, что будем использовать встроенный светодиод в качестве выхода, и выставляем его на минимальный уровень при запуске программы.
Коды проекта
Вы можете скопировать коды для проекта ниже.
Код Python :
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)
Код Ардуино #1:
void loop() { while (Serial.available()) { data = Serial.read(); } if (data == ‘1’) digitalWrite (LED_BUILTIN, HIGH); else if (data == ‘0’) digitalWrite (LED_BUILTIN, LOW); }
Код Ардуино #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.