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.

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:

  • SignalTower.RED
  • SignalTower.GREEN
  • SignalTower.BLUE
  • SignalTower.YELLOW
  • SignalTower.WHITE
  • SignalTower.ALL — Eylemi tüm renklere uygular.

durum

Uygulanacak ışık deseni:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Işıklar yanıp sönüyor.

# 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:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Işıklar yanıp sönüyor.

y

Sarı ışığın durumu:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Işıklar yanıp sönüyor.

G

Yeşil ışığın durumu:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Işıklar yanıp sönüyor.

B

Mavi ışığın durumu:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Işıklar yanıp sönüyor.

w

Beyaz ışığın durumu:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Işıklar yanıp sönüyor.

# 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

callback

Sinyal Kulesinin tamponuna basıldığında yürütülen, önceden tanımlanmış bir fonksiyon.

arg

İ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

callback

Sinyal Kulesinin tamponu serbest bırakıldığında yürütülen, önceden tanımlanmış bir fonksiyon.

arg

İ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

smartport

Sinyal kulesinin bağlı olduğu akıllı port, Ports.PORTx şeklinde yazılır; burada x port numarasıdır.

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