关于红外遥控器解码的一点疑问

本文作者通过arduino实现红外遥控器控制舵机,过程中遇到编码转换和长按操作处理的问题。已完成数字键控制舵机转动,但希望解决字符串转int型以及屏蔽长按归零的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最开始由3D打印机接触到arduino,燃起了一点兴趣,最近有些空闲时间开始研究arduino程序,发现各种库果然十分方便,适合我这种怕麻烦星人。。。
计划是做红外遥控器控制舵机的小程序,经过一下午的查资料,敲代码,改代码,改代码,改代码。。。终于可以实现功能。按下遥控器数字键舵机转动到相对应的角度。

#include <IRremote.h>
#include <Servo.h>

#define MAX 22
Servo myservo;//定义舵机变量名
int val; 
int angle; 
int RECV_PIN = 7;      //定义红外接收模块输出口接arduino数字引脚11

IRrecv irrecv(RECV_PIN);
decode_results results;
//Car mp3编码
unsigned long rremote_code[MAX] = {
    0xFFA25D,0xFF629D,0xFFE21D,//CH- CH CH+
    0xFF22DD,0xFF02FD,0xFFC23D,//PREV NEXT PLAY
    0xFFE01F,0xFFA857,0xFF906F,//VOL- VOL+ EQ
    0xFF6897,0xFF9867,0xFFB04F,// 0 100+ 200+
    0xFF30CF,0xFF18E7,0xFF7A85,// 1  2  3
    0xFF10EF,0xFF38C7,0xFF5AA5,// 4  5  6
    0xFF42BD,0xFF4AB5,0xFF52AD, // 7  8  9
    0xFFFFFFFF//长按
};

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); //初始化红外遥控
  myservo.attach(9);//定义舵机接口(9、10 都可以,缺点只能控制2 个࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值