- Необходимые материалы:
- Установка Python на ваш компьютер:
- Получение PySerial в Python:
- Наша первая программа Arduino Python:
- Управление светодиодом с помощью Python и Arduino:
Когда дело доходит до разработки оборудования с открытым исходным кодом, Arduino всегда была мощной и простой в использовании платформой для обучения / разработки. В современном мире каждое оборудование оснащено высокоуровневым языком программирования общего назначения, что делает его более эффективным и удобным для пользователя. Один из таких языков - Python. Python - это интерпретируемый, объектно-ориентированный язык программирования высокого уровня с динамической семантикой с высокоуровневыми встроенными структурами данных в сочетании с динамической типизацией и динамической привязкой, что делает его очень привлекательным для быстрой разработки приложений.
Сочетание мощи Arduino и Python откроет двери для множества возможностей, поскольку python имеет повышенную производительность благодаря способности взаимодействовать с другими платформами, такими как openCV, Matlab и т. Д. Итак, в этом руководстве мы узнаем, как установить python на наш компьютер. и как использовать его с Arduino для переключения встроенного светодиода Arduino.
Итак, приступим….
Необходимые материалы:
- Arduino Uno (или любые платы Arduino)
- Компьютер с подключением к Интернету
Установка Python на ваш компьютер:
Очевидно, что первым шагом в этом руководстве будет установка Python на наш компьютер. Упомянутые ниже шаги применимы только для пользователей Windows, работающих под управлением 32-разрядной или 64-разрядной ОС. Процедура установки для MAC и Linux отличается.
- Щелкните 32-разрядный Python-2.7.9, и на ваш компьютер будет установлена 32-разрядная версия Python IDLE. Не загружайте 64-разрядную версию или обновленные версии, поскольку они не поддерживают наши библиотеки Arduino. Даже если ваш компьютер работает на 64-битной версии, вы можете использовать сам 32-битный Python.
- Откройте скачанный exe-файл и следуйте инструкциям. Не меняйте каталог, в котором устанавливается питон. По умолчанию это будет C: \ Python27, и оставьте его как есть.
- Во время установки вы можете получить предупреждение от вашего антивируса (если есть), в этом случае нажмите «Разрешить».
Вот и все !, python успешно установлен на наш компьютер. Вы можете проверить это, выполнив поиск «Python IDLE» в окне поиска Windows и открыв его.
При открытии вы должны увидеть следующий экран. Это окно называется оболочкой Python, и теперь мы будем называть его « оболочкой Python ».
Этот экран называется Python Shell. Вы можете напрямую написать код здесь и получить результат на том же экране или создать новый файл и написать программу там и проверить программу здесь. Позже мы подробно рассмотрим создание программы на Python, а пока давайте проверим, работает ли python.
Для этого просто введите « print (1 + 1) » и нажмите Enter. Вы должны увидеть результат печати, как показано ниже.
Получение PySerial в Python:
Следующим шагом будет установка pyserial. PySerial - это модуль Python API, который используется для чтения и записи последовательных данных в Arduino или любой другой микроконтроллер.
Щелкните Pyserial Windows, чтобы загрузить PySerial. В результате будет загружен exe-файл, который можно установить напрямую. Не меняйте никаких настроек во время установки. Оставьте каталог по умолчанию и настройки по умолчанию.
Теперь давайте проверим, правильно ли установлен PySerial. Для этого снова откройте Python Shell и введите
импортный серийник . Если библиотека была успешно установлена, вы не должны получать никаких сообщений об ошибках, как показано на рисунке ниже. Если у вас возникнут какие-либо ошибки, опубликуйте их в разделе комментариев, и мы постараемся их исправить.
В этом руководстве предполагается, что вы знакомы с Arduino и имеете опыт загрузки проектов в Arduino. Итак, давайте сразу перейдем к нашей программе Python. Если вы новичок в Arduino, ознакомьтесь с нашими проектами Arduino и начните с мигания светодиодов с Arduino.
Наша первая программа Arduino Python:
Как было сказано ранее, мы будем управлять светодиодом встроенной платы Arduino с помощью скрипта Python. Начнем с кода Arduino.
Программа для Arduino:
Полная программа для этого руководства Arduino python приведена в конце этой страницы. Читайте дальше, чтобы узнать, как это работает.
Внутри функции настройки мы инициализируем последовательную связь со скоростью 9600 бод и объявляем, что мы будем использовать встроенный светодиод в качестве выходного сигнала, и переключаем его на низкий уровень во время запуска программы. Мы также отправили приветственное сообщение на Python через серийную печать, как показано ниже:
void setup () {Serial.begin (9600); // инициализируем последовательный COM на скорости 9600 бод pinMode (LED_BUILTIN, OUTPUT); // сделать вывод светодиода (13) выходом digitalWrite (LED_BUILTIN, LOW); Serial.println («Привет! Я Ардуино»); }
Внутри функции цикла мы читаем все данные, которые поступают последовательно, и присваиваем значение переменной «data». Теперь, основываясь на значении этой переменной («данные»), мы переключаем встроенный светодиод, как показано ниже.
void loop () {в то время как (Serial.available ()) {данные = Serial.read (); } if (data == '1') digitalWrite (LED_BUILTIN, HIGH); иначе, если (данные == '0') digitalWrite (LED_BUILTIN, LOW); }
Программа для Python:
Полная программа python для этого руководства приведена в конце этой страницы. Читайте дальше, чтобы узнать, как писать и использовать то же самое.
- Откройте оболочку Python (Python IDLE) и нажмите Файл-> Создать.
- Это откроет новый текстовый файл, в котором вы можете ввести свою программу.
- Прежде чем что-либо вводить, давайте сохраним файл, нажав Ctrl + S. Введите любое имя и нажмите "Сохранить". Это автоматически сохранит ваш файл с расширением «.py».
- Теперь введите программу или вставьте код Python, указанный в конце этой страницы. Объяснение того же дается ниже и, наконец, запустите программу.
В нашей программе первым шагом будет импорт библиотеки серийных номеров и времени. Как было сказано ранее, последовательная библиотека будет использоваться для чтения и записи последовательных данных, а временная библиотека будет использоваться для создания задержек в нашей программе. Эти две библиотеки можно импортировать в нашу программу, используя следующие две строки:
import serial # Serial import for Serial communication import time # Требуется для использования функций задержки
Следующим шагом будет инициализация последовательного объекта с помощью нашей последовательной библиотеки. В этой программе мы назвали наш серийный объект «ArduinoSerial» . В этой строке мы должны указать имя COM-порта, к которому подключен наш Arduino, и с какой скоростью он работает, как показано ниже.
ArduinoSerial = serial.Serial ('com18', 9600).
Примечание. Очень важно указать правильное имя COM-порта. Его можно найти с помощью диспетчера устройств на вашем компьютере.
Как только последовательный объект инициализирован, мы должны удерживать программу в течение двух секунд, чтобы установилась последовательная связь. Это можно сделать, используя следующую строку:
время сна (2)
Теперь мы можем читать или записывать что угодно с / на нашу плату Arduino.
Следующая строка будет читать все, что поступает от Arduino, и печатать это в окне оболочки.
распечатать ArduinoSerial.readline ()
Вы также можете присвоить значение переменной и использовать его для вычислений.
Следующая строка запишет значение параметра в плату Arduino.
ArduinoSerial.write ('1')
Эта строка напишет «1» в Arduino. Вы можете отправлять что угодно от десятичных знаков до строк, используя одну и ту же строку.
Теперь, возвращаясь к нашей программе, внутри бесконечного цикла while у нас есть следующие строки
var = raw_input () # получить ввод от пользователя print «вы ввели», var # распечатать ввод для подтверждения if (var == '1'): # если значение равно 1 ArduinoSerial.write ('1') # отправить 1 print («Светодиод включен») time.sleep (1) if (var == '0'): # если значение равно 0 ArduinoSerial.write ('0') # отправить 0 print («Светодиод выключен») time. сон (1)
Строка var = raw_input получит любое значение, набранное в сценарии Shell, и присвоит это значение переменной var .
Позже, если значение равно 1, он будет последовательно печатать «1» в Arduino, а если 0, он будет печатать «0» серийно в Arduino. В коде нашей программы Arduino (обсуждаемой выше) мы будем переключать светодиод в зависимости от полученного значения.
После завершения программы ваш сценарий должен выглядеть примерно так, как показано ниже.
Теперь нажмите «Выполнить» -> «Выполнить модуль» или нажмите F5, при этом может потребоваться сохранить программу, а затем она будет запущена.
Управление светодиодом с помощью Python и Arduino:
Работа над этим проектом довольно проста. Загрузите программу на свой Arduino и убедитесь, что она подключена к тому же COM-порту, который указан в программе на Python. Затем запустите программу Python, как указано выше.
Это запустит сценарий оболочки Python, как показано ниже. Окно слева - это окно оболочки, показывающее вывод, а окно справа - это сценарий, показывающий программу.
Как вы можете видеть, строка «Hi !, I am Arduino», введенная в программу Arduino, принимается Python и отображается в его окне оболочки.
Когда окно оболочки просит ввести значения, мы можем ввести либо 0, либо 1. Если мы отправим 1, светодиод на плате Arduino включится, а если мы отправим 0, светодиод на нашей плате Arduino выключится. Показывает успешное соединение между нашей программой Arduino и Python.
Ниже приведены две программы: одна должна быть загружена и запущена из Arduino, а вторая - из Python Shell в Windows.
Надеюсь, вы поняли проект и смогли заставить его работать. Если нет, опубликуйте свою проблему в комментарии ниже, и я буду рад вам помочь. В нашем следующем проекте мы узнаем, что еще можно сделать с помощью Python и Arduino, глубоко изучив другие модули Python, такие как Vpython, gamepython и т. Д. А пока следите за обновлениями….