หอส่งสัญญาณ#
การแนะนำ#
หอส่งสัญญาณ เป็นอุปกรณ์ที่ใช้ไฟสีต่างๆ เพื่อแสดงสถานะของหุ่นยนต์ นอกจากนี้ยังมีสวิตช์กันกระแทกในตัวที่สามารถตรวจจับการกดได้
สำหรับตัวอย่างด้านล่าง 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)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ค่า |
สีของไฟที่จะควบคุม:
|
สถานะ |
รูปแบบแสงที่จะใช้:
|
# 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)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ร |
สถานะของไฟแดง:
|
y |
สถานะของไฟสีเหลือง:
|
จี |
สถานะไฟเขียว:
|
ข |
สถานะของไฟสีน้ำเงิน:
|
ว |
สถานะของไฟสีขาว:
|
# 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)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
A previously defined function that executes when the Signal Tower’s bumper is pressed. |
|
ตัวเลือกเสริม ทูเปิล ที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม |
# 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)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
A previously defined function that executes when the Signal Tower’s bumper is released. |
|
ตัวเลือกเสริม ทูเปิล ที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม |
# 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)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พอร์ตอัจฉริยะที่เชื่อมต่อกับเสาส่งสัญญาณ จะเขียนในรูปแบบ |
# Construct a Signal Tower "signal_tower_1" with the
# SignalTower class
signal_tower_1 = SignalTower(Ports.PORT1)