Я пытаюсь управлять двигателем BLDC (с помощью esc) с помощью моего arduino.Arduino получает команды от последовательного соединения с Raspberry Pi, который запускает программу Python, которая многократно посылает числа для управления двигателем.
Я намерен контролировать скорость двигателей через Raspberry Pi по последовательному соединению.До сих пор я никогда не мог вращать двигатель при отправке данных.
include <Servo.h>
Servo ESC; // create servo object to control the ESC
int incomingByte = 0;
void setup() {
Serial.begin(9600);
ESC.attach(3,1000,2000); // (pin, min pulse width, max pulse width in microseconds)
}
void loop() {
ESC.write(Serial.parseInt());
//incomingByte = Serial.parseInt();
}
import tkinter as tk
import serial
tracked_var = 0
def outputValue():
print(tracked_var)
ser.write(value.encode())
window.after(50, outputValue)
def update_tracked_variable(value):
global tracked_var
tracked_var = value
def background(color):
window.configure(bg=color)
scale = tk.Scale(window, from_=0, to=20, command=update_tracked_variable)
scale.pack()
ser = serial.Serial('/dev/ttyUSB0', 9600)
window = tk.Tk()
window.title("Drone Control")
background("black")
outputValue()
window.mainloop()
Когда я отправляю значения в arduino, я не получаю движения от мотора.Этот код был немного изменен по сравнению с простым потенциометрическим сервоконтроллером.