PART 1 앱 인벤터 프로젝트 12 원격 로봇
장난감 로봇 Lego MindStorms NXT 로봇 <원격 로봇> 앱 레고 사에서 개발한 프로그래밍이 가능한 장 난감 로봇 바퀴로 움직이고, 여러 가지 센서 장착 세 개의 모터와 네 개의 입력 센서 초중고 방과 후 교실에서도 활용 문제해결 능력, 공학과 컴퓨터 프로그래밍 연습 <원격 로봇> 앱 스마트폰이 로봇 리모콘으로 변신 로봇의 블루투스 기능 활용
무엇을 배우는가? <원격 로봇> 앱을 만들면서 배우는 것들 NXT와 연결을 담당하는 BluetoothClient 컴포넌트 연결할 NXT를 고르는데 사용하는 ListPicker 컴포넌트 로봇의 바퀴를 구동하는 NxtDrive 컴포넌트 장애물을 검출해 주는 초음파 센서를 제어하는 NxtUltrasonicSensor 컴포넌트
NXT와 핸드폰 연결 안드로이드 폰과 NXTfmf 블루투스로 연결하는 절차 NXT에서 블루투스를 찾고 주황색 버튼 누름 Visibility를 찾고 주황색 버튼 누름 Visibility를 Visible로 설정 안드로이드 폰에서 [설정] 앱을 실행 블루투스를 켬 [Bluetooth]와 [Search for devices]를 클릭 Available devices 목록에서 NXT 검색 NXT를 클릭 PIN 입력 NXT에서 주황색 버튼을 눌러 승인 성공적으로 한 쌍이 됨
보이지 않는 컴포넌트 추가하기
보이는 컴포넌트 추가하기
컴포넌트 동작 프로그래밍 <원격 로봇> 앱에서 프로그래밍해야 할 기능들 연결 가능한 로봇을 리스트에 표시하고, 사용자가 선택한 로봇을 앱과 연결하기 로봇과 연결 끊기 제어 버튼으로 로봇 구동하기 장애물을 만나면 로봇을 멈추기
NXT 연결 및 로봇 목록 표시하기 연결 가능한 로봇 목록 표시 기능 프로그래밍 사용자가 [연결하기…] 버튼을 누르면 블루투스로 연결된 로봇 목록 표시
블루투스로 앱과 로봇을 연결하기 연결 기능 프로그래밍 사용자가 로봇을 선택하면 앱과 로봇을 블루투스로 연결해줌
NXT와 연결 끊기 연결 끊기 기능 프로그래밍 Bluetooth1.Disconnect를 호출하여 연결을 끊음 사용자 인터페이스를 상황에 맞게 변경해야 함 컴포넌트의 Visible 속성으로 조정
NXT와 연결 끊기
NXT 구동하기 로봇을 앞뒤로 움직이고, 좌우로 방향을 트는 기능을 프로그래밍
NXT 구동하기
초음파 센서로 장애물 검출하기 NxtUltrasonicSensor 컴포넌트 장애물을 검출해주는 컴포넌트 검출 범위를 cm 단위로 지정할 수 있는 BottomOfRange와 TopOfRange라는 속성 9 기본값은 각각 30과 90) 세 종류의 이벤트 블록 BelowRange: 장애물이 BottomOfRange 이내에 있을 때 발생 WithinRange: 장애물이 BottomOfRange와 TopOfRange 사이에 있을 때 발생 AboveRange: 장애물이 TopOfRange보다 멀리 있을 때 발생
초음파 센서로 장애물 검출하기
확장해 보기