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 객체

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.

off(color='all')[소스]

LED를 끈다.

매개변수

color (str, optional) – LED 색상. r, y, g. 기본값 all.

on(color='all')[소스]

LED를 켠다.

매개변수

color (str, optional) – LED 색상. r, y, g. 기본값 all.

toggle(color='all')[소스]

LED 켜짐/꺼짐 상태를 토글한다. 만약 꺼져있다면 켜고, 켜져 있다면 끈다.

매개변수

color (str, optional) – LED 색상. r, y, g. 기본값 all.

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) – 디버그 메시지를 출력한다.

connect()[소스]

모듈에 연결한다.

disconnect()[소스]

모듈과 연결을 끊는다. 코드의 마지막에 반드시 module.disconnect() 를 호출해야 정상적으로 연결이 종료된다.

get_fw_version()[소스]

연결된 모듈의 기기 펌웨어 버전을 가져온다.

반환값

모듈의 펌웨어 버전.

반환 형식

str

get_id()[소스]

연결된 모듈의 ID를 가져온다.

반환값

모듈의 ID.

반환 형식

int

get_serial_no()[소스]

연결된 모듈의 시리얼 번호를 가져온다.

반환값

시리얼 번호

반환 형식

str

get_time()[소스]

연결된 모듈의 기기 시간을 가져온다.

반환값

기기 시간

반환 형식

datetime

send(data)[소스]

모듈에 데이터를 보낸다.

매개변수

data (bytearray of int) – 전송할 데이터

set_default_switch_operation(on)[소스]

스위치 기본 동작을 켜거나 끈다. 기본적으로 스위치를 누르면 모터의 기본 동작을 확인할 수 있다.

매개변수

on (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 인자. 기본값 {}.

stop()[소스]

모터를 즉시 정지한다.

class dynamikontrol.Motor.Motor(module)[소스]

기반 클래스: object

angle(*args, **kwargs)[소스]
get_offset(*args, **kwargs)[소스]
get_speed(*args, **kwargs)[소스]
set_offset(*args, **kwargs)[소스]
speed(*args, **kwargs)[소스]
stop(*args, **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 인자. 기본값 {}.

get_offset()[소스]

모터의 오프셋 각도를 가져온다.

반환값

모터의 오프셋, 단위 도.

반환 형식

float

set_offset(angle)[소스]

모터의 오프셋 각도를 조절한다. 만약 모터의 각도를 0으로 설정했는데도 불구하고 모터의 각도가 어느 한 쪽으로 기울어져 있으면 수동으로 오프셋 각도를 조절할 수 있다.

매개변수

angle (float) – 모터의 오프셋, 단위 도. 예) 17.5

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.

on(func, args=(), kwargs={}, ch=0)[소스]

스위치를 on 으로 설정했을 때 실행할 콜백 함수를 설정한다.

매개변수
  • func (function) – 콜백 함수.

  • args (tuple, optional) – args 인자. 기본값 ().

  • kwargs (dict, optional) – kwargs 인자. 기본값 {}.

  • ch (int, optional) – 스위치의 채널 번호. 반드시 0 또는 1 값을 가져야 한다. 기본값 0.

press(*args, **kwargs)[소스]

스위치를 눌렀을 때 실행할 콜백 함수를 설정한다. on 메소드와 같다.

release(*args, **kwargs)[소스]

스위치를 눌렀다가 떼었을 때 실행할 콜백 함수를 설정한다. off 메소드와 같다.

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.

stop()[소스]

타이머를 중지한다.

Module contents