红外控制问题-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 886|回复: 0

[未解决] 红外控制问题

[复制链接]
发表于 2022-2-2 15:17 | 显示全部楼层 |阅读模式
#include <IRremote.h>     // IRremote库声明
#include <Servo.h>
#include <SoftwareSerial.h>
int RECV_PIN = 9;        //定义红外接收器的引脚为11
SoftwareSerial BT(10, 11);
char val = '0';
//short flag = 0;
IRrecv irrecv(RECV_PIN);
decode_results results;
Servo myservo;  // create servo object to control a servo
void setup()
{
  //  pinMode(4,OUTPUT);
  myservo.attach(5);  // (pin, min, max)
  Serial.begin(9600);
  irrecv.enableIRIn(); // 启动接收器
  Serial.println("BT is ready!");
  BT.begin(9600);                                                     
}
void my(int flag){
  if (flag == 1) {
    //    digitalWrite(4,HIGH);
    myservo.write(150);
        delay(100);

  }
  else if (flag == 2) {
    //    digitalWrite(4,LOW);
    myservo.write(80);
        delay(100);
  }
}
void loop() {
  if (BT.available()) {
    val = BT.read();
    Serial.print(val);
    if (val == '1') {
        my(1);
    }
    else if (val == '2') {
      my(2);
    }
  }
  else if (irrecv.decode(&results))
  {
    Serial.println(results.value);
switch (results.value){
  case 3810010651:
  my(1);
  break;
  case 4001918335:
  my(2);
  break;
}
delay(100);
    irrecv.resume();
    delay(100);
    }
}
FPOVZ)FMGM)O07$J%{YRBY0.png
我想问一下为啥我用红外线信号控制舵机,开关一两次后,串口这里就会输出很多的信号,
但是我也没有输入信号,也不知到哪儿来的,然后我遥控输入红外信号也不会有显示,导致不能控制了。
希望有一个解决办法,谢谢大佬。

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

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 15:53 , Processed in 0.076825 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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