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_AneboPIN_BUTTON_Bzdtbox.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_BUZZERzdtbox.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_CLOCKzdtbox.pinout)dio- input/output pin displeje (výchozí jePIN_DISPLAY_DEVICE_IOzdtbox.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í250ms)
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_Tzdtbox.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_TRIGGERzdtbox.pinout)echo_pin- čislo echo pinu (výchozíPIN_ULTRASONIC_ECHOzdtbox.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_Lzdtbox.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íREDzdtbox.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



