EV3 MicroPython 赤色検知器

Lモーターとカラーセンサーを使って、MicroPythonで赤色検知器を作った。

動作概要

起動するとカラーセンサーが180°回転し、赤色を検出するとビープが鳴って回転が止まる。
回転が止まった状態でカラーセンサーに緑色を見せるとカラーセンサーは元の位置に戻って待機状態(回転しない状態)になる。待機状態から再度赤色検出モードにするには青色を見せるとカラーセンサーが再度回転を始める。

赤色検出器
赤色検出器
モーター周辺
モーター周辺

ソースコード

#!/usr/bin/env pybricks-micropython
from pybricks.hubs import EV3Brick
from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor,
                                 InfraredSensor, UltrasonicSensor, GyroSensor)
from pybricks.parameters import Port, Stop, Direction, Button, Color
from pybricks.tools import wait, StopWatch, DataLog
from pybricks.robotics import DriveBase
from pybricks.media.ev3dev import SoundFile, ImageFile


# This program requires LEGO EV3 MicroPython v2.0 or higher.
# Click "Open user guide" on the EV3 extension tab for more information.


# Create your objects here.
ev3 = EV3Brick()


# Write your program here.

deg = 0
delta = 1

motor_d = Motor(Port.D, Direction.CLOCKWISE)
color_s = ColorSensor(Port.S3)

while True:
    while True:
        if color_s.color() == Color.RED:
            break
        motor_d.run_target(15, deg)
        deg += delta
        if deg >= 180:
            delta = -delta
        elif deg <= 0:
            delta = -delta

    ev3.speaker.beep()
    while True:
        if color_s.color() == Color.GREEN:
            break
    ev3.speaker.beep()
    deg = 0
    delta = 1
    motor_d.run_target(90, deg)
    while True:
        if color_s.color() == Color.BLUE:
            break
    ev3.speaker.beep()

動作確認

動作の動画

カテゴリー: LEGO, 作ったモノ タグ: , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA