[ev3dev × Python] Anzeige, Sprache, LED-Steuerung

Dieser Artikel richtet sich an alle, die mit ev3 in Python arbeiten möchten. Dieses Mal möchte ich intelligente Blöcke verwenden, um Text und numerische Werte anzuzeigen, Audio abzuspielen und LEDs zu steuern.

Inhaltsverzeichnis

  1. Was vorzubereiten?
  2. Anzeige
  3. Stimme 3 . LED
  4. Programmbeispiel

0. Was ist vorzubereiten?

◯ ev3 (intelligenter Block, Berührungssensor, Kreiselsensor) ◯ PC (VS-Code) ◯ bluetooth ◯ microSD ◯ Material (Es wird empfohlen, fortzufahren, während Sie dies ansehen.)

1. Anzeige

1-0 Grundlegendes Anzeigeprogramm ①

display00.py


#!/usr/bin/env python3
from time import sleep

print("HELLO WORLD")
sleep(3)

** Punkt **: Ein Programm, das 3 Sekunden lang kleine Zeichen auf einem intelligenten Block anzeigt. Das einfachste Programm, obwohl die Größe der Zeichen klein ist.

Point : print() Ausgabewerte für Zeichenfolgen, Zahlen und Variablen

** Punkt **: Für print () ist dieser Artikel leicht zu verstehen.

** Punkt **: Wenn mit MINDSTORMS programmiert, sieht es wie folgt aus. スクリーンショット 2020-06-16 18.28.52.png

1-1. Grundlegendes Anzeigeprogramm ② (Dokument S.52)

display01.py


#!/usr/bin/env python3
from ev3dev2.display import Display 
from time import sleep

dsp = Display()
while True:
    dsp.update()
    dsp.text_pixels('HELLO WORLD',True,0,52,font = 'courB' + '24')

** Punkt **: Ein Programm, das ständig Zeichen auf intelligenten Blöcken anzeigt.

Point : text_pixels(text, clear_screen=True, x=0, y=0, text_color=’black’, font=None) Der Text beginnt bei den pixelbasierten Koordinaten (x, y). Der Bildschirm von ev3 ist 178x128 Pixel, • Die obere linke Ecke des Bildschirms ist (0, 0). • Die Mitte des Bildschirms ist (89, 64)

Point : update() Applies pending changes to the screen. Nothing will be drawn on the screen until this function is called.

Point : font↓ fonts.png

2. Stimme

2-0. Grundlegendes Audioprogramm (Dokument S.46)

sound00.py


#!/usr/bin/env python3
from ev3dev2.sound import Sound
spkr = Sound()

spkr.beep()
spkr.speak('lets start STAR WARS music')

spkr.play_song((
('D4', 'e3'),
('D4', 'e3'),
('D4', 'e3'),
('G4', 'h'),
('D5', 'h')
))

** Punkt **: Ein Programm, das eine Melodie spielt, indem es nach einem Piepton ein Wort spricht.

** Punkt **: play_song ('Skala', 'Preis')

Musikskala ↓ DqTLAYFV4AAsKFO.jpg

Schallwert (Schalllänge) ↓ 184978921.jpg

3.LED

3-0. Grundlegendes LED-Programm (Dokument S.43)

led00.py


#!/usr/bin/env python3
from ev3dev2.led import Leds
from ev3dev2.sound import Sound
from time import sleep

led = Leds()
snd = Sound()

for i in (3):
    led.set_color("LEFT","AMBER")
    led.set_color("RIGHT","AMBER")
    sleep(1)
    led.all_off()
    sleep(1)
    snd.beep()

Point : set_color(group, color, pct=1)  group   • LEFT   • RIGHT

color   • BLACK   • RED   • GREEN   • AMBER   • ORANGE   • YELLOW

4. Programmbeispiel

4-0. Programm, das weiterhin den Wert des Kreiselsensors anzeigt

example00.py


#!/usr/bin/env python3
from ev3dev2.display import Display
from ev3dev2.sensor.lego import GyroSensor
from time import sleep

dsp = Display()
gy = GyroSensor()

while True:
    dsp.update()
    num = gy.angle
    dsp.text_pixels(str(num) + ' degrees',True,0,52,font = 'helvB' + '24')
    sleep(0.5)

** Punkt **: Siehe S.36 des Dokuments für den Kreiselsensor!

** Punkt **: str () ist eine Funktion, die Argumente in Zeichen konvertiert

4-1. Ein Programm, das die Farbe durch Drücken des Berührungssensors ändert

example01.py


#!/usr/bin/env python3
from ev3dev2.sensor import INPUT_1
from ev3dev2.sensor.lego import TouchSensor
from ev3dev2.led import Leds

ts = TouchSensor(INPUT_1)
leds = Leds()

print("Press the touch sensor to change the LED color!")
while True:
    if ts.is_pressed:
        leds.set_color("LEFT", "GREEN")
        leds.set_color("RIGHT", "GREEN")
    else:
        leds.set_color("LEFT", "RED")
        leds.set_color("RIGHT", "RED")

** Punkt **: Ein Programm, das grün wird, wenn der Berührungssensor gedrückt wird, und rot, wenn er nicht gedrückt wird

** Punkt **: Berührungssensoren siehe S.33 des Dokuments!

Point : is_pressed A boolean indicating whether the current touch sensor is being pressed.

Point : if Bedingung: Prozess 1 else: Prozess 2

** Wenn die Bedingung erfüllt ist, führen Sie Prozess 1 aus. Wenn falsch, Prozess 2 ** Programm

Point : INPUT_1~4 Der Sensor wird verwendet, um einen Wert zu erhalten. Der Motor wird verwendet, um ** auszugeben **, also Jeder Port wird durch INPUT / OUTPUT angezeigt.

** Punkt **: Wenn mit MINDSTORMS programmiert, sieht es wie folgt aus. スクリーンショット 2020-06-17 8.39.02.png

4-2. Ein Programm, das mithilfe einer Liste die Farben ändert

example02.py


#!/usr/bin/env python3
from ev3dev2.led import Leds
from ev3dev2.sound import Sound
from time import sleep

led = Leds()
snd = Sound()
color_list = ["BLACK","RED","GREEN","AMBER","ORANGE","YELLOW"]

for i in color_list:
    print(i)
    led.set_color("LEFT",i)
    led.set_color("RIGHT",i)
    sleep(1)
    led.all_off()
    sleep(1)
    snd.beep()

** Punkt **: Nimmt die Zeichen in der Reihenfolge vom Anfang der Liste und macht sie zur Farbe der LED

Point : sleep() Funktion zum Warten auf die im Argument angegebene Anzahl von Sekunden

** Punkt **: Für die Liste ist dieser Artikel leicht zu verstehen.

4-3. Ein Programm, das Farben ändert, indem es Listen und Zufallsfunktionen kombiniert

example03.py


#!/usr/bin/env python3
from ev3dev2.led import Leds
from ev3dev2.sound import Sound
from time import sleep
import random

led = Leds()
snd = Sound()
color_list = ["BLACK","RED","GREEN","AMBER","ORANGE","YELLOW"]

for i in color_list:
    print(c)
    c = random.choice(color_list)
    led.set_color("LEFT",c)
    led.set_color("RIGHT",c)
    sleep(1)
    led.all_off()
    sleep(1)
    snd.beep()

** Punkt **: Wählt zufällig Zeichen aus der Liste aus und macht sie zu LED-Farben, wobei so oft wiederholt wird, wie Elemente in der Liste vorhanden sind.

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 (gibt es aus).

** Punkt **: Zufällig ist dieser Artikel ebenfalls leicht zu verstehen.

Schließlich

Danke fürs Lesen! !! Nächstes Mal möchte ich über intelligente Blocktasten 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

[ev3dev × Python] Anzeige, Sprache, LED-Steuerung
[ev3dev × Python] Einzelmotorsteuerung
[ev3dev × Python] Steuerung mehrerer Motoren
Audio-Wellenform-Anzeige in Python
[ev3dev × Python] SSH-Steuerung (Fernbedienung mit Tastatur)
Installieren Sie Python Control
[ev3dev × Python] Ultraschallsensor
[ev3dev × Python] Berührungssensor
Python-Audioeingabe / -ausgabe
[ev3dev × Python] Kreiselsensor
Python-Steuerungssyntax (Denkmal)
[ev3dev × Python] Farbsensor
[Ev3dev] So zeigen Sie ein BMP-Bild mit Python auf dem LCD an
[ev3dev × Python] Intelligente Blockschaltfläche
[Python-Tutorial] Kontrollstruktur-Tool
Zeigen Sie UTM-30LX-Daten in Python an
Instrumentensteuerung mit Python [pyvisa]