Dieser Artikel richtet sich an alle, die mit ev3 in Python arbeiten möchten. Dieses Mal möchte ich mehrere Motoren steuern, um den Tank (Auto) anzutreiben.
◯ ev3 (Tank) ◯ PC (VS-Code) ◯ bluetooth ◯ microSD ◯ Material (Es wird empfohlen, fortzufahren, während Sie dies ansehen.)
tank00.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_B, OUTPUT_C, MoveTank
tank_drive = MoveTank(OUTPUT_B,OUTPUT_C)
tank_drive.on_for_rotations(80,-30,6)
Point : class ev3dev2.motor.MoveTank(left_motor_port, right_motor_port, desc=None, motor_class=<class ’ev3dev2.motor.LargeMotor’>)
** Punkt **: Geben Sie die Drehzahl jedes Motors ein, um die Fahrtrichtung zu bestimmen.
** Punkt **: Wenn mit MINDSTORMS programmiert, sieht es wie folgt aus.
steering00.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A, OUTPUT_B, MoveSteering, SpeedPercent
steering_drive = MoveSteering(OUTPUT_A,OUTPUT_B)
steering_drive.on_for_rotations(-10,SpeedPercent(75),5)
Point : class ev3dev2.motor.MoveSteering(left_motor_port, right_motor_port, desc=None, motor_class=<class ’ev3dev2.motor.LargeMotor’>)
** Punkt **: Nur für Panzer (Autos). Bild in der Nähe des Betriebs.
** Punkt **: Der Biegungsgrad kann direkt durch einen Zahlenwert bestimmt werden.
** Punkt **: ** Lenkungsnummer **
0 <Lenkwert <= 100: Nach rechts drehen. Bei 100 drehen (sofort rechts abbiegen). Lenkwert = 0: Geradeaus fahren -100 <= Lenknummer <0: Nach links drehen. Bei -100 drehen (sofort links abbiegen)
** Punkt **: Wenn mit MINDSTORMS programmiert, sieht es wie folgt aus.
example00.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A,OUTPUT_B,MoveSteering,SpeedPercent
steering_drive = MoveSteering(OUTPUT_A,OUTPUT_B)
for i in range(0,101,10):
steering_drive.on_for_seconds(i,SpeedPercent(75),1)
steering_drive.stop()
** Punkt **: Erhöhen Sie i um 10 im Bereich von 0 <= i <101 Mit anderen Worten
** Punkt **: Für Schleifen ist dieser Artikel leicht zu verstehen.
example01.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A,OUTPUT_B,MoveSteering,SpeedPercent
import random
steering_drive = MoveSteering(OUTPUT_A,OUTPUT_B)
for i in range(10):
num = random.randint(-100,100)
print(num)
steering_drive.on_for_seconds(num,SpeedPercent(75),2)
steering_drive.stop()
** Punkt **: Bestimmen Sie die Fahrtrichtung alle 2 Sekunden nach dem Zufallsprinzip
Point : random.randint(min,max) Extrahieren Sie zufällig int-Werte (ganzzahlige Werte) aus dem angegebenen Bereich (min ~ max).
** Punkt **: Für zufällige Funktionen ist dieser Artikel leicht zu verstehen.
example02.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A,OUTPUT_B,MoveTank
from time import sleep
tank_drive = MoveTank(OUTPUT_A,OUTPUT_B)
speed_list = [-90,30,-10,80,10]
for i in speed_list:
sleep(1)
tank_drive.on_for_rotations(i,i,2)
tank_drive.stop()
** Punkt **: Nehmen Sie die Zahlen vom Anfang der Liste und stellen Sie sie auf die Drehzahl jedes Motors ein.
Point : sleep() Funktion zum Warten auf die im Argument angegebene Anzahl von Sekunden
** Punkt **: Für die Liste ist dieser Artikel leicht zu verstehen.
example03.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A,OUTPUT_B,MoveTank
from time import sleep
import random
tank_drive = MoveTank(OUTPUT_A,OUTPUT_B)
speed_list = [-90,30,-10,80,0]
for i in speed_list:
sleep(1)
num = random.choice(speed_list)
tank_drive.on_for_rotations(num,0,2)
tank_drive.stop()
** Punkt **: Wählen Sie zufällig eine Zahl aus der Liste aus und stellen Sie sie 8 Mal auf die Drehzahl eines Motors (Port A) ein
Point : random.choice() Es nimmt ein Objekt mit mehreren Elementen wie einer Liste oder einer Zeichenfolge als Argument und gibt zufällig ein Element aus diesen aus (gibt es aus).
** Punkt **: Zufällig ist dieser Artikel ebenfalls leicht zu verstehen.
Wenn Sie vergessen, wie es geht, [zuvor geschriebener Artikel](https://qiita.com/masterkeaton12/items/938457911b0f3f25e161#4%E6%96%B0%E8%A6%8F%E3%83%95%E3 Siehe% 82% A9% E3% 83% AB% E3% 83% 80% E3% 81% AE% E4% BD% 9C% E6% 88% 90)!
Danke fürs Lesen! !! Nächstes Mal werde ich über Displays, Sounds und Lichter schreiben!
Ich möchte einen besseren Artikel machen ◯ Das ist leichter zu verstehen ◯ Das ist schwer zu verstehen ◯ Das ist falsch ◯ Ich möchte, dass Sie hier mehr erklären Wir freuen uns über Ihre Meinungen und Vorschläge.
Recommended Posts