找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Arduino智能小车控制 步进电机 花式运动 红外遥控程序

查看数: 14345 | 评论数: 4 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-6-4 10:22

正文摘要:

里面包含以下3个程序 步进电机 花式运动 红外遥控 步进电机的驱动需要LN298步进电机驱动器 智能小车的花式运动 红外遥控智能小车做相对应的运动 下面是红外遥控的代码: #include <IRremote.h ...

回复

ID:1114694 发表于 2024-3-29 16:35
哎,没搞懂

ID:236125 发表于 2018-1-20 12:17
#include <IRremote.h>
IRrecv irrecv(11);//定义的引脚
decode_results result;
#define dir1pinA 4
#define dir2pinA 5
#define speedpinA  3
#define led 8
#define dir1pinB 6
#define dir2pinB 7
#define speedpinB  9
long  forward_car=0x00FF18E7;//2
long  stop_car=0x00FF38C7;//5
long  houtui_car=0x00FF4A85;//8
long  left_car=0x00FF10EF;//4
long  right_car=0x00FF5AA5;//6
int speed;

void setup() {
   Serial.begin(9600);
   Serial.println("ABCD");
   irrecv.enableIRIn();
   delay(100);
   pinMode(dir1pinA,OUTPUT);
   pinMode(dir2pinA,OUTPUT);
   pinMode(speedpinA,OUTPUT);
   pinMode(dir1pinB,OUTPUT);
   pinMode(dir2pinB,OUTPUT);
   pinMode(speedpinB,OUTPUT);
   pinMode(led,OUTPUT);
   speed=0;
   delay(5);
}
void loop() {
  speed=150;
  if (irrecv.decode(&result))
  {
      Serial.println(result.value,HEX);
    if (result.value ==forward_car )
     {
           forward();
      }
    if (result.value ==stop_car)
    {
          allstop();   
    }
    if (result.value == houtui_car)
    {
         daotui();
    }

    if (result.value == left_car )
    {
      turnleft();
     }
    if (result.value==right_car )
    {
      turnright();
    }  
    delay(10);         
    irrecv.resume();
  }
}
void allstop()
{         digitalWrite(led,HIGH);
          delay(500);
          digitalWrite(led,LOW);
           digitalWrite(dir1pinA,HIGH);
           digitalWrite(dir2pinA,LOW);
           digitalWrite(dir1pinB,HIGH);
           digitalWrite(dir2pinB,LOW);
           analogWrite(speedpinA,0);
          analogWrite(speedpinB,0);
          delay(100);
}
//自定义函数
void forward()
{         
           digitalWrite(led,HIGH);
           delay(500);
           digitalWrite(led,LOW);
           digitalWrite(dir1pinA,HIGH);
           digitalWrite(dir2pinA,LOW);
           digitalWrite(dir1pinB,HIGH);
           digitalWrite(dir2pinB,LOW);
           
          analogWrite(speedpinA,speed);
          analogWrite(speedpinB,speed);
          delay(100);
}
void turnleft()
{
       digitalWrite(led,HIGH);
        delay(500);
        digitalWrite(led,LOW);
        digitalWrite(dir1pinA,HIGH);
        digitalWrite(dir2pinA,LOW);
        digitalWrite(dir1pinB,HIGH);
        digitalWrite(dir1pinB,LOW);
         
       analogWrite(speedpinA,0);
       analogWrite(speedpinB,speed);
       delay(100);
}
void turnright()
{      
         digitalWrite(led,HIGH);
        delay(500);
        digitalWrite(led,LOW);
        digitalWrite(dir1pinA,HIGH);
        digitalWrite(dir2pinA,LOW);
        digitalWrite(dir1pinB,HIGH);
        digitalWrite(dir1pinB,LOW);
         
        analogWrite(speedpinA,speed);
        analogWrite(speedpinB,0);
        delay(100);
      
}

void daotui()
{

        digitalWrite(led,HIGH);
        delay(500);
        digitalWrite(led,LOW);
        digitalWrite(dir1pinA,LOW);
        digitalWrite(dir2pinA,HIGH);
        digitalWrite(dir1pinB,LOW);
        digitalWrite(dir1pinB,HIGH);
         
        analogWrite(speedpinA,speed);
        analogWrite(speedpinB,speed);
        delay(100);
}
为什么我的小车只有一侧动,另一侧没反应,
ID:87193 发表于 2017-12-19 10:18
有没有原理图呢
ID:146110 发表于 2017-5-21 06:03
下载分不够,楼主能发给我一份资料吗?谢谢53896567@qq.com

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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