obniz에서 집 고양이에게 원격으로 먹이를 주어 보았습니다.

원격 미끼 머신



여행 중에도 집 고양이에게 먹이를주고 싶다!
어차피라면 집 IoT화의 일환으로 obniz를 사용하여 스마트폰에서 사용할 수 있는 미끼기기를 만들어 보았습니다.

필요한 것



obniz(오브나이즈)



obniz 은 javascript에서 조작 할 수 있으므로 버튼을 누르면 모터를 돌린다는 웹 페이지를 하나만 만드는 것만으로 끝납니다.
게다가 모터도 그대로 연결되므로 obniz를 사용하여 만들어 보았습니다.

자세한 내용은
htps : // 오 b에 ... 이오 /



무한 회전 서보



먹이를 주기 위해 스크류와 모터를 준비합니다.
DC모터라면 만들기 어렵기 때문에 무한히 회전하는 서보모터를 사 왔습니다.

htp // 아키즈키덴시. 코 m/분 g/g/gM-08305/



목공 재료



파이프나 상자가 필요했습니다. 주고 싶은 먹이의 양으로 크기는 바꾸는 편이 좋을지도.

조립



우선 적당한 파이프를 사 와서 스크류는 3D 프린터로 만들었습니다. STL은 여기입니다 .

그런 다음 obniz에 모터를 연결합니다. 이번에는 이렇게 했습니다.

io0: GND,
io1: VCC,
io2: signal

연결하여 전원을 켜 보았는데.

시험에 돌려보니 이것이 꽤 잘 움직이지 않고 왠지 스크류를 깎기도 했습니다. (더 곡물의 큰 먹이라면 문제 없었을지도) 코드 다음은 HTML 코딩입니다. 먼저 obniz.js를 unpkg에서 가져옵니다. <script src="https://unpkg.com/[email protected]/obniz.js"></script> 그리고 버튼을 누르면 몇 초간 서보를 돌리게 했습니다. 아래는 전체 HTML입니다. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IW > <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script> <script src="https://unpkg.com/[email protected]/obniz.js"></script> </head> <body> <div id="obniz-debug"></div> <br> <div class="text-center"> <h1>Pet Feeder</h1> </div> <button id="meal">Feeding</button> <div id="dispMeal"></div> <script> function getTime(){ var dateTime=new Date(); var hour = dateTime.getHours(); var minute = dateTime.getMinutes(); return hour + ":" + minute; } var obniz = new Obniz("OBNIZ_ID_HERE"); obniz.onconnect = async function() { var numberOfMeal = 0; var lastTimeMeal; $("#dispMeal").text("Number of feeding : "+numberOfMeal) var servo = obniz.wired("ServoMotor", {gnd:0, vcc:1, signal:2}); $("#meal").click(async function(){ numberOfMeal++ lastTimeMeal = getTime(); $("#dispMeal").text("Number of feeding : "+numberOfMeal+", The last time : "+lastTimeMeal) servo.angle(0.0); await obniz.wait(10000); servo.angle(6.9); }) } </script> </body> </html> 이 HTML을 열고 버튼을 누르면 돌고 돌아! 먹이를 주는 길이를 조정해, 딱 좋은 양이 나오게 했습니다.

좋은 웹페이지 즐겨찾기