หอส่งสัญญาณ#

การแนะนำ#

หอส่งสัญญาณ เป็นอุปกรณ์ที่ใช้ไฟสีต่างๆ เพื่อแสดงสถานะของหุ่นยนต์ นอกจากนี้ยังมีสวิตช์กันกระแทกในตัวที่สามารถตรวจจับการกดได้

สำหรับตัวอย่างด้านล่าง Signal Tower ที่กำหนดค่าไว้จะถูกตั้งชื่อว่า signal_tower_1 และจะถูกใช้ในตัวอย่างต่อๆ ไปทั้งหมดในเอกสาร API นี้เมื่ออ้างถึงเมธอดคลาส SignalTower

ด้านล่างนี้คือรายการวิธีการทั้งหมดที่มีให้เลือกใช้:

ผู้ตั้งค่า – กำหนดค่าสีและรูปแบบแสงไฟของหอส่งสัญญาณ

  • set_color – ตั้งค่ารูปแบบสำหรับไฟ LED ของหอสัญญาณหนึ่งดวงหรือทั้งหมด

  • set_colors – ตั้งค่าสถานะของไฟ LED ของหอสัญญาณแต่ละดวง

ผู้รับ – โปรดอ่านสถานะของกันชนหอส่งสัญญาณ

  • pressing – ส่งคืนว่ากันชนหอสัญญาณถูกกดอยู่ในขณะนี้หรือไม่

ฟังก์ชันเรียกกลับ – เรียกใช้โค้ดเมื่อสถานะของกันชนเสาสัญญาณเปลี่ยนแปลง

  • pressed – ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อกดปุ่มกันชนหอสัญญาณ

  • released – ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อปล่อยกันชนหอสัญญาณ

ตัวสร้าง – เริ่มต้นและกำหนดค่าหอส่งสัญญาณด้วยตนเอง

  • SignalTower – สร้างหอส่งสัญญาณ

เซ็ตเตอร์#

set_color#

คำสั่ง set_color จะกำหนดรูปแบบแสงของไฟ LED หนึ่งดวงหรือทั้งหมดบนหอส่งสัญญาณ ไฟเหล่านี้สามารถใช้เพื่อติดตามตำแหน่งของหุ่นยนต์ในโครงการ หรือเพื่อแสดงเมื่อตรงตามเงื่อนไขบางอย่าง

Usage:
signal_tower_1.set_color(value, state)

พารามิเตอร์

คำอธิบาย

ค่า

สีของไฟที่จะควบคุม:

  • SignalTower.RED
  • SignalTower.GREEN
  • SignalTower.BLUE
  • SignalTower.YELLOW
  • SignalTower.WHITE
  • SignalTower.ALL — ใช้การกระทำกับทุกสี

สถานะ

รูปแบบแสงที่จะใช้:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — ไฟกระพริบติดและดับ

# Set the Signal Tower to start blinking the blue LED
signal_tower_1.set_color(SignalTower.BLUE, signal_tower.BLINK)

set_colors#

set_colors กำหนดสถานะของไฟ LED บนเสาสัญญาณแต่ละดวง ไฟเหล่านี้สามารถใช้เพื่อติดตามตำแหน่งของหุ่นยนต์ในโครงการ หรือเพื่อแสดงเมื่อตรงตามเงื่อนไขบางอย่าง

Usage:
signal_tower_1.set_colors(r, y, g, b, w)

พารามิเตอร์

คำอธิบาย

ร

สถานะของไฟแดง:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — ไฟกระพริบ

y

สถานะของไฟสีเหลือง:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — ไฟกระพริบ

จี

สถานะไฟเขียว:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — ไฟกระพริบ

ข

สถานะของไฟสีน้ำเงิน:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — ไฟกระพริบ

ว

สถานะของไฟสีขาว:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — ไฟกระพริบติดและดับ

# Turn on all LEDs
signal_tower_1.set_colors(SignalTower.ON, SignalTower.ON, SignalTower.ON, SignalTower.ON, SignalTower.ON)

# Turn on just the red LED
signal_tower_1.set_colors(SignalTower.ON, SignalTower.OFF, SignalTower.OFF, SignalTower.OFF, SignalTower.OFF)

ผู้รับ#

pressing#

การกดปุ่ม pressing จะส่งค่าบูลีนกลับมาเพื่อระบุว่ากันชนของหอส่งสัญญาณกำลังถูกกดอยู่หรือไม่ ซึ่งสามารถใช้เป็นปุ่มหยุดฉุกเฉินได้

  • True — ขณะนี้กันชนของหอส่งสัญญาณกำลังถูกกดอยู่

  • False — กันชนของหอส่งสัญญาณไม่ได้ถูกกด

Usage:
signal_tower_1.pressing()

การเรียกกลับ#

pressed#

เมื่อกดปุ่ม pressed จะลงทะเบียนฟังก์ชันที่จะถูกเรียกใช้เมื่อกดปุ่มกันชนของหอส่งสัญญาณ

เมธอดนี้จะส่งคืนอินสแตนซ์ของคลาส Event

Usage:
signal_tower_1.pressed(callback, arg)

พารามิเตอร์

คำอธิบาย

callback

A previously defined function that executes when the Signal Tower’s bumper is pressed.

arg

ตัวเลือกเสริม ทูเปิล ที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม

# Define a function tower_button_pressed()
def tower_button_pressed():
    # Print that the Signal Tower's button was pressed
    # to the Brain's screen.
    brain.screen.print("button pressed")

# Run tower_button_pressed when the Signal Tower's
# button is pressed.
signal_tower_1.pressed(tower_button_pressed)

released#

released ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อปล่อยกันชนของหอส่งสัญญาณ

เมธอดนี้จะส่งคืนอินสแตนซ์ของคลาส Event

Usage:
signal_tower_1.released(callback, arg)

พารามิเตอร์

คำอธิบาย

callback

A previously defined function that executes when the Signal Tower’s bumper is released.

arg

ตัวเลือกเสริม ทูเปิล ที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม

# Define a function tower_button_released()
def tower_button_released():
    # Print that the Signal Tower's button was released
    # to the Brain's screen.
    brain.screen.print("button released")

# Run tower_button_released when the Signal Tower's
# button is released.
signal_tower_1.released(tower_button_released)

ผู้สร้าง#

SignalTower#

SignalTower สร้างหอส่งสัญญาณ

SignalTower(smartport)

พารามิเตอร์

คำอธิบาย

smartport

พอร์ตอัจฉริยะที่เชื่อมต่อกับเสาส่งสัญญาณ จะเขียนในรูปแบบ Ports.PORTx โดยที่ x คือหมายเลขของพอร์ต

# Construct a Signal Tower "signal_tower_1" with the
# SignalTower class
signal_tower_1 = SignalTower(Ports.PORT1)