LIP LED 사용방법문의
private Device MFrontled;
MFrontled = robot.findDeviceById(Albert.EFFECTOR_LIP);
MFrontled.write(100);
위와같은 방법으로 LED를 사용하고자 하였으나 LED가 켜지지 않습니다..
혹시 방법이 잘못된건인가요?^^;;
혹시 Lip 데이터에 맞춰 LED를 깜박이게 하고 싶으신 거였다면 다음과 같이 하세요.
일단 앞쪽 LED는 ON/OFF만 있으므로 Lip 데이터를 적당히 나누어야 합니다.
mFrontLED = robot.findDeviceById(Albert.COMMAND_FRONT_LED);
mLip = robot.findDeviceById(Albert.EFFECTOR_LIP);
그리고, onExecute 함수에서
if(mLip.read() > 50) mFrontLED.write(1);
else mFrontLED.write(0);
몸통 LED를 제어하고 싶으면...
몸통 LED는 Lip과 같이 0 ~ 100의 값을 가지니까
mBodyLED = robot.findDeviceById(Albert.EFFECTOR_BODY_LED);
mLip = robot.findDeviceById(Albert.EFFECTOR_LIP);
그리고 onExecute 함수에서
mBodyLED.write(mLip.read());
근데 Lip 디바이스의 데이터는 누군가가 데이터를 써야 값이 있을텐데요
프로그램 내에서 데이터를 써줘도 되지만
일반적으로는 클립을 실행할 때(클립 파일에서 보이스 채널에 입력했다면)
클립 재생기가 Lip 디바이스에 데이터를 써줍니다.
이 부분은 클립 재생기 튜토리얼을 작성할 때 예제로 넣을 생각인데 아직 작성을 못 했네요.
참고로 로보이드 스튜디오에서 보이스 채널은
소리 출력과 함께 입의 움직임을 생성해주는 채널입니다.




LIP LED라는 건 없구요
Lip과 LED는 다른 디바이스입니다.
즉, EFFECTOR_LIP은 입의 움직임을 나타내는 액추에이터(실제로 존재하지는 않고 가상의 장치입니다)
앞쪽 LED는 COMMAND_FRONT_LED입니다.
앞쪽 LED의 데이터는 0과 1의 값을 가지는데 0이면 꺼지고 1이면 켜집니다.
private Device mFrontLED;
mFrontLED = robot.findDeviceById(Albert.COMMAND_FRONT_LED);
mFrontLED.write(1);
로 하시면 켜질 것입니다.
자세한 건 레퍼런스를 참고하세요.
http://www.smartrobot.org/ko/reference/kr/robomation/physical/Albert.php