Как да програмираме 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" o "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. Например за a температура на сензора:

Код на 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. Например система, която разпознава дали някой носи маска и включва цветни LED светлини в зависимост от резултата:

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

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

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


Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.