arduino
[ Arduino之Ardublock實作筆記 ] 機械手臂台實作
<攝影 : greatway9999>
一、成果展示
(一)、需求描述
利用香菇頭控制器,可操作機器手臂台左旋、右旋、抬起、放下、夾爪開、夾爪合。
#include <Servo.h>
int _ABVAR_1_PROW = 0 ;
int _ABVAR_2_vx = 0 ;
int _ABVAR_3_vy = 0 ;
Servo servo_pin_8;
Servo servo_pin_4;
Servo servo_pin_7;
void Left();
void Stop();
void Front();
void craw_close();
void Right();
void Back();
void craw_open();
void setup()
{
servo_pin_8.attach(8);
servo_pin_4.attach(4);
servo_pin_7.attach(7);
_ABVAR_1_PROW = 90 ;
}
void loop()
{
_ABVAR_2_vx = analogRead(1) ;
_ABVAR_3_vy = analogRead(0) ;
if (( ( ( _ABVAR_2_vx ) > ( 900 ) ) && ( ( ( _ABVAR_3_vy ) > ( 400 ) ) && ( ( _ABVAR_3_vy ) < ( 600 ) ) ) ))
{
Front();
}
if (( ( ( _ABVAR_2_vx ) < ( 200 ) ) && ( ( ( _ABVAR_3_vy ) > ( 400 ) ) && ( ( _ABVAR_3_vy ) < ( 600 ) ) ) ))
{
Back();
}
if (( ( ( _ABVAR_3_vy ) < ( 200 ) ) && ( ( ( _ABVAR_2_vx ) > ( 400 ) ) && ( ( _ABVAR_2_vx ) < ( 600 ) ) ) ))
{
Left();
}
if (( ( ( _ABVAR_3_vy ) > ( 900 ) ) && ( ( ( _ABVAR_2_vx ) > ( 400 ) ) && ( ( _ABVAR_2_vx ) < ( 600 ) ) ) ))
{
Right();
}
if (( ( ( _ABVAR_2_vx ) > ( 900 ) ) && ( ( _ABVAR_3_vy ) < ( 200 ) ) ))
{
craw_open();
}
if (( ( ( _ABVAR_2_vx ) > ( 900 ) ) && ( ( _ABVAR_3_vy ) > ( 900 ) ) ))
{
craw_close();
}
if (( ( ( ( _ABVAR_2_vx ) > ( 400 ) ) && ( ( _ABVAR_2_vx ) < ( 600 ) ) ) && ( ( ( _ABVAR_3_vy ) > ( 400 ) ) && ( ( _ABVAR_3_vy ) < ( 600 ) ) ) ))
{
Stop();
}
}
void craw_close()
{
if (!( ( ( _ABVAR_1_PROW ) > ( 120 ) ) ))
{
_ABVAR_1_PROW = ( _ABVAR_1_PROW + 2 ) ;
}
else
{
_ABVAR_1_PROW = 122 ;
}
servo_pin_8.write( _ABVAR_1_PROW );
delay( 50 );
}
void craw_open()
{
if (!( ( ( _ABVAR_1_PROW ) < ( 30 ) ) ))
{
_ABVAR_1_PROW = ( _ABVAR_1_PROW - 2 ) ;
}
else
{
_ABVAR_1_PROW = 28 ;
}
servo_pin_8.write( _ABVAR_1_PROW );
delay( 50 );
}
void Front()
{
servo_pin_4.write( 120 );
}
void Stop()
{
servo_pin_4.write( 90 );
servo_pin_7.write( 90 );
servo_pin_8.write( 90 );
}
void Left()
{
servo_pin_7.write( 60 );
}
void Right()
{
servo_pin_7.write( 120 );
}
void Back()
{
servo_pin_4.write( 60 );
}
#機器手臂 #伺服馬達
0 留言