Управление Arduino Uno из Python 3: команды через последовательный порт и демонстрация с LED
Компоненты и материалы
| Arduino UNO | 1 |
| USB-кабель (Type-A — Type-B) | 1 |
О проекте
Описание проекта
В этом проекте мы отправим команды из Python 3 на Arduino, чтобы упронить понимание взаимодействия Python–Arduino. Реализуем «Hello World» Arduino — включение/выключение встроенного светодиода на Uno.
Зачем этот проект?
Много туториалов в интернете (особенно на YouTube) используют Python 2. Я установил Python 3.7.2 — есть различия в работе с последовательным портом. Решив проблему, решил поделиться с сообществом мейкеров.
Установка
- Как установить Python 3 и пакет PySerial
На YouTube много видео об установке. Ниже — видео по установке обоих.
Демонстрация
- Часть 1: Код Arduino
- Часть 2: Код Python
Важно
Сначала загрузите скетч в Arduino, потом запускайте Python-код. :)
Пишите в комментариях, если возникнут проблемы.

Код
Код Arduino
int datafromUser = 0;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
datafromUser = Serial.read();
}
if (datafromUser == '1') {
digitalWrite(LED_BUILTIN, HIGH);
} else if (datafromUser == '0') {
digitalWrite(LED_BUILTIN, LOW);
}
}
Код Python 3
import serial
import time
arduino = serial.Serial('COM1', 9600)
time.sleep(2)
print("Enter 1 to turn ON LED and 0 to turn OFF LED")
while True:
datafromUser = input()
if datafromUser == '1':
arduino.write(b'1')
print("LED turned ON")
elif datafromUser == '0':
arduino.write(b'0')
print("LED turned OFF")
Схемы
Для проекта нужны только Arduino и USB-кабель.
Производственный процесс
- Arduino-датчики: типы, применения и реальные проекты
- Бесшовная MQTT интеграция: NodeMCU DHT22 сенсоры с Raspberry Pi 3 B+ как брокер
- Устройство для общения глухосліпых людей с помощью 1Sheeld и Arduino
- Создание анимации и игр на LCD 16×2 с Arduino UNO
- SERENA: Пользовательская система сигнализации на Arduino Mega 2560 с TFT Touchscreen
- Умный вольтметр на Arduino и смартфоне — простое DIY-проект
- Клеточный автомат «Жизнь» Конвея на Arduino Nano с OLED 128x64
- Сборка компактного FM-радио на Arduino Nano и RDA5807M
- MKR1000 + DHT22: мониторинг температуры и влажности в Azure в реальном времени
- Сборка ноутбука на Raspberry Pi 3 и Arduino: пошаговое руководство