极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9857|回复: 2

求教小车速度控制问题

[复制链接]
发表于 2014-1-23 20:49:44 | 显示全部楼层 |阅读模式
请大家帮帮忙  用ps2手柄摇杆控制arduino小车速度怎么写

#include <PS2X_lib.h>
PS2X ps2x; // 定义ps2x为PS2X类变量
//int PS_LY;//存储PS2手柄左摇杆Y轴数据
//int PS_RX;//存储PS2手柄右摇杆X轴数据
int flag;//存储PS2手柄按键标识

int EN2 = 2; //定义电机1的I1接口  
int EN3 = 3; //定义电机1的I2接口
int EN4 = 4; //定义电机2的I3接口
int EN5 = 5; //定义电机2的I3接口

/****定义小车前后左右动作****/
void qian(void) //qian前进
        {        
          digitalWrite(EN2,LOW);//低电位
          digitalWrite(EN3,HIGH);//高电位
          digitalWrite(EN4,LOW);
          digitalWrite(EN5,HIGH);     
        }
void hou(void)//hou后退
        {        
          digitalWrite(EN2,HIGH);
          digitalWrite(EN3,LOW);
          digitalWrite(EN4,HIGH);
          digitalWrite(EN5,LOW);            
        }
        
void ting(void)//ting停止
        {
          digitalWrite(EN2,LOW);   
          digitalWrite(EN3,LOW);
          digitalWrite(EN4,LOW);   
          digitalWrite(EN5,LOW);      
        }        
void setup()
{
   ps2x.config_gamepad(13,11,10,12, true, true);  
   pinMode(EN2, OUTPUT);
   pinMode(EN3, OUTPUT);
   pinMode(EN4, OUTPUT);
   pinMode(EN5, OUTPUT);  
    Serial.begin(9600);  
}
void loop()
{
      ps2x.read_gamepad();//读PS2数据  
      ps2x.read_gamepad(false, 255);
      int ps2_LY = 127;//手柄左摇杆Y值,中间默认为127
      int ps2_RX = 128;//手柄右摇杆X值,中间默认为128
      ps2_LY = ps2x.Analog(PSS_LY);
      ps2_RX = ps2x.Analog(PSS_RX);


if ( ps2_LY != 127 )
      //if(ps2x.Button(PSB_PAD_UP))
     {
   if ( ps2_LY < 127 )//摇杆前移

   {
       qian();
       delay(20);
       ting();
     }
   else if ( ps2_LY > 127 )//摇杆后移

     {

      hou();
      delay(20);
      ting();

     }

         }
else  if(ps2x.Button(PSB_PAD_DOWN))      
         {
           hou();
         delay(20);
         ting();
         }
   
else  if(ps2x.Button(false))   // 若没有按键按下   
         {
         ting();
         }
}

这样手柄摇杆不能控制速度
回复

使用道具 举报

 楼主| 发表于 2014-1-23 21:01:43 | 显示全部楼层
请大家帮帮忙
回复 支持 反对

使用道具 举报

发表于 2014-1-31 12:04:20 | 显示全部楼层
你应该用L293模块来驱动电机,这样就能通调节PWM来控制电机的速度,然后在前进和后退里加一个循环不断改变PWM的占空比,调整电机的转速,这样就可以让小车逐步加速。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-14 21:42 , Processed in 0.036062 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表