dynamikontrol 패키지¶
Submodules¶
dynamikontrol.LED module¶
- class dynamikontrol.LED.LED(module)[소스]¶
기반 클래스:
object
LED 서브 모듈 클래스.
from dynamikontrol import Module import time module = Module() module.led.blink(color='r') # blink red module.led.toggle(color='g') # toggle green while True: module.led.on(color='y') # turn on yellow time.sleep(0.1) module.led.off(color='y') # turn off yellow time.sleep(0.1) module.disconnect()
- 매개변수
module (object) – Module 객체
- blink(color='all', on_delay=0.256, off_delay=0.256)[소스]¶
LED를 주기적으로 깜빡인다.
- 매개변수
color (str, optional) – LED 색상.
r
,y
,g
. 기본값all
.on_delay (float, optional) – LED가 켜진 상태로 유지되는 시간, 단위 초.
on_delay
는 반드시0.0
에서65.0
사이의 값을 갖는다. 기본값0.256
.off_delay (float, optional) – LED가 꺼진 상태로 유지되는 시간, 단위 초.
on_delay
는 반드시0.0
에서65.0
사이의 값을 갖는다. 기본값0.256
.
dynamikontrol.Module module¶
- class dynamikontrol.Module.Module(serial_no=None, debug=False)[소스]¶
기반 클래스:
object
Module class.
from dynamikontrol import Module module = Module(serial_no) # specify the module by serial number # Print module serial number print('Serial number: %s' % (module.get_serial_no(),) module.disconnect()
- 매개변수
serial_no (str) – 특정 시리얼 번호의 모듈을 제어한다.
debug (bool) – 디버그 메시지를 출력한다.
dynamikontrol.Motor module¶
- class dynamikontrol.Motor.BLDC(module)[소스]¶
기반 클래스:
object
BLDC 모터 서브 모듈 클래스
from dynamikontrol import Module import time module = Module() module.motor.speed(1000) time.sleep(5) module.motor.stop() module.disconnect()
- 매개변수
module (object) – Module 객체
- get_speed(func, unit='rpm')[소스]¶
모터의 현재 속도를 비동기로 요청한다.
from dynamikontrol import Module import time module = Module() module.motor.speed(4000, period=10) def get_speed_cb(speed): print('Current Speed', speed) for i in range(60): time.sleep(0.5) module.motor.get_speed(func=get_speed_cb) module.disconnect()
- 매개변수
func (function) – 모터의 속도를 전달받았을 때 실행할 콜백 함수.
unit (str, optional) – 속도 단위는
rpm
,deg/s
,rad/s
중에 하나의 값을 가진다. 기본값'rpm'
.
- speed(speed, period=None, unit='rpm', func=None, args=(), kwargs={})[소스]¶
모터의 속도를 조절한다.
- 매개변수
speed (int) – 만약
speed > 0
이면 시계방향으로 회전하고,speed < 0
이면 반시계방향으로 회전한다.period (int, optional) – 모터가 움직이는 시간을 정의한다, 단위 초.
period
는 반드시0.0
에서65.0
사이의 값을 갖는다. 기본값None
.unit (str, optional) – 속도 단위는
rpm
,deg/s
,rad/s
중에 하나의 값을 가진다. 기본값'rpm'
.func (function, optional) – 모터가 멈추었을 때 실행할 콜백 함수. 기본값
None
.args (tuple, optional) – 콜백 함수의 args 인자. 기본값
()
.kwargs (dict, optional) – 콜백 함수의 kwargs 인자. 기본값
{}
.
- class dynamikontrol.Motor.Servo(module)[소스]¶
기반 클래스:
object
서보 모터 서브 모듈 클래스
from dynamikontrol import Module import time module = Module() module.motor.angle(0) time.sleep(2) while True: module.motor.angle(45) time.sleep(2) def cb(string): print(string) module.motor.angle(-45, func=cb, args=('hello',)) # print 'hello' when motor stopped at -45 degree. time.sleep(2) module.disconnect()
- 매개변수
module (object) – Module 객체
- angle(angle, period=None, func=None, args=(), kwargs={})[소스]¶
모터의 각도를 조절한다.
- 매개변수
angle (int) – 만약
angle > 0
이면 시계방향으로 움직이고,angle < 0
이면 반시계방향으로 움직인다, 단위 도.angle
값은 반드시-85
에서85
사이의 값을 갖는다.period (float, optional) – 모터가 움직이는 시간을 정의한다, 단위 초.
period
는 반드시0.0
에서65.0
사이의 값을 갖는다. 기본값None
.func (function, optional) – 모터가 멈추었을 때 실행할 콜백 함수. 기본값
None
.args (tuple, optional) – 콜백 함수의 args 인자. 기본값
()
.kwargs (dict, optional) – 콜백 함수의 kwargs 인자. 기본값
{}
.
dynamikontrol.Switch module¶
- class dynamikontrol.Switch.Switch(module)[소스]¶
기반 클래스:
object
Switch 서브 모듈 클래스.
from dynamikontrol import Module import time module = Module() def callback(string, angle): print(string) module.motor.angle(angle) module.switch.press(callback, ('Switched to on', 85,)) module.switch.release(callback, ('Switched to off', 0,)) while True: time.sleep(1) module.disconnect()
- 매개변수
module (object) – Module 객체
- off(func, args=(), kwargs={}, ch=0)[소스]¶
스위치를
off
로 설정했을 때 실행할 콜백 함수를 설정한다.- 매개변수
func (function) – 콜백 함수.
args (tuple, optional) – args 인자. 기본값
()
.kwargs (dict, optional) – kwargs 인자. 기본값
{}
.ch (int, optional) – 스위치의 채널 번호. 반드시
0
또는1
값을 가져야 한다. 기본값0
.
dynamikontrol.Timer module¶
- class dynamikontrol.Timer.Timer[소스]¶
기반 클래스:
object
기본 타이머 클래스.
from dynamikontrol import Module, Timer import time t1 = Timer() t2 = Timer() module = Module() t1.callback_at(func=module.led.toggle, args=('r',), at='2021-03-02 19:46:30', interval=0.1) t2.callback_after(func=module.led.toggle, args=('g',), after=1, interval=0.1) time.sleep(5) t1.stop() t2.stop() module.disconnect()
- callback_after(func, args=(), kwargs={}, after=0, interval=None)[소스]¶
일정 시간 후에 콜백 함수를 호출한다.
- 매개변수
func (function) – 콜백 함수.
args (tuple, optional) – args 인자. 기본값
()
.kwargs (dict, optional) – kwargs 인자. 기본값
{}
.after (int, optional) – 콜백 대기 시간 (초). 기본값
0
.interval (int, optional) – 콜백 주기 (초). 기본값
None
.
- callback_at(func, args=(), kwargs={}, at=None, interval=None)[소스]¶
특정 시간에 콜백 함수를 호출한다.
- 매개변수
func (function) – 콜백 함수.
args (tuple, optional) – args 인자. 기본값
()
.kwargs (dict, optional) – kwargs 인자. 기본값
{}
.at (datetime str, optional) – 콜백 시간 datetime 문자열. 예)
2021-03-04 21:57:30
. 기본값None
.interval ([type], optional) – 콜백 주기 (초). 기본값
None
.