Signaalitorni#
Johdanto#
Signaalitorni on laite, joka käyttää värillisiä valoja robotin tilan näyttämiseen. Siinä on myös sisäänrakennettu puskurikytkin, joka havaitsee painelun.
Alla olevissa esimerkeissä konfiguroidulle Signal Towerille annetaan nimeksi signal_tower_1 , ja sitä käytetään kaikissa seuraavissa esimerkeissä tässä API-dokumentaatiossa viitattaessa SignalTower -luokkametodeihin.
Alla on luettelo kaikista käytettävissä olevista menetelmistä:
Asettajat – Määritä signaalitornin valojen värit ja kuviot.
set_color– Asettaa kuvion yhdelle tai kaikille signaalitornin LED-valoille.set_colors– Asettaa kunkin signaalitornin LED-valon tilan.
Getters – Lue signaalitornin puskurin tila.
pressing– Palauttaa, onko signaalitornin puskuri painettuna tällä hetkellä.
Takaisinkutsutoiminnot – Suorita koodi, kun signaalitornin puskurin tila muuttuu.
pressed– Rekisteröi funktion, joka kutsutaan, kun signaalitornin puskuria painetaan.released– Rekisteröi funktion, joka kutsutaan, kun signaalitornin puskuri vapautetaan.
Konstruktorit – Alusta ja konfiguroi signaalitorni manuaalisesti.
SignalTower– Luo signaalitorni.
Setterit#
set_color#
set_color asettaa yhden tai kaikkien signaalitornin LEDien valokuvion. Näitä valoja voidaan käyttää robotin sijainnin seuraamiseen projektissa tai tiettyjen ehtojen täyttymisen osoittamiseen.
Usage:
signal_tower_1.set_color(value, state)
Parametri |
Kuvaus |
|---|---|
arvo |
Ohjattavan valon väri:
|
osavaltio |
Käytettävä valokuvio:
|
# Set the Signal Tower to start blinking the blue LED
signal_tower_1.set_color(SignalTower.BLUE, signal_tower.BLINK)
set_colors#
set_colors asettaa kunkin signaalitornin LED-valon tilan. Näitä valoja voidaan käyttää robotin sijainnin seuraamiseen projektissa tai tiettyjen ehtojen täyttymisen osoittamiseen.
Usage:
signal_tower_1.set_colors(r, y, g, b, w)
Parametri |
Kuvaus |
|---|---|
r |
Punaisen valon tila:
|
y |
Keltaisen valon tila:
|
g |
Vihreän valon tila:
|
b |
Sinisen valon tila:
|
w |
Valkoisen valon tila:
|
# 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)
Getterit#
pressing#
pressing palauttaa totuusarvon, joka ilmaisee, painetaanko signaalitornin puskuria parhaillaan. Tätä voidaan käyttää hätäpysäytyksenä.
True— Signaalitornin puskuria painetaan parhaillaan.False— Signaalitornin puskuria ei paineta.
Usage:
signal_tower_1.pressing()
Takaisinkutsut#
pressed#
pressed rekisteröi funktion, joka kutsutaan, kun signaalitornin puskuria painetaan.
Tämä metodi palauttaa Event -luokan instanssin.
Usage:
signal_tower_1.pressed(callback, arg)
Parametrit |
Kuvaus |
|---|---|
|
Aiemmin määritelty function, joka suoritetaan, kun signaalitornin puskuria painetaan. |
|
Valinnainen. tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Katso lisätietoja kohdasta Functions with Parameters. |
# 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 rekisteröi funktion kutsuttavaksi, kun signaalitornin puskuri vapautetaan.
Tämä metodi palauttaa Event -luokan instanssin.
Usage:
signal_tower_1.released(callback, arg)
Parametrit |
Kuvaus |
|---|---|
|
Aiemmin määritelty function, joka suoritetaan, kun signaalitornin puskuri vapautetaan. |
|
Valinnainen. tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Katso lisätietoja kohdasta Functions with Parameters. |
# 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)
Rakentajat#
SignalTower#
SignalTower luo signaalitornin.
SignalTower(smartport)
Parametri |
Kuvaus |
|---|---|
|
Älyportti, johon signaalitorni on kytketty, kirjoitetaan muodossa |
# Construct a Signal Tower "signal_tower_1" with the
# SignalTower class
signal_tower_1 = SignalTower(Ports.PORT1)