아두이노UNO를 사용하여 새로운 타입의 아두이노 SoftPot(위치감지)센서와 서보모터 연동 사용예입니다.
아두이노 스타터킷 및 아두이노 인벤터킷에 포함된 새로운타입의 센서입니다.
SoftPot센서는 세개의 단자가 있으며 기본 작동법은 가변저항과 같습니다. 전압핀과 GND을 연결하면 나머지 단자를 통해 접촉위치에 해당되는 전압을 측정할 수 있습니다. 아래의 회로도 참조
[그림1. SoftPot센서 단자안내 - 대응 회로도(사용법은 가변저항과 같습니다.)
아두이노 스케치 소스는 아래와 같습니다.
스케치에서 기본제공하는 서보제어 예제코드를 거의 그대로 사용했습니다. 참 쉽죠잉~!
알림:
스케치제공 서보모터 작동 기본예제 코드는 작동범위를 0~180으로 설정했지만, 실제로 서보모터의 종류에따라 이값의 범위를 지원하지 못하는경우가 있습니다. 이경우 서보모터에 무리가 가게 되므로 제경우 10~170으로 값의 범위를 줄여줬습니다. 항상 사용하려는 기기의 한계범위를 고려해서 프로그래밍을 해줘야 기기를 오래오래 고장없이 사용할 수 있습니다.
#include <Servo.h>
Servo myservo; // 서보모터제어를 위한 객체를 생성합니다
int potpin = 0; // 센서입력을 받은 아날로그핀을 A0로 설정합니다.
int val; // 센서입력(아날로그)값을 임시저장할 변수입니다
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop()
{
val = analogRead(potpin); // A0에 연결된 SoftPot센서의 값을 읽어옵니다.
val = map(val, 0, 1023, 10, 170); // 아날로그입력값 0~1023을 서보모터에 맞게 10~170으로 변환합니다.
myservo.write(val); // 서보모터신호를 센서 입력값에 따라 변경합니다
delay(15); // 약간의 지연시간을 줍니다.
}
//code 뷰어가 오류가 계속되어 그냥 텍스트로 올렸습니다 ;;
'손바닥컴퓨터들' 카테고리의 다른 글
FTDI USB시리얼변환기 선택 가이드 (0) | 2011.03.15 |
---|---|
아두이노 피오(Arduino FIO) 1부 기능소개 (1) | 2011.03.15 |
아두이노 LED작동시 저항없이 연결하지 마세요! (3) | 2011.03.11 |
아두이노 Pro mini + FTDI변환기로 프로그래밍하기 (0) | 2011.02.28 |
아두이노(Arduino) 선택가이드 (0) | 2011.02.25 |