遥控风扇 自动转头 _红外遥控 舵机 类多线程 SCoop库

//**************************
//******风扇自动转头*可遥控***
//**************************
#include 
#include 
#include 

Servo myServo;
IRrecv irrecv(6); //绑定红外接收引脚
decode_results results; //编码值
bool _OFF = false; //是否关闭舵机自动旋转
int pos; //舵机角度值

defineTask(TaskTest1);  //创建子线程1
defineTask(TaskTest2);  //创建子线程2


//---舵机旋转---
void TaskTest1::setup() //子线程1设定
{
  myServo.attach(9);
}
void TaskTest1::loop() //子线程1循环
{
  while(_OFF == false)
  {
    sleep(5);
    pos++;
    myServo.write(pos);
    if(_OFF == true)
      break;
  }
}


//---红外指令---
void TaskTest2::setup() //子线程2设定
{
  Serial.begin(9600);
  irrecv.enableIRIn(); //开始接收信号
}
void TaskTest2::loop() //子线程2循环
{
  Serial.println("红外接收值:" + String(results.value, HEX));
  if (irrecv.decode(&results))
  {
    if(String(results.value, HEX) == "ffa857")
    {
      _OFF = false;
    }
    if(String(results.value, HEX) == "ffa857")
    {
      _OFF = true;
    }
    irrecv.resume(); //接收下一个信号
  }
}


void setup()
{
  mySCoop.start();
}

void loop()
{
  yield();
}

需要准备的硬件有:

    舵机 \ 升压三极管 \ 直流电机 \ 红外接收模块 \ 

备注:

    根据上诉代码, 请读者按照注释自行连接硬件, 所用到的库文件, 均可在GitHub 上下载,

如遇到问题,可与作者留言或私信!

 

你可能感兴趣的:(Arduino模块,红外遥控,遥控风扇,红外遥控舵机,类多线程)