相关帖子
- • stm32f103c8+DS18b20+OLED散热系统源程序,温度阈值
- • 寻找一种开关,可以判断人体存在时间
- • 基于51单片机的智能加湿器(DHT11源程序)
- • VK1629A,B,C,D版本/1640/1650/1668/6932/16K33 LED面板显示驱动芯片pdf资料手册下载
- • 单片机的交通灯设计 自己动手DIY 电路原理图+程序仿真
- • 简单寻迹程序
- • 基于51单片机的智能晾衣架设计资料(论文+源码+仿真)
- • esp下载软件FLASH_DOWNLOAD_TOOLS_V3.6.2.2
- • [资料分享] 人人都可以DIY的Arduino UNO智能灯(四)
- • 安防行业深度智能正当时,磁件行业如何抓住新机遇
#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);
}
为什么我的小车只有一侧动,另一侧没反应,
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);
}
为什么我的小车只有一侧动,另一侧没反应,