본문 바로가기

  • Q. 핀치로봇 핀치로봇이 지원하는 소프트웨어의 구체적인 활용방안에 대해 알려주세요.
    A.

    대표적인 Snap, Scratch, Python, Greenfoot, Alice, Java 등의 활용 방안에 대해 간단히 알려드리면 다음과 같습니다. 좀 더 구체적인 활용방안과 실제 적용사례에 대해서는 본사 소프트웨어 교육 담당자와 상담해 주시기 바랍니다.

     

     

    Snap 1, 2, 3 단계 :유치원생부터 초등학교 2학년까지 교육 가능합니다.


    Snap 4단계 : Snap 1, 2, 3 단계의 경험을 가진 학생으로 초등학교 3학년 이상부터 수업이 가능합니다. 


    Scratch : 초등학교 2학년부터 교육이 가능합니다.


    Alice: Alice는 카네기맬론대학에서 개발한 3D 애니메이션 제작 도구로 Java 언어를 배우는 도구입니다. 미국의 약 2400여개의 대학 중에 약 10% 대학에서 Alice를 프로그래밍 교재로 활용하고 있습니다. Java 기반 교육용언어로 Java언어를 소유하고 있는 오라클에서 지원하고 있습니다.


    Greenfoot: 영국의 Kent 대학에서 만든 자바 기반 프로그래밍 도구로 아주 우수하며 초등학교 고학년 및 중고등학생들의 수업에 활용 할 수 있습니다. 역시, Java 기반 교육용언어로 오라클에서 지원하고 있습니다.


    Python : 초등고학년이나 중학생부터 활용가능하고 고등학교 및 대학생까지 활용범위가 매우 높습니다. 현재 미국의 고등학교와 대학에서 가장 많이 활용되는 프로그래밍 언어로 미국교사들에 따르면 자바언어보다 100배 쉽다고 합니다. Dynamic Type Binding(변수의 type이 compile이 아닌 runtime시에 결정)을 지원하고 블록구분을 위한 대괄호({, })를 사용하지 않아서 초급자들이 사용하기에 사용하기 편리한 점이 많습니다.


    Java : 핀치로봇과 연계한 다양한 자바 도구 지원하고 있으며 전문대학이나 대학의 전공 및 비전공 학생들의 Java 교육을 위해 활용할 수 있습니다. 지원되는 소프트웨어 패키지는 다음의 그림과 같습니다. 단, Generic은 어떠한 IDE와도 사용할 수 있지만 사용하는 IDE에서 1개의 프로젝트를 생성하여 finch.jar 파일과 적절히 링크할 필요가 있습니다.

     

    좀 더 구체적인 문서 정보가 필요하시다면 다음의 링크를 참고하세요.

    http://www.finchrobot.com/software/java

     

  • Q. 핀치로봇 최근에 파이썬(Python)에 관심이 높은데요 핀치 파이썬 패키지에 대한 설명을 해줄 수 있나요?
    A.

    핀치 파이썬에서 제공하는 파일은 다음과 같습니다.

     

    ▶︎ 파일설명

    ∙ finch.py – 핀치를 제어할 핀치 API 함수들을 포함한다.
    ∙ finchconnection.py – finch.py에서 사용되고 USB를 통해 데이터를 보내고 받는 하단의 함수들을 포함한다.
    ∙ hidapi32/64.dll, libhidapi.dylib, libhidapi32/64.so, libhidapipi.so – USB 장치들(특히, 핀치)을 스캔하고 연결(connection)을 오픈하기 위  해 finchconnection.py에서 사용되는 컴파일된 C 라이브리이다. dll 파일들은 윈도용이고, dylib 는 OSX 용이며 so는 Linux 용이다. 
    ∙ accelerationExampleOne.py, accelerationExampleTwo.py, dance.py, wanderer.py, alarm.py, lapswimmer.py, musicexample.    py, racedriver.py, tapExample.py, testfinchfunctions.py – 파이썬 예제 프로그램들이다. 각각의 프로그램이 무엇을 하는지 더 알고 싶으면 파     일을 열어서 확인해보기 바랍니다.
    ∙ notes.py – musicexample.py에서 사용되는 helper 클래스이며 핀치 버저(사운드)에서 음악 연주를 쉽도록 해주는 프로그램이다. 

     

     

     

    ▶︎ Finch API

    일반사항

    close – 핀치와의 연결을 닫는다. 
    사용: 프로그램에서 핀치와의 연결을 명확히 끝내고자할 때 close API를 호출한다. 이것은 모터의 동작을 멈추게 하고 바로 핀치가 동작대기 모드(부리의 컬러가 계속 바뀌는 상태)로 전환하도록 한다. 


    halt – 핀치의 LED와 모터를 중지시키는 편리한 함수이다. 
    사용: 핀치의 모터를 정지시키고 LED를 off 하고자 할 때마다 호출한다. 단, 한번 의 호출로 실행된다. 그러나 buzzer를 멈추게 하지는 않는다

     

     

     

     

    출력(Outputs)
    led – 핀치의 부리컬러를 제어한다.
    사용: 16비트 3자리 문자열: finch.led(‘#0000FF’) 또는 0-255 RGB 값: finch.led(0, 0, 255). 순서는 각각 Red, Green, Blue를 나타낸다.

     

    wheels – 왼쪽과 오른쪽 바퀴로 전원을 보내는 것을 제어한다.
    사용: 값의 범위는 각각의 바퀴에 대해 -1.0 에서 1.0 사이의 값을 사용한다. 만일 left=right=0.0을 지정하면 멈추게 된다. 
    예제]: finch.wheels(1.0, 1.0) # 전진
              finch.wheels(-1.0, -1.0) # 후진 
              finch.wheels(0.7, -0.3) # 왼쪽바퀴애 대해 70% 전진, 오른 쪽 바퀴에 대해 30% 후진


    buzzer – 핀치의 버저로 소리를 출력한다.
    사용: 두 개의 파라미터를 전달한다. 예를 들어, finch.buzzer(0.5, 440)는 0.5초 동안 440Hz의 소리를 연주한다. 여기서, 주파수는 20에서 20,000의 값을 사용한다. 즉, 인간의 가청주파수가 20Hz 에서 20,000Hz이다. 

    이 함수는 프로그램 실행을 늦추지(연기하지)는 않는다. 프로그램 실행을 늦추기 위해서는  buzzer_with_delay 함수를 사용하면 된다. 만일 두 개의 buzzer 함수가 연이어서 호출된다면 마지막의 함수만 실행 될 것이다. 예를 들어, 다음의 함수가 호출되면 두 번째 함수에 의해 880 Hz의 버즈만 실행된다. finch.buzzer(0.5, 220) finch.buzzer(0.5, 880) 

     

    buzzer_with_delay – 핀치의 buzzer로 사운드를 출력한다. 단, buzzer가 실행되는 시간 동안 프로그램의 실행이 멈춘다. 사용법은 buzzer함수와 동일하다. 

     

     

     

     

    센서(Sensors)

    온도(temperature)센서 – 섭씨(Celcius)로 온도 값을 리턴 한다.  

    사용: my_temperature = finch.temperature() 


    빛(light)센서 – 왼쪽 및 오른 쪽의 빛 센서 값을 리턴한다. 값의 범위는 0.0 (dark)에서 1.0 (bright) 사이의 값이다. 

    사용: left_light_sensor, right_light_sensor = finch.light() 


    장애물(obstacle)센서 – 장애물 센서 값을 리턴 한다. 장애물이 없으면 False 값을 장애물이 발견되면 True 값을 리턴한다.
    사용: left_obstacle, right_obstacle = finch.obstacle() 


    가속도(acceleration)센서 – 다음의 값(x, y, z, tap, shake)을 리턴한다.  
    사용: x, y, 및 z는 가속도 센서에서 x, y 및 z 축 값을 나타내며 –1.5에서 1.5 사이의 값을 가진다. are the acceleration readings in units of G's, and range from -1.5 to 1.5. 핀치가 수평일 때 z 값은 1에 가깝고 x와 y는 0에 가깝다. 핀치가 꼬리 쪽으로 서있게 되면 y와 z 값은 0에 가깝고 x는 –1에 가깝다. 핀치의 날개를 아래쪽으로 기울이게 되면 x, z 값은 0에 가깝고 y는 1에 가깝다.  tap, shake 는 불린(boolean) 값으로 대응하는 이벤트가 발생하면 참의 값을 가진다.
     

     

     

     

     

  • Q. 핀치로봇 핀치로봇은 무선이 지원되나요?
    A.

    무선어댑터를 핀치로봇에 상단에 키우면 바로 무선(블루투스)으로 사용할 수 있습니다. 그러나 핀치로봇 무선어댑터는 홈페이지에서 별도로 판매되지 않고 유치원교육을 위한 패키지에만 장착하여 판매하고 있습니다. 미국에서 대학생들이 직접 이러한 무선 어댑터를 설계하고 개발하여 활용하는 것을 유투브 등에서 확인 할 수 있습니다. 이와 같이 대학교 수업에서 무선어댑터나 IoT 센서 등을 학기 과제로 연구하고 개발하는 프로젝트를 기획하여 학생들의 교육에 활용할 수도 있습니다. 

맨위로