有视频麽 |
这个太便宜了,居然要1000多。。。。 |
搜狗截图14年12月18日1701_1.jpg (67.84 KB, 下载次数: 31)
不错 |
路过学习。 |
制作图比较给力 |
专业 |
平台的搭建共需要如下三步: (1)L298N驱动板与机械手的连接,如图4-1所示 (2)L298N 驱动板VCC、GND分别连接Arduino mege 2560 VCC、GND,接口接线请参照代码注释。 (3)L298N 驱动板与DC直流电源连接。 4.1.2 控制代码及注解 #define motorpin 8 #define motorpwm 11 /********************************************** // IN1->pin8 IN2->pwm11 接口接线 ***********************************************/ void setup() {} void loop() { motor(motorpin,motorpwm,1,200); //机械手以200的速度张开 delay(3000); //延时3秒 motor(motorpin,motorpwm,2,200); //机械手以200的速度闭合 delay(3000); //延时3秒 } void motor(char pin,char pwmpin,char state,int _Rval ) //参数pin是输入的高低电平的IO口,pwmpin表示输入的PWM波形的IO口,state指电机状态(正转或反转),val是调速值大小0-255 { pinMode(pin, OUTPUT); if(state==1) //当state为1时正转 { analogWrite(pwmpin, _Rval); digitalWrite(pin,1); } else if(state==2) //当state为2时反转 { analogWrite(pwmpin,_Rval); digitalWrite(pin,0); } else if(state==0) //当state为0时停止 { analogWrite(pwmpin,0); digitalWrite(pin,0); } } 4.2 51单片机控制平台 4.2.1 STC89C52单片机平台的搭建 在本说明中选用L298N电机驱动板,12VDC直流电源,STC89C52单片机。 平台的搭建共需要如下三步: (1)L298N驱动板与机械手的连接,如图4-1所示 (2)L298N 驱动板VCC、GND分别连接STC89C52单片机 VCC、GND,接口接线请参照代码注释。 (3)L298N 驱动板与DC直流电源连接。 4.2.2 控制代码及注解 /************头文件*********/ #include<reg51.h> #define uchar unsigned char #define uint unsigned int /*****************延时函数*************************/ void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /********************************************** // IN1->P0^1 IN2->P0^2 ***********************************************/ void main() { while(1) { P0=0xaa; //机械手张开 delay(4500); //延时 P0=0x55; //机械手合拢 delay(4000); //延时 } } 4.3 STM32单片机控制平台 4.3.1 STM32F103RBT6单片机平台的搭建 在本说明中选用L298N电机驱动板,12VDC直流电源,STM32F103RBT6单片机。 平台的搭建共需要如下三步: (1)L298N驱动板与机械手的连接,如图4-1所示 (2)L298N 驱动板VCC、GND分别连接STM32F103RBT6单片机VCC、GND,接口接线请参照代码注释。 (3)L298N 驱动板与DC直流电源连接。 4.3.2 控制代码及注解 /************头文件*********/ #include "delay.h" #include "sys.h" #include "usart.h" #include "timer.h" /********************************************** // IN1->PB1 IN2->PB2 // PWM-->PB0 接口接线 ***********************************************/ int main(void) { u16 robotpwmval=500; //PWM值设置 delay_init(); //延时函数初始化 NVIC_Configuration();//设置NVIC中断分组2:2位抢占优先级,响应优先级 uart_init(9600); //串口初始化为9600 Motor_IO(); //电机in1,in2 IO口初始化 TIM3_PWM_Init(899,0); //不分频。PWM频率=72000/900=8Khz delay_ms(10); TIM_SetCompare2(TIM3,robotpwmval); Motor_D(); //机械手合拢 // Motor_F(); //机械手张开 second(10); Motor_S(); //机械手停止 } |