본문 바로가기

LEGO Sbrick

Sbrick 플러스 간단 테스트-01

얼마전에 Sbrick 플러스와 WeDo 1.0 센서를 구입해서 간단한 테스트를 해봤습니다.


원래는 상당히 원대한 계획이 있었으나..

우선은 테스트가 먼저여서 간단히 설정해봤습니다.


위 사진처럼 세팅했습니다.


A포트에는 서보모터,

B포트에는 M모터를 달았습니다. (네임펜으로는 뒤바꿔서 써놨군요.. 허허.. 사진 찍고 알았네요)


C포트에는 틸트 센서를,

D포트에는 거리 센서를 달았습니다.


안드로이드 SBRICK 어플 실행화면입니다. (iOS버전보다 조금 안정적인 것 같더라고요)


각 포트 알파벳 옆에 있는 톱니 표시를 누르면, 슬라이드 -> tilt -> movement 순으로 센서 종류가 바뀝니다.

C포트에는 틸트 센서를 달았으니, 틸트 타입으로,

D포트에는 거리 센서를 달았으니, movement 타입으로 설정했습니다.

그 옆으로 보이는 과녁 표시를 누르면 보정이 가능한데.. 사실 제대로 되는지는 모르겠습니다.


이제 designer.sbrick.com 에 접속하여,

로그인하여 프로필을 만듭니다.


작전은 이렇습니다.

조건1: 틸트센서가 앞으로 기울어진걸 감지하면, 'stop'이라는 시퀀스 작동.

조건2: 거리 센서가 감지하는 거리가 일정 범위 안에 들어오면 'stop'이라는 시퀀스 작동.


'stop'이라는 시퀀스를 만들어줍니다.

그냥 'value'가 0에 맞춰진 직선을 만들어줬습니다.


이름이 좀 이상하긴 한데,

왼쪽 상단에 보이는 'Distance-stop'이라는 조건과,

그 아래에 있는 'Tilt-backward'라는 조건을 만들어줍니다.


일단 틸트 센서를 설명하면, 'INPUT'에서 'Tilt sensor'를 골라주고,

다음에 있는 LOGIC에서 'event' - 'forward'를 골라준 다음,

TARGET의 in에서 'stop'이라는 시퀀스를 골라준 뒤에, 'on'을 선택하고 마찬가지로 off도 선택해줍니다.


다시 안드로이드의 sbrick 어플로 가서, 각 포트별로 채널을 맞춰줍니다.



설정을 마치고 테스트!


일단, 틸트 센서는 반쯤은 성공적이었습니다.

M모터를 작동하는 동안, (수직 슬라이더 조작)

틸트 센서를 앞으로 30도 이상 기울여주면,

우측 상단에 있는 'stop'시퀀스 버튼이 활성화되면서 M모터 작동이 멈춥니다.


계속 틸트 센서를 앞으로 기울인 상태에서,

수직 슬라이더를 조작하면 정말 잠깐 M모터가 돌다가 바로 정지합니다.


근데!!

거리센서는 도저히 어떻게 설정하는지 모르겠더라고요..

sbrick 설정으로 가서 거리 센서 앞에 손을 왔다갔다하면 분명히 작동은 하는것 같은데 말이죠..



센서에 대해 살짝 실망스러운점.

센서 자체가 그리 정밀하지 않더라고요. (Wedo 1.0이라 그럴까요?)


틸트센서는 앞/뒤 양옆으로 한 30도 정도만 넘어가면 그냥 그쪽으로 회전한것으로 인식하더라고요.

그러니까 꺾는 각도가 30도나 90도나 똑같이 인식한다는점입니다.


거리센서는 그나마 좀 낫습니다.

거리 인식 거리를 아래와 같이 설명할수 있습니다.


0cm ------ 5cm ------- 8cm(대략) ------- 무한대


이렇게 구분을 해보면...


0~5cm 사이에는 얼마나 가까이 있든 최소 값(50 정도?)으로 인식합니다.

5~8cm 사이에는 어느정도 변별력이 있습니다.

8cm정도 지점 이상은 무조건 최대 값(110)으로 인식입니다.


그리고 sbrick에서 기본적으로 제공하는 조작화면 에디터에서는,

무조건 '시퀀스'를 등록해야만 가능하다는 것.


예를 들어서,

'앞쪽에 장애물 발견시, 180도 회전한다'라는 조건을 작동하자면,

우선 '180도 회전'이라는 시퀀스를 만든다음,

거리센서 설정화면에서 해당 시퀀스를 설정해줘야한다는 것이지요..


아직은 배움의 길이 멀고 멉니다..