用arduino自制狗零食训练器

简介:狗零食训练师


 

我的项目构建了一个狗零食分配器,一次可以分发一些零食。它使用遥控器(如果你愿意,甚至可以是普通的电视遥控器!)来分发零食。它包括一个可选的 LED,用于显示款待何时到来。我之所以选择这个,是因为大多数喂狗机都是为了喂你的狗一顿饭。这个只提供零食。它可以用作训练工具,因为我敢打赌你的狗会坐在它面前等待很长时间......他/他/他们可以练习留下来!你也可以通过给予零食来让你的狗远离你。当他们听到哔哔声时,一旦它们知道这意味着款待,他们就会跑过来!

这是为高级用户准备的。

材料清单:

  • arduino控制器
  • 面包板
  • 微型伺服马达
  • 红外线接收器
  • 遥控
  • 有源蜂鸣器*
  • LED和330电阻器(可选)
  • 10-11跳线
  • 狗/猫零食;各自的宠物
  • 坡道组件

*被动蜂鸣器使用tone(),它与IRremote库冲突。有一个解决方法,但是更复杂!

 

步骤1:原理图/设置


 

 

使用330电阻将您的LED(如果需要)连接到引脚9。

将活动的蜂鸣器连接到引脚6。

将IR接收器连接到针脚10。地雷通过字母标记的针脚连接到其自身的分线板上:G =接地;R =功率;Y =信号。使用此页面可以对IR接收器连接进行故障排除。

连接伺服电机,将黑色接地匹配,将红色匹配至5V,将橙色匹配至数字引脚(我使用11)。使用此页面可对您的伺服连接进行故障排除。

 

步骤2:查找您的遥控器的代码


 

 

您可以使用专用于Arduino的遥控器,也可以使用常规的电视遥控器!我从遥控器上选择了一个用途不多的随机按钮之一,并使用了它(底部的蓝色按钮)。这样,我就可以在沙发上舒适的地方看电视并治疗狗了!

使用本教程查找遥控器的代码。

基本上,上传以下代码:

#include <IRremote.h>
const int RECV_PIN = 7;
IRrecv irrecv(RECV_PIN);
encode_results result;
void setup(){
  Serial.begin(9600);
  irrecv.enableIRIn();
  irrecv.blink13(true);
}
  
​void loop(){
  if(irrecv.decode(&results)){
        Serial.println(results.value,HEX);
        irrecv.resume();
  }
}

按下一个按钮,查看串行监视器中的值。

保存此内容以放入步骤4的代码中。

 

步骤3:构建坡道


 


 

使用您手头上的任何东西为您的零食建立倾斜的溜槽。也许两个尺子用胶带粘在一起形成溜槽?乐高积木?顺着坡道的角度玩一下,一次加载多少个零食。

我用PVC管做滑槽,把药瓶的一端抬到空中,这样可以为以后提供更多的零食而带来额外的好处。我用胶带将所有这些胶带粘在一起,然后将伺服电机也粘在桌面边缘上。胶带可防止所有零件滑动。

 

步骤4:将代码/放在一起

第22行是您要放置要使用的远程按钮的代码的地方。编写“ case 0xCODE:”,然后用您的远程按钮代码替换CODE。

#include <IRremote.h> // add the library for the IR receiver
#include <Servo.h> // add the library for the Servo motor

const int RECV_PIN = 10;
IRrecv irrecv(RECV_PIN);
decode_results results; // lines 4-6 setup the IR receiver
const int LED = 9;
const int buzzerPin = 6;
Servo myservo; // name the servo
int pos = 0; // variable that stores the servo position

void setup(){
  irrecv.enableIRIn(); // IR receiver setup
  pinMode(LED, OUTPUT); 
  pinMode(buzzerPin, OUTPUT); 
  myservo.attach(11); // the pin where your servo is attached
}

void loop(){
  if (irrecv.decode(&results)){
  switch(results.value){ // 20-21 IR receiver setup
    case 0x20DF8679: // this is where you put the code for the remote button
      digitalWrite(LED, HIGH); 
      digitalWrite(buzzerPin, HIGH);
      delay(20);
      digitalWrite(buzzerPin, LOW); // lines 24-26 give a short note before the servo moves
      for(pos = 0; pos <=180; pos +=1){ 
        myservo.write(pos);
        delay(10);
      }
      for(pos = 180; pos>=0; pos-=1)
      {
        myservo.write(pos);
        delay(10); 
      } // lines 27-35 control the servo movement
      delay(2000);
      digitalWrite(LED, LOW);
      } 
    irrecv.resume(); 
    }
}

步骤5:总结


 

希望您可以按照本教程进行操作。为您的毛茸茸的朋友制作有趣的零食设备,尽情享受吧!

v=onGGy8uFYJQ

版权说明

本文遵循CC BY-SA版权协议,转载请附上原文出处链接及本声明。
链接:https://chandianzi.cn/dog-treat-trainer.html
作者
版权协议:CC BY-NC-SA
分类名称:arduino-10
资源标识:Dog-Treat-Trainer

生成海报
点赞 0

创世纪

单片机学习,电子制作DIY学习与分享,各种新鲜的,有趣的,好玩的,一起来吧!机器人、无人机、树莓派/Raspberry Pi、arduino、极客、创客等

暂无评论

发表评论

相关推荐

开放式生长灯:可模拟任何纬度下的季节性光照条件/持续时间

简介:开放式成长灯恰好在一年前(2020年2月),詹姆斯的妻子想扩大房子里的植物种植设施。这包括更大,更大,更高的植物生长区域,以及对更多照明的需求。答对了!播种了想法的种子。经过详尽的市场研究,无法找到我们想要的产品,我们开始设计这种新的惊人设备。从简单的可编程光源开始,到如今已发展成为功能全面的开源生长系统,您可以使用它来模拟任何所需纬度下的季节性光照条件/持续时间,并且还可以全年控制生长区域的湿度和温度。这样,即使您冬天住在纽约,也可以模拟加利福尼亚州圣地亚哥的春季气候。该系统已经过全面测试,性能比预期的还要好。当然,作为开源,您和您的OpenGrowLight社区中的每个人都可以改善甚

从点亮小夜灯开始-Arduino基础入门

https://www.instructables.com/Arduino-Basics-With-Night-Light/简介:带小夜灯的Arduino基础知识最近,我一直在玩Arduino。Arduino非常酷,是学习电子学的好方法。在本教程中,我将教您Arduino的基础知识,包括:LED的纽扣电位器电阻器廷克卡德和一个具有这种知识的项目。步骤1:董事会控制器可以分为几个简单的部分。颜色与图像相对应。绿色框为Arduino提供电源,并且已插入USB电缆。橙色为面包板和地面提供5v或3.3v的电源。红色端口是用于在没有USB且电压为7-12v的情况下为Arduino供电的端口。紫色是微控制

用arduino自制一个LED万花筒

简介:Franken'canLED万花筒我们大多数人长大后,一生中至少都会玩过万花筒。我已经决定,我想把它比我们大家都知道和喜欢的美元商店种类多走15步。最终,我想将它们变成一副眼镜,以扭曲现实,并让每个人对自己的看法有自己的特殊见解。当倾斜球开关被激活(1)时,将编写该代码(1),它将为人提供反射时具有各种颜色的频闪灯。但是,如果您稍微移动头部,则会停用(0)开关,在那里您将获得彩虹般的色彩。对我来说,这很有趣,因为并不是每个人都会在同一时间看到相同的事物,并且曾经有一首歌被光明蒙蔽,材料清单:-一个品客可以-3品客鱼眼盖-至少7条电线用于连接开关和LED。我用了12。-ArduinoUno