Sinyal Kulesi#
giriiş#
Sinyal Kulesi, robotun durumunu göstermek için renkli ışıklar kullanan bir cihazdır. Ayrıca, basıldığında bunu algılayabilen dahili bir tampon anahtarına da sahiptir.
Aşağıdaki örneklerde, yapılandırılmış Sinyal Kulesi’ne signal_tower_1 adı verilecek ve bu API dokümantasyonunda SignalTower sınıf yöntemlerine atıfta bulunulurken sonraki tüm örneklerde bu isim kullanılacaktır.
Aşağıda mevcut tüm yöntemlerin listesi bulunmaktadır:
Ayarlayıcılar – Sinyal Kulesi ışıklarının renklerini ve desenlerini yapılandırın.
set_color– Bir veya tüm Sinyal Kulesi LED’leri için deseni ayarlar.set_colors– Her bir Sinyal Kulesi LED’inin durumunu ayarlar.
Getters – Sinyal Kulesi tamponunun durumunu okuyun.
pressingbasıyor – Sinyal Kulesi tamponunun şu anda basılı olup olmadığını döndürür.
Geri Çağrı Fonksiyonları – Sinyal Kulesi tampon durumu değiştiğinde kod çalıştırın.
pressed– Sinyal Kulesi tamponuna basıldığında çağrılacak bir fonksiyonu kaydeder.released– Sinyal Kulesi tamponu serbest bırakıldığında çağrılacak bir fonksiyonu kaydeder.
Yapımcılar – Sinyal Kulesini manuel olarak başlatın ve yapılandırın.
SignalTower– Bir Sinyal Kulesi oluşturun.
Pasörler#
set_color#
set_color komutu, Sinyal Kulesi üzerindeki bir veya tüm LED’lerin ışık desenini ayarlar. Bu ışıklar, robotun bir projede nerede olduğunu takip etmek veya belirli koşullar karşılandığında bunu göstermek için kullanılabilir.
Usage:
signal_tower_1.set_color(value, state)
Parametre |
Tanım |
|---|---|
değer |
Kontrol edilecek ışık rengi:
|
durum |
Uygulanacak ışık deseni:
|
# Set the Signal Tower to start blinking the blue LED
signal_tower_1.set_color(SignalTower.BLUE, signal_tower.BLINK)
set_colors#
set_colors komutu, her bir Sinyal Kulesi LED’inin durumunu ayarlar. Bu ışıklar, robotun bir projede nerede olduğunu izlemek veya belirli koşullar karşılandığında bunu göstermek için kullanılabilir.
Usage:
signal_tower_1.set_colors(r, y, g, b, w)
Parametre |
Tanım |
|---|---|
R |
Kırmızı ışığın durumu:
|
y |
Sarı ışığın durumu:
|
G |
Yeşil ışığın durumu:
|
B |
Mavi ışığın durumu:
|
w |
Beyaz ışığın durumu:
|
# 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)
Getters#
pressing#
pressing Sinyal Kulesi’nin tamponunun şu anda basılı olup olmadığını gösteren bir Boolean değeri döndürür. Bu, acil durdurma olarak kullanılabilir.
True— Sinyal Kulesi’nin tamponuna şu anda basılıyor.False— Sinyal Kulesi’nin tamponuna basılmıyor.
Usage:
signal_tower_1.pressing()
Geri aramalar#
pressed#
pressed tuşuna basılması, Sinyal Kulesi’nin tamponuna basıldığında çağrılacak bir fonksiyonu kaydeder.
Bu yöntem, Event sınıfının bir örneğini döndürür.
Usage:
signal_tower_1.pressed(callback, arg)
Parametreler |
Tanım |
|---|---|
|
Sinyal Kulesinin tamponuna basıldığında yürütülen, önceden tanımlanmış bir fonksiyon. |
|
İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir tuple. Daha fazla bilgi için Parametreli Fonksiyonlar bölümüne bakın. |
# 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 Sinyal Kulesi’nin tamponu serbest bırakıldığında çağrılacak bir fonksiyonu kaydeder.
Bu yöntem, Event sınıfının bir örneğini döndürür.
Usage:
signal_tower_1.released(callback, arg)
Parametreler |
Tanım |
|---|---|
|
Sinyal Kulesinin tamponu serbest bırakıldığında yürütülen, önceden tanımlanmış bir fonksiyon. |
|
İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir tuple. Daha fazla bilgi için Parametreli Fonksiyonlar bölümüne bakın. |
# 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)
İnşaatçılar#
SignalTower#
SignalTower bir Sinyal Kulesi oluşturur.
SignalTower(smartport)
Parametre |
Tanım |
|---|---|
|
Sinyal kulesinin bağlı olduğu akıllı port, |
# Construct a Signal Tower "signal_tower_1" with the
# SignalTower class
signal_tower_1 = SignalTower(Ports.PORT1)