Download presentation
Presentation is loading. Please wait.
Published by미원 전 Modified 8년 전
1
Hamster Manual 정보통신과 이우형
2
목차 세팅 햄스터 하드웨어 - Model - I/O -Sensor 센서별 예제
3
세팅 1. 파이썬 2.7.11 다운로드 2. 햄스터 2.7.x 라이브러리 파일 다운로드 3. 라이브러리 파일을 (python 을 C 에 다운로드했을 경우 ) C:\Python27\Lib 으로 이동 4. 파이썬 코딩 시 라이브러리 파일을 임포트하여 코딩
4
Model 전체무게 : 30g 높이 : 30mm 가로 : 35mm 세로 : 40mm 통신방식 : 블루투스 4.0BLE (15m 이내 ) 배터리 : 30 분 충전, 연속동작 평균 1 시간, 대기 최대 12 시간 PC 연결 : USB 동글 통해 시리얼 통신 스마트폰 연결 : 블루투스 4.0 BLE 연결
5
Model LED : 7 가지 색 버저 1Hz~167.77215kHz 모노톤, 0.01Hz 단위 88 키, A3~A7, 12 평균율 정밀도 +/- 0.1cent DC 기어도 모터 PWM 100 단계 구동 최대 이동 속도 10cm/sec 위성 기어 충전 표시등 블루투스 연결 표시 및 배터리 경고등
6
I/O 포트 A/B VCC, GND 5 가지 모드 디지털 입력 ADC 입력 (8 비트, 0~3.6V 기준 ) 디지털 출력 아날로그 PWM 출력 (255 단계 ) 아날로그 서보 제어 (0~180 도 )
7
Sensor 전방 거리 센서 : 장애물 감지 조도 센서 : 0~65,535 룩스 초당 10 회 측정 3 축 가속도 센서 2g, 4g, 8g, 16g 범위 설정 7.81~1000Hz 반응 속도 설정 내부 온도 센서 : 섭씨 -40~87.5 도, 0.5 도 정밀도 배터리 전압 센서 : 0.01V 정밀도 바닥 센서 : 반사형 포트 인터럽터 초당 100 회 측정, 초당 50 회 전송
8
온도 센서 from roboid.controller.hamster import * while True: a = temperature() print a 예제 소스
9
바닥 센서 from roboid.hamster import * hamster = Hamster() while True: a = hamster.read(Hamster.LEFT_FLOOR) print a Tip! 밝을수록 0 어두울수록 100 예제 소스
10
바닥 센서 - 라인트레이서 라인트레이서란 바닥의 라인을 타고 움직이는 로봇이다. 일반적으로 라인은 검은색, 바닥의 바탕색은 흰색이다. 바탕은 흰색, 라인은 검은색. 나는 왼쪽 센서만을 이용하여 라인을 인식하기로 하였다. 그리고 내 프로그램은 로봇이 왼쪽, 오른쪽 모터를 번갈아 움직이며 이동하게 하였다. 센서가 검은색을 인식할 때 센서가 흰색을 인식할 때
11
바닥 센서 - 라인트레이서 from roboid.hamster import * hamster = Hamster() while True: a = hamster.read(Hamster.LEFT_FLOOR) if a < 50: hamster.write(Hamster.LEFT_WHEEL, 30) hamster.write(Hamster.RIGHT_WHEEL, 0) else: hamster.write(Hamster.RIGHT_WHEEL, 30) hamster.write(Hamster.LEFT_WHEEL, 0) 시연 영상
12
전방 거리 센서 from roboid.hamster import* hamster = Hamster() while True: a = hamster.read(Hamster.LEFT_PROXIMITY) print a Tip! 가까워질수록 높은 숫자 예제 소스
13
전방 거리 센서 - 장애물 피하기 장애물이 앞에 있을 땐 어떻게 해야할까 ? 방법은 여러가지다. 아래의 경우말고도 더 많은 방법이 있다. 하지만 나는 파란원이 있는 루트의 방법을 선택했다. 장애물
14
전방 거리 센서 - 장애물 피하기 from roboid.hamster import * hamster = Hamster() def turn(a): if a == 1: hamster.write(Hamster.LEFT_WHEEL, -30) hamster.write(Hamster.RIGHT_WHEEL, 30) wait(910) hamster.write(Hamster.LEFT_WHEEL, 0) hamster.write(Hamster.RIGHT_WHEEL, 0) else: hamster.write(Hamster.LEFT_WHEEL, 30) hamster.write(Hamster.RIGHT_WHEEL, -30) wait(910) hamster.write(Hamster.LEFT_WHEEL, 0) hamster.write(Hamster.RIGHT_WHEEL, 0) 소스가 조금 길어져서 함수를 만들어 사용하였다. def go(): hamster.write(Hamster.LEFT_WHEEL, 30) hamster.write(Hamster.RIGHT_WHEEL, 30) while True: a = hamster.read(Hamster.LEFT_PROXIMITY) if a > 60: turn(1) go() wait(1500) turn(0) else: go() 시연 영상
Similar presentations