所有关于电路
项目

物联网小猎犬喂食器

2017年1月30日通过瑞恩•琼斯

比格尔博恩犬喂食器是伟大的宠物喂食器的原型!当你填饱肚子的时候,记录下你的宠物的饮食!

比格尔博恩犬喂食器是伟大的宠物喂食器的原型!当你填饱肚子的时候,记录下你的宠物的饮食!

物料清单

为什么?

最近,我出门的次数比平时多,所以我对我的宠物独自在家感到有点内疚。为了保证他们的健康,我尝试造一个小猎犬喂食器。然而,我在机械工程部门的技能还不够,所以它更像是一个糖果分配器,因为这个原型机不能处理太多的食物。

然而,你的宠物也不必独自一人!这款产品包括一个OLED显示屏,可以询问你的宠物是否饿了。你所要做的就是把他们送到宠物寄宿学校学习读英语,他们就会走上家庭自动化的道路!

的组件!

如何?

Seeed Studio的Beaglebone绿色无线谷歌物联网套件附带一个方便的“Grove Cape”,便于我们的组件和Beaglebone之间的连接。Grove Cape不需要任何额外的组件就可以连接到Grove微型pcb板上,如PIR传感器、按钮和OLED显示器。这使得项目能够快速而轻松地完成。

Seeed Studio物联网工具包!

在继续我们的程序和电路之前,我们必须确保我们的电路板已经更新,包括运行我们的程序所需的一切。我们将在Cloud 9 IDE中使用Python。我们只需要按照以下顺序在Cloud 9的终端中执行几个命令:

apt-get更新
apt-get升级
apt-get安装链接
链接http://www.google.com/accounts/DisplayUnlockCaptcha
安装libssl-dev tcltls swks

好的,我们直接把PIR传感器插入GPIO 115,按钮插入GPIO 117, OLED插入任何I2C连接器。您需要将PIR传感器放在设备的前端,并定位OLED显示器,以便于阅读。按钮应该放在一个高架平台的下面。

当PIR检测到运动时,它会在OLED显示屏上打印“你饿了吗?”如果你的宠物真的饿了,走上平台,按钮就会启动,一个螺线管就会被触发,将食物释放到碗里。然后,OLED屏幕会打印出“尽情享受吧,哈尔!”的字样,并向你的账户发送一封电子邮件,告知你宠物的饮食习惯。

虽然Grove连接在我们的大部分项目中都很好用,但我们没有能够驱动螺线管的信号。相反,我们将创建一个自定义继电器电路,并将其连接到GPIO 51。虽然我们可以使用晶体管来直接驱动螺线管,但我没有足够的集电极额定电流,所以晶体管驱动一个继电器线圈,继电器控制螺线管。

包括格罗夫海角便于联系

一般来说,NPN晶体管需要至少0.6V的基极到发射极电压才能离开截止区域并允许电流从集电极流向发射极。电阻器是用来限制流入晶体管基极的电流的(过多的电流会造成损坏)。

当晶体管处于断开状态时,连接到继电器线圈的5V电源通过BJT的集电极和发射极接地。当晶体管中断流过电感器的电流时,二极管保护晶体管免受危险电压峰值的影响。

当电流流过继电器线圈时,继电器的开关触点从常开端子移动到常闭端子。这使得来自12V电源的电流流过电磁阀的线圈,进而导致柱塞移动。

创建使用计划中,点击放大

当然,这个搋子会连着某种装置,让食物掉进宠物的盘子里。几秒钟后,你就会收到一封电子邮件,通知你的宠物正在大嚼特嚼!有关发送和接收电子邮件的更多信息,请访问https://easyengine.io/tutorials/mail/swaks-smtp-test-tool/

每个人都有自己的随机材料来制作馈线装置,所以你必须有创意。就像我说的,这只是个原型。小猎犬喂食器可以通过伺服电机控制的更好的喂食机制来大大改进,甚至可以通过网络摄像头让你检查你的宠物,以确保它们真的是吃!可能性是无穷无尽的。

我糟糕的机械设计
import mraa import time import pyupm_grove as grove from subprocess import call #import oled display module import pyupm_i2clcd as upmLCD #参数1表示我们使用的是I2C_2, 0x3c是oled显示器myLCD = upmLCD的地址。SSD1327(1, 0x3c) pir = mraa.Gpio(73) pir.dir(mraa.DIR_IN) button = mraa.Gpio(71) relay = mraa.Pwm(62) relay.period_us(700) relay.enable(True) myLCD. setgraylevel (12) def setup(): # Nothing to do here pass while True:myLCD setCursor(3,3)。写myLCD(“你”)。myLCD setCursor(5,3)。write("Hungry?") #time.sleep(2) elif (y == 1): relay.write(1) myLCD.setCursor(3, 3) myLCD.write("Enjoy, ") myLCD.setCursor(5, 3) myLCD.write(" Hal! ") #call("swaks -4 --server smtp.gmail.com:587 --from your@email.com --to receiving@email.com -tls --auth LOGIN --auth-user youremailusername@email.com --auth-password your-password --header \"Subject: Hal got himself a snack!\" --body \"He loves his snacks\"",shell=True) time.sleep(2) relay.write(0) time.sleep(15) else : relay.write(0) #myLCD.clear() #time.sleep(2) myLCD.setCursor(3, 3) myLCD.write(" ") myLCD.setCursor(5, 3) myLCD.write(" ") #myLCD.clear()

Official_Beagle_Feeder.py.zip

自己尝试一下这个项目吧!BOM。

其他我项目: