Struktura
Každé zařízení má svou třídu, kterou lze inicializovat a modul shortcuts, kde jsou uložené již hotové inicialozavé objekty těchto tříd.
Button
Třída
Konstruktor
pin
- čislo pinu, na který je tlačítko zapojeno (používámePIN_BUTTON_A
neboPIN_BUTTON_B
zdtbox.pinout
)long_press_ms
- doba v ms, která bude považována za dlouhé stistknutí (výchozí hodnota je 1000 ms)
Ukázka
from dtbox.button import Button
from dtbox.pinout import PIN_BUTTON_A, PIN_BUTTON_B
btn_a = Button(pin=PIN_BUTTON_A)
btn_b = Button(pin=PIN_BUTTON_B, long_press_ms=3000)
Metody
Stisknutí tlačítka
Metoda dekorovaná @btn_a.on_press
se provede při každém stisnutí tlačítka
Uvolnění tlačítka
Metoda dekorovaná @btn_a.on_release
se provede při každém uvolnění tlačítka
Dlouhé stisknutí
Metoda dekorovaná @btn_a.on_long_press
se provede při dlouhém stisku tlačítka. Dobu kdy se stisk považuje za
dlouhý je možné změnit v konstruktoru, parametrem long_press_ms
.
Buzzer
Shortcuts
Importuji pomocí
Třída
Konstruktor
pin
- číslo pinu, na který je buzzer připojen (výchozí jePIN_BUZZER
zdtbox.pinout
)
Ukázka
Metody
play_tone
Metoda přehraje tón
freq
- frekvence přehraného zvukulength
- délka tónu length=2 → ½, length=4 → ¼volume
- hlasitost
Ukázka
beep
Metoda přehraje tón
freq
- frekvence přehraného tónulenght
- délka tónulength=2 --> 1/2, length=4 --> 1/4
Ukázka
play_melody
Metoda přehraje melodii
melody
- melodie (list not)speed
- rychlost (BPM)autoPause
- automatická pauza mezi notamivolume
- hlasitost
Ukázka
from dtbox.melody import indiana
buzzer.play_melody(melody=indiana, speed=60, autoPause=0, volume=10)
play_tones
Metoda přehraje melodii
melody
- melodie (list not)autoPause
- automatická pauza mezi notamivolume
- hlasitost
Ukázka
Display
Shortcuts
Importuji pomocí
Třída
Konstruktor
clk
- clock pin displeje (výchozí jePIN_DISPLAY_CLOCK
zdtbox.pinout
)dio
- input/output pin displeje (výchozí jePIN_DISPLAY_DEVICE_IO
zdtbox.pinout
)brightness
- jas (0-7)
Ukázka
from dtbox.display import Display
from dtbox.pinout import PIN_DISPLAY_CLOCK, PIN_DISPLAY_DEVICE_IO
display = Display(clk=PIN_DISPLAY_CLOCK, dio=PIN_DISPLAY_DEVICE_IO, brightness=5)
Metody
TODO: decide: table or paragraphs?
Metoda | Parametry | Popis | Příklad |
---|---|---|---|
brightness |
val=None - jas (0-7, výchozí je nedefinována) |
Nastaví jas displeje | display.brightness(3) |
write_char |
char - znak k vykreslenípos=0 - pozice |
Zobrazí znak na dané pozici | display.write_char('a', 2) |
show |
value - vstupní hodnota align_right=False upsidedown=False scroll=False delay=250 - čas přepnutí animace |
Zobrazí hodnotu na displeji | display.show('ahoj') |
clear |
Zhasne všechny segmenty displeje | display.clear() |
brightness
Nastaví jas (0-7)
val
- hodnota jasu (výchozí je nedefinovaná)
Ukázka
clear
Zhasne všechny segmenty
Ukázka
write_char
Vykreslí znak na určité pozici
char
- znakpos
- index (výchozí je první pozice)
Ukázka
show
Zobrazí řetězec na dispeji
value
- zobrazená hodnotaalign_right
- hodnota bude zarovnána vpravo (výchozíFalse
)upsidedown
- hodnota bude zobrazena vzhůru nohama (výchozíFalse
)scroll
- text přejede přes display (výchozíFalse
)delay
- prodleva mezi změnami animace přejíždějícího textu v ms (výchozí250
ms)
Ukázka
Použití různých typů vstupních hodnot
Typ vstupu | Příklad | Výsledek |
---|---|---|
string | display.show('abc') |
|
boolean | display.show(False) |
|
integer | display.show(420) |
|
float | display.show(-6.9, align_right=True) |
Příklady použití nepovinných parametrů
Popis | Příklad | Výsledek |
---|---|---|
Zobrazení textu zarovnaného vlevo | display.show('Hello.') |
|
Zobrazení textu zarovnaného vpravo | display.show('Hello.', align_right=True) |
|
Přejetí textu po displeji zprava doleve | display.show('Hello.', scroll=True) |
|
Přejetí textu po displeji zleva doprava | display.show('Hello.', align_right=True, scroll=True) |
|
Zobrazení text vzhůru nohama | display.show('Hello.', upsidedown=True) |
|
Kombinuje otočení textu a zarovnání vpravo | display.show('Hello.', align_right=True, upsidedown=True) |
|
Kombinuje otočení a přejetí textu | display.show('Hello.', upside_down=True, scroll=True) |
|
Kombinuje otočení textu a přejetí zleva doprava | display.show('Hello.', align_right=True, upside_down=True, scroll=True) |
InfluxDB
Shortcuts
Importuji pomocí
Třída
Konstruktor
baseURL
- url databázedbname
- název databázeusername
- uživatelské jménopassword
- heslomeasurement
- název měření**tags
- dodatečné tagy
Ukázka
from dtbox.influxdb import InfluxDB
influxdb = InfluxDB(baseURL='https://www.example.com', dbname='database', username='user', password='pass')
Metody
fromconfig
Vytvoří instanci pomocí konfiguiračního souboru
config_name
- název konfiguračního souboru
Ukázka
set_measurement
Nastaví název měření
measurement
- název měření
Ukázka
set_tags
Nastaví tagy
**kwargs
- tagy
write
Zapíše do databáze
*args
- data k zapsání do databáze**kwargs
-TODO
Ukázka
Led
Shortcuts
Importuji pomocí
Třída
Konstruktor
pin
- číslo pinu, na který je Led připojenavalue
- Led bude svítit (výchozí jeFalse
)
Ukázka
Metody
blink
Blikne diodou
length_on
- doba, po kterou bude dioda rozsvícenálength_off
- doba, po kterou bude dioda zhasnutá
Ukázka
value
Rozsvítí nebo zhasne diodu
value
- logická hodnota o tom, zda bude Led svítit nebo ne (výchozí je prázdná hodnota)
Ukázka
toggle
Přepne stav Led (svítí/nesvítí)
Ukázka
Network
Shortcuts
Importuji pomocí
Třída
Konstruktor
retries
- počet pokusů při připojování k wifi (0 = neomezeně)
Ukázka
Metody
connect
Připojí k wifi
ssid
- název sítě wifi (výchozí je prázdné)password
- heslo k síti wifi (výchozí je prázdné)
Ukázka
connected
Vrací True
pokud je připojeno k wifi
Ukázka
Thermometer
Shortcuts
Importuji pomocí
Třída
Konstruktor
pin
- číslo pinu, na který je teploměr připojen (výchozí jePIN_CONNECTOR_T
zdtbox.pinout
)
Ukázka
Metody
get_temp
Vrátí teplotu naměřenou z teploměru
retries
- počet pokusů při měření (Výchozí je 3)
Ukázka
Ultrasonic
Shortcuts
Imprtuji pomocí
Třída
Konstruktor
Ultrasonic(self, trigger_pin=PIN_ULTRASONIC_TRIGGER, echo_pin=PIN_ULTRASONIC_ECHO, echo_timeout_us=500 * 2 * 30)
trigger_pin
- číslo trigger pinu (výchozíPIN_ULTRASONIC_TRIGGER
zdtbox.pinout
)echo_pin
- čislo echo pinu (výchozíPIN_ULTRASONIC_ECHO
zdtbox.pinout
)echo_timeout_us
- délka vysílaného zvuku v mikrosekundách (výchozí15_000
)
Ukázka
from dtbox.pinout import PIN_ULTRASONIC_ECHO, PIN_ULTRASONIC_TRIGGER
from dtbox.ultrasonic import Ultrasonic
ultrasonic = Ultrasonic(trigger_pin=PIN_ULTRASONIC_TRIGGER, echo_pin=PIN_ULTRASONIC_ECHO)
Metody
distance_mm
Vrací vzdálenost v milimetrech
Ukázka
distance_cm
Vrací vzdálenost v centimetrech
Ukázka
WSLed
Shortcuts
Importuji pomocí
Třída
Konstruktor
pin
- číslo pinu, na který je wsled připojena (výchozíPIN_CONNECTOR_L
zdtbox.pinout
)num
- počet připojených wsled (pouze v případě led pásky, jinak nechat výchozí hodnotu 1)
Ukázka
Metody
wheel_to_rgb
Převede pozici na barevném kolečku a vzdálenost od kraje na RGB
pos
- pozice na barevném kolečku (0-255)dev
- vzdálenost od kraje (výchozí je 1)
Ukázka
random_color
Rozsvítí náhodnou barvu
Ukázka
wheel_color
Rozsvítí barvu podle barevného kolečka
color_position
- úhel na barevném kolečku (0-255)intensity
- vzdálenost od okraje kolečka
Ukázka
color
Rozsvítí barvu
color
- barva (výchozíRED
zdtbox.colors
)i
- index rozsvícené led (v případě led pásky, výchozí 0)
Ukázka
rainbow_cycle
Postupně na wsled rozsvítí barvy duhy
wait
- interval měnění barvy v milisekundáchintensity
- intenzita
Ukázka