八色木

Arduino 舵机制作自动宠物喂食器

最近这段时间一直在折腾养了几年的小宠物,今天介绍一下计划添加的自动喂食器, 这是最简单的宠物喂食器,可以定时投放适当的食物。喂养宠物宠物的朋友,都想自己喂养的宠物健康强壮,但是由于忙碌的生活,我们经常会怀疑自己,“我能照顾我的宠物吗?”于是自动喂食器应运而生了。

Arduino 宠物自动喂食机

宠物自动喂食器
宠物自动喂食器

下面我们分享最简单,但最有效和成本最低的宠物自动喂食机。有效减少宠物因暴饮暴食而引发的疾病。让宠物更加健康快乐!

需要准备的硬件包含Arduino开发板,UNO或者其他类型产品,当然舵机是必不可少的。舵机的作用是控制实物出口的打开和关闭,Arduino是机器的大脑。舵机通过旋转一定的角度,从而实现打开和关闭实物盒子,确保一定量的实物自动流出。简而言之,这需要舵机和arduino之间的密切配合。下图展示了硬件的连接原理图。

舵机和arduino uno的连接

Arduino 编程

自动喂食器的程序是应该是最简单的程序之一,总共就那么几句。可以根据实际的需要对其进行修改,首先我们要对宠物的进食规律习惯进行梳理。 假设猫一天喂食三次,每次大概50克。因此,食物容器出口的盖子应该打开假设一分钟(这个时间需要实际实验得出)。在这一分钟里,食物会持续掉进猫碗里,一旦碗里的食物达到50克,盖子就会关上。这个过程中的出口打开时间需要重复实验验证。 现在,我们假设猫在早上6点、下午1点和晚上8点吃东西。换句话说,就是从第一次喂食开始间隔7小时进行第二次喂食,第二次喂食与第三次喂食间隔7小时,第三次喂食后间隔10小时,再开始新的循环。例程如下:

#include<Servo.h>
Servo servo_test;

void setup() 
{
  servo_test.attach(8);   // 舵机信号脚8
  pinMode(8, OUTPUT);
}

void loop() {
  // 在早上6点:
  servo_test.write(80);  //舵机旋转80度,打开出口
  delay(60000);          //出口的打开持续时间
  servo_test.write(0);   // 关闭 
  delay(25200000UL);     //7小时后再次打开出口
  //下午1点:
 servo_test.write(80);   //舵机旋转80度,打开出口 
  delay(60000);          //出口的打开持续时间
  servo_test.write(0);   // 关闭 
  delay(25200000UL);     //7小时后再次打开出口
 // 晚上8点:
  servo_test.write(80);  
  delay(60000);          
  servo_test.write(0);   
  delay(36000000UL);     //10小时后再次打开出口
   }

喂食器设计

在设计的问题上,每个人都有自己的创意。你可以参考一些成品喂食器结构采用3D打印机或者其他材料(塑料瓶、饮水桶等等)自己diy一个,或者现有的成品进行改造,下面给出一个可参考的结构,供参考。

Pet feeder
Exit mobile version