Как да програмираме Arduino с Python: Пълно практическо ръководство

  • Интегрирането на Arduino и Python позволява гъвкави и ефективни проекти.
  • PySerial е ключът към установяването на комуникация между двете през серийния порт.
  • Могат да се изпълняват както основни, така и разширени задачи, включително сензори и машинно зрение.
  • Идентифицирането на серийния порт и конфигурирането на двете среди са основни стъпки.

питон ардуино

Програмирането на Arduino с Python отваря свят от възможности за онези, които са запалени по електрониката и разработката на софтуер. Интегрирането на тези два инструмента ви позволява да комбинирате гъвкавостта на Arduino като микроконтролер със силата и простотата на Python за създаване на иновативни проекти. В тази статия ще научите как да свържете двата свята и ще се задълбочите в основните стъпки, за да започнете да разработвате свои собствени приложения, използвайки тези технологии.

Arduino, платформа на hardware libre, е известен със своята лекота на използване и адаптивност, докато Питон, език за програмиране от високо ниво, се отличава със своята простота и ефективност. Въпреки че Arduino обикновено се програмира на собствен език, базиран на C++, е възможно да се комуникира с него чрез Python благодарение на библиотеки като PySerial, които позволяват комуникация през серийния порт. Тук ще проучим подробно как да извършим тази интеграция от основни принципи до по-напреднали практически примери.

Изисквания за стартиране

Преди да започнете да програмирате Arduino с Python, важно е да се уверите, че имате необходимите инструменти и конфигурации:

  • Дъска Arduino: Модели като Arduino UNO, Nano или Mega са идеални за този тип проекти.
  • Кабел USB: Необходимо е за свързване на платката Arduino към компютъра.
  • Python е инсталиран: Можете да изтеглите най-новата версия на Python от официалния му уебсайт.
  • Инсталирайте библиотеката PySerial: Тази библиотека е от решаващо значение за установяване на комуникация между Arduino и Python. Инсталира се чрез изпълнение на командата pip install pyserial.

Основна конфигурация на Arduino

Първата стъпка за свързване на Arduino с Python е конфигурирането на скицата на Arduino . Този код, написан в Arduino IDE, ще позволи на платката да получава и обработва данните, които Python ѝ изпраща. Например, следната програма ви позволява да включвате и изключвате светодиод на пин 13 въз основа на получените данни:

void setup() { Serial.begin(9600); pinMode(13, ИЗХОД); } void loop() { if (Serial.available() > 0) { char data = Serial.read(); ако (данни == '1') { digitalWrite(13, HIGH); } else if (данни == '0') { digitalWrite(13, LOW); } } }

Този код установява комуникация през серийния порт със скорост 9600 бода и чака да получи символите „1“ или „0“, за да включи или изключи вградения светодиод.

Връзка с Python

След като Arduino е настроен, е време да напишете Python програма, която установява връзка с платката и изпраща команди. Ето един прост пример, използващ библиотеката PySerial :

import serial import time # Arduino сериен порт конфигурация = serial.Serial('COM3', 9600) time.sleep(2) # Изчакайте за стабилизиране на връзката # Изпратете команди arduino.write(b'1') print("LED on " ) time.sleep(2) arduino.write(b'0') print("LED изключен") arduino.close()

Този скрипт отваря серийния порт, изпраща командата „1“, за да включи светодиода, изчаква две секунди и след това изпраща „0“, за да го изключи. Не забравяйте да настроите COM порта според вашата операционна система и връзката на дънната платка.

Идентификация на серийния порт

За да могат Arduino и Python да комуникират правилно, е изключително важно да се идентифицира серийният порт, към който е свързан Arduino. в Windows, можете да го проверите от Device Manager. В системите Linux o macOS, използвайте командата ls /dev/ в терминала, за да намерите нещо подобно /dev/ttyUSB0.

Разширен пример: Отчитане на сензора

Друго практическо приложение на комуникацията между Arduino и Python е четенето на данни от сензори, свързани към Arduino, и показването им в реално време в Python. Например, за температурен сензор :

Код на Arduino:

int sensorPin = A0; void setup() { Serial.begin(9600); } void loop() { int sensorValue = analogRead(sensorPin); Serial.println(sensorValue); забавяне (1000); }

Python код:

import serial import time arduino = serial.Serial('COM3', 9600) time.sleep(2) while True: sensor_data = arduino.readline().decode('utf-8').strip() print(f"Value сензор: {sensor_data}")

Този пример получава сензорни стойности на Arduino и ги отпечатва на конзолата на Python, което позволява данните да бъдат наблюдавани в реално време.

Разширяване на възможностите с изкуствено зрение

Ако искате да изведете проекта си на следващото ниво, можете да интегрирате Python и Arduino за задачи, свързани с компютърно зрение, използвайки OpenCV. Например, система, която разпознава дали някой носи маска и съответно включва цветни светодиоди:

  • Un Син светодиод показва, че лицето носи маска.
  • Un Червено доведе Включва се, ако не открие маска.

Използвайки Mediapipe и OpenCV, можете да обучите модел за разпознаване на лица и да изпратите резултатите до Arduino, за да управлява светодиодите съответно.

Съюзът на Arduino и Python отключва безброй възможности за творчески и образователни проекти. От прости задачи като управление на светодиоди до усъвършенствани приложения със сензори и машинно зрение, тези инструменти предлагат перфектна комбинация за максимизиране на вашето обучение в електрониката и програмирането.


Добавяне като предпочитан източник в Google