Trọng lượng 9g
Kích thước: 22.2 x 11.8 x 31 mm.
Mô men xoắn: 1,8 kgf · cm
Tốc độ vận hành: 0.1s/60 độ
Điện áp hoạt động: 4.8 V (~ 5V)
Nhiệt độ: 0 ºC - 55 ºC
Cách đấu nối : Dây màu cam là chân cấp xung tín hiệu , dây màu dỏ nối với VCC , chân màu nâu nối với GND
Lưu ý : chu kỳ băm xung là 20ms (50Hz) và chu kỳ xung cao là 1-2ms
Code :
const int servoPin = 13; //chon chan bam xung
int vitridau = 0; //vi tri goc ban dau hay goc toa do
int dorongmax = 20000; //do rong xung lon nhat hay trong 1 chu ky xung
/*ham tra ve do rong cua xung theo tung goc quay*/
int xungservo(int gocquay)
{
int dorong1 = map(gocquay, 0,180,600,2760);
return dorong1;
}
///////////////////////////////////////////////////////
//****************************************************//
//****ham kiem tra vi tri quay ***********************//
//****goc quay bna dau se nam trong 0-180*************//
//****sau do se chia ti le tuong ung cho 600-2760*****//
//****600-2700 cung chinh la do rong xung cao*********//
//****ham delay thuc chat la keo dai do rong xung*****//
//****************************************************//
////////////////////////////////////////////////////////
void quayservo(int vitridau, int vitricuoi)
{
int dorong2; // tao bien dorong1
if(vitridau == vitricuoi) // neu vi tri khong doi thi giu nguyen do rong =0
{
return;
}
else if(vitridau < vitricuoi) // neu vi tri dau be hon vi tri cuoi thi dich chuyen tu dau sang cuoi
{
for (int i=vitridau; i<=vitricuoi; i++)
{
/* chuyen goc quay thanh dorong2 bang cach thay the i=gocquay*/
dorong2 = xungservo(i);
Serial.println(dorong2);
/*Kich hoat xung muc cao */
digitalWrite(servoPin, HIGH);
/* su dung ham delaymicrosecond cho dong rong xung cao */
delayMicroseconds(dorong2);
/* kich hoat xung muc thap */
digitalWrite(servoPin, LOW);
/*su dung ham delaymicrosecond cho dong rong xung thap con lai (20000 - dorong2) */
delayMicroseconds(dorongmax - dorong2);
}
}
else if(vitridau > vitricuoi)
{
/* anti-clockwise processing */
for (int i=vitridau; i>=vitricuoi; i--) // neu vi tri dau lon hon vi tri cuoi thi dich chuyen tu cuoi sang dau
{
dorong2 = xungservo(i);
Serial.println(dorong2);
digitalWrite(servoPin, HIGH);
delayMicroseconds(dorong2);
digitalWrite(servoPin, LOW);
delayMicroseconds(dorongmax - dorong2);
}
}
}
void setup(void)
{
Serial.begin(115200);
pinMode(servoPin, OUTPUT);
}
void loop(void)
{
quayservo(0,90); // quay mot goc 90 do
delay(3000);
quayservo(90,180); // quay tiep den 180 do
delay(3000);
quayservo(180,90); // quay lai 90 do
delay(3000);
quayservo(90,0); // quay ve 0 do
delay(3000);
}
0 nhận xét:
Đăng nhận xét