计算机初学小白 2022-08-27 14:03 采纳率: 0%
浏览 58

arduino如何编写用红外遥控器控制小风扇的速度

打算用arduino编写用红外遥控器控制小风扇的速度,代码如下:

#include<IRremote.h>
#include<Servo.h>
boolean a = false;
int b = 255;
Servo servo;
IRrecv irRecv(12);
decode_results results;
void setup(){
  servo.attach(9);
  servo.write(90);
  irRecv.enableIRIn();
  Serial.begin(9600);
}

void loop(){
  if(irRecv.decode(&results))
  {
    Serial.println(results.value,HEX);
    switch(results.value){
      case 0xFFC23D:{
        if (a == false){
          a = true;
        }
        else{
          a = false;
        }
      }
      break;
      case 0xFF22DD:{
        b = b - 5;
        if (b <= 50){
          b = 50;
        }
      }
      break;
      case 0xFF02FD:{
        b = b + 5;
        if(b >= 255){
          b = 255;
        }
      }
      break;
      case 0xFFE01F:{
        servo.write(180);
      }
      break;
      case 0xFFA857:{
        servo.write(0);
      }
   }
    if(a == false){
      analogWrite(11,255);
      analogWrite(3,b);
    }
    else{
      analogWrite(11,0);
      analogWrite(3,0);
    }
    irRecv.resume();
  }
}


并未出现语法错误,却不能达到调速效果:按减速键却自动停止运行;无法加速
这是怎么回事?各位能帮忙解决吗?请在评论区发出正确代码或改错方法,谢谢

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-08-27 16:00
    关注
    建议你看下这篇博客Arduino------红外控制舵机风扇
    评论

报告相同问题?

问题事件

  • 创建了问题 8月27日

悬赏问题

  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 有关类的报错,在模块里调用另一个模块的方法下的变量时出错
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格
  • ¥15 kali linux用wget archive.kali.org/archive-key.asc指令下载签名无效(失败)
  • ¥15 openHarmony 利用c++程序在dayu210开发板上实现拉取RTSP视频流并且在屏幕上显示
  • ¥15 GD32H757的can通信配置
  • ¥20 nist随机数测试的问题
  • ¥20 帮我解决这个项目,thank you各位程序员