//**************************
//******风扇自动转头*可遥控***
//**************************
#include <Servo.h>
#include <IRremote.h>
#include <SCoop.h>
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(St
Arduino 遥控风扇 自动旋转 红外遥控 舵机 类多线程 SCoop库
最新推荐文章于 2022-11-16 12:29:43 发布
本文介绍如何使用Arduino制作一款结合红外遥控功能的自动旋转风扇。硬件包括舵机、升压三极管、直流电机和红外接收模块,通过SCoop库实现类多线程控制。
摘要由CSDN通过智能技术生成