Энкодер
Энкодер — бұл айналмалы қозғалысты цифрлық сигналға түрлендіретін құрылғы. Ол әртүрлі қолданбаларда кеңінен қолданылады — ас үй техникасы мен дыбыс деңгейін реттегіштерден бастап автомобильдер мен 3D принтерлерге дейін.
Негізгі қолдану
Encoder(slot)
Encoder объектісін жасау үшін Encoder(slot) шақырыңыз.
Аргументтер:
slot (string | int | tuple)— слот белгісі ("A", "B", "C", "D", "E", "F", "G", "H"), пин порты (0, 2 және т.б.), кортеж (0, Pin.IN)
Қайтарады:
slot үшін RotaryEncoder объектісін қайтарады.
from pibody import Encoder
encoder = Encoder("A")
.read() -> int
Энкодердың ағымдағы орнын қайтарады.
data = encoder.read()
print(data)
.value() -> int
.read() сияқты, энкодердің ағымдағы орнын қайтарады.
value = encoder.value()
print(value)
.bound(min_val, max_val)
Энкодер мәндерін min_val бастап max_val дейінгі диапазонмен шектейді.
Аргументтер:
min_val (int | float)— энкодердің ең төменгі мәні. Әдепкі: 0max_val (int | float)— энкодердің ең жоғарғы мәні. Әдепкі: 10
encoder.bound(1, 10)
.wrap(min_val, max_val)
Энкодер мәндерін min_val бастап max_val дейінгі диапазонда айналдырады.
Аргументтер:
min_val (int | float)— энкодердің ең төменгі мәні. Әдепкі: 0max_val (int | float)— энкодердің ең жоғарғы мәні. Әдепкі: 10
encoder.wrap(1, 10)
.free()
Bound және wrap режимдерін қалпына келтіріп, энкодерді шектеусіз режимге қайтарады.
encoder.free()
Басқа функциялар
.old_value() -> int
Соңғы өзгеріске дейінгі энкодердің алдыңғы орнын қайтарады.
data = encoder.old_value()
print(data)
.set_value(val)
Энкодер мәнін орнатады.
Аргументтер:
val (int | float)— энкодер мәні. Әдепкі: 0
encoder.set_value(0)
.reset()
Энкодер мәнін 0-ге қалпына келтіреді.
encoder.reset()
.direction() -> int
Айналу бағытын қайтарады:
- 1 — сағат тілімен
- -1 — сағат тіліне қарсы
- 0 — қозғалыс жоқ
direction = encoder.direction()
print(direction)
.toggle_direction()
Айналу бағытын кері ауыстырады.
encoder.toggle_direction()
.set_incr(incr)
Энкодердің қадам мәнін өзгертеді.
Аргументтер:
incr (int | float)— энкодердің өсу/кему қадамы. Әдепкі: 1
encoder.set_incr(0.1)
API анықтамалығы
.set(value, min_val, incr, max_val, reverse, range_mode)
Энкодер конфигурациясын орнатады. Берілмеген кез келген параметр өзгеріссіз қалады.
Аргументтер:
value (int | float)— энкодердің ағымдағы мәні. Әдепкі: 0min_val (int | float)— энкодердің ең төменгі мәні. Әдепкі: 0max_val (int | float)— энкодердің ең жоғарғы мәні. Әдепкі: 10incr (int | float)— энкодердің өсу/кему қадамы. Әдепкі: 1reverse (bool)— True болса, айналу бағыты кері ауыстырылады. Әдепкі: False-
range_mode— мәндерді өңдеу режимін орнататын опционалды бүтін сан:RANGE_UNBOUNDED(1) — мән шектеусіз өсе/кеми аладыRANGE_WRAP(2) — мән min_val және max_val арасында айналадыRANGE_BOUNDED(3) — мән min_val және max_val деңгейінде тоқтайды
Әдепкі бойынша
range_mode=RANGE_UNBOUNDED.
encoder.set(value=0.5, min_val=0.1, incr=0.1, max_val=0.9, reverse=False, range_mode=3)
.close()
Энкодер үзілімдерін өшіріп, мәндерді жаңартуды тоқтатады.
encoder.close()
.bar(width, fill_char, empty_char) -> string
min_val және max_val арасындағы ағымдағы мәннің орнын көрсететін мәтіндік прогресс жолағын қайтарады.
Аргументтер:
width (int)— жол өлшемі. Әдепкі: 20fill_char (char)— толтырылған бөлікке арналған таңбаempty_char (char)— толтырылмаған бөлікке арналған таңба
bar = encoder.bar()
print(bar)
.live_bar(width, fill_char, empty_char)
Консольге нақты уақытта жаңартылатын прогресс жолағын шығарады.
Аргументтер:
width (int)— жол өлшемі. Әдепкі: 20fill_char (char)— толтырылған бөлікке арналған таңбаempty_char (char)— толтырылмаған бөлікке арналған таңба
encoder.live_bar()
.add_listener(callback)
Функцияны аргумент ретінде қосады. Бұл функция энкодер бұрылғанда шақырылады.
encoder.add_listener(cb)
.remove_listener(callback)
Бұрын қосылған callback функциясын жояды. Callback табылмаса ValueError қатесін шығарады.
encoder.remove_listener(cb)