目录
简介
通过这个简单的Arduino项目,您可以使用遥控器喂养您的宠物。您只需要一个Arduino Uno板(或类似的),一个塑料瓶,一个伺服电机(不一定非常强大),一个红外遥控器,红外接收器(TS0P1738)和一小块纸板。
让我们开始吧!!!!
步骤一 材料准备
硬件准备:
Arduino UNO;
SG90伺服电机;
纸板;
面包板;
跳线;
软件准备:
红外遥控器以及红外接收器;
热胶枪;
软件准备:
Arduino IDE
步骤二 原理说明
SG90伺服电机通过施加不同的电压可以旋转不同的角度,这样可以十分便捷的控制食物添加的速度,更加方便有效的达到我们需要添加量。
步骤三 电路搭建
根据上图连接硬件。
- 将伺服信号引脚连接到arduino上的引脚#9
- 将伺服的VCC和GND引脚连接到arduino上的5V VCC和GND
- 伺服器将粘在塑料瓶的一端,然后旋转一块小到足以关闭瓶子开口的纸板,以便食物被堵塞。
步骤四 编写程序
1首先我们需要安装IR库
2我们要解析红外信号
在完成第一步以后我们可以开始解析红外信号了。我们把下面的代码下载到控制平台,按下遥控器通过串口观察记录收到的数据。
根据记录的数据修改我们最终源代码中的参数。
/*
The IR sensor's pins are attached to Arduino as so:
Pin 1 to Vout (pin 11 on Arduino)
Pin 2 to GND
Pin 3 to Vcc (+5v from Arduino)
*/
#include
int IRpin = 11;
IRrecv irrecv(IRpin);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value, DEC); // Print the Serial 'results.value'
irrecv.resume(); // Receive the next value
}
}
最后我们把配置过参数的源程序下载到我们搭建的硬件中。
#include
#include
int IRpin = 11; // pin for the IR sensor
IRrecv irrecv(IRpin);
decode_results results;
Servo myservo;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop()
{
if (irrecv.decode(&results))
{
irrecv.resume(); // Receive the next value
}
if (results.value == 33441975) // change according to your IR remote button number
{
myservo.write(0);
delay(15);
}
if (results.value == 33446055) // change according to your IR remote button number
{
myservo.write(30);
delay(15);
}
}
步骤五 验证结果
最后我们就可以通过遥控器自由的控制食物下降的速度和数量了。
程序下载: