Управлять ардуино с помощью питонаPython

Программы на Python
Ответить
Anonymous
 Управлять ардуино с помощью питона

Сообщение Anonymous »

Я работаю над простым проектом, который предполагает управление Arduino с помощью Python, и в то же время Arduino управляет двумя серводвигателями. Проблема в том, что независимо от того, какой символ или число я отправляю из Python в Arduino, сервопривод каким-то образом перемещается. Этого не должно произойти, если данные неверны. Бывает даже, что оба сервопривода движутся одновременно.

Код: Выделить всё

###python code###
import serial
import time

def iniciar():
try:
arduino = serial.Serial("COM7", 9600)
time.sleep(2)

while True:
a = int(input(": "))
arduino.write(b'a')
if a == "x":
break

finally:
arduino.close()

#while True:
iniciar()
###код Arduino

Код: Выделить всё

#include 
Servo ON;
Servo OFF;
char pr;

void setup() {
Serial.begin(9600);

OFF.attach(8);
ON.attach(9);

}

void loop() {
if(Serial.available()>0){
pr = Serial.read();
if(pr == 'b'){
ON.write(0);  // tell servo to go to a particular angle
delay(1000);
ON.write(90);
delay(500);
}
if(pr == 'a'){
OFF.write(0);  // tell servo to go to a particular angle
delay(1000);
OFF.write(90);
delay(500);
}
}
}
Я попробовал изменить тип данных, отправляемых из Python, переключившись с «int» на «char». Я предполагаю, что ошибка может заключаться в использовании блока «try», но, честно говоря, я понятия не имею; Я новичок в работе с Python.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ith-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»