うさ耳キュイキュイした。 #大晦日ハッカソン 2018
2018年最後のハッカソン、家でもくもく作業する 大晦日ハッカソン。
12月は思う存分作ったので、クラッピーは使わない。そのうちアドベントカレンダー疲れって言葉が生まれそう。
まずは先に完成イメージ。
2019年4月は熊本でもイースター
巨大スクリーンで一緒に色々やろうとしてた人たちが面白そうなこと始めてた。
EASTER PARTY2019 くまもと復活祭
— イースターパーティ熊本🐰 (@EasterParty0421) 2018年12月20日
2019年4月21日(日)10:00〜16:00
at.グランメッセ熊本
主催 イースターパーティー実行委員会 pic.twitter.com/dxz6iTeJTg
うさ耳つけてた実行委員会の人たちが男女問わず可愛かった。
KumaMCNでもウザ絡みする。
うさ耳買ってきた
以前ダイソーに売ってあった気がするけど、最近見かけない。仕方ないのでAmazonでまとめ買い。
うさ耳チャレンジ
まずは分解したけど、これはクラッピーチャレンジだ。みんなこの流れに乗ってくるといいなぁ。
とりあえず分解。一人で黙々とクラッピーチャレンジ始めた時のドキドキ感みたいだ。 #大晦日ハッカソン pic.twitter.com/MfyzVZE8n6
— まこらぎ (@makoragi) 2018年12月30日
中に針金入ってて、うさ耳を曲げたり出来る。これをサーボモータでキュイキュイしようかと。下敷きを土台にして、結束バンドで止めた。
1時間半の進捗。サーボの動きでやりたいことバレバレだけど。 #大晦日ハッカソン pic.twitter.com/TBd5zX6308
— まこらぎ (@makoragi) 2018年12月30日
GlueMotorでキュイキュイしたらいい感じに。スマホのイヤホンジャックで動かせるGlueMotorほんと便利。
GlueMotorで「動くウサ耳」に。このあとobnizと繋いでみようかなw #大晦日ハッカソン pic.twitter.com/6cPvw2AWks
— まこらぎ (@makoragi) 2018年12月30日
顔認証してキュイキュイ
今年はやっぱりobnizで。サーボ簡単に動かせるしハッカソンで何度も活躍した。
obniz (オブナイズ) - クラウドにつながったEaaS開発ボード - クラウドの永久ライセンス付き
- 出版社/メーカー: 株式会社CambrianRobotics
- メディア: おもちゃ&ホビー
- この商品を含むブログを見る
obnizのブロックプログラム(Scratch風のやつ)を見ると顔認識できたので、そこからサーボモータを動かすようにした。ブロックプログラム上ではサーボモータ動かせるか微妙だったので、JavaScriptのコードにエクスポートして少し弄った。
なにこれすごい。「顔認識してサーボ動かす」が30分で出来た。obnizのブロックプログラムにあった顔認識のブロック使っただけ。目の前に人が来たら頭のウサ耳が反応するプロトタイプ。 #大晦日ハッカソン pic.twitter.com/vgmAIioPcD
— まこらぎ (@makoragi) 2018年12月30日
イメージ図はこれ。目の前に人が現れると、うさ耳キュイキュイでアピール。エモい。
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
<script src="https://unpkg.com/obniz@latest/obniz.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/obniz-parts-kits@0.10.2/iothome/index.js"></script>
<script src="https://unpkg.com/obniz-parts-kits@0.10.2/ai/index.js"></script>
<script src="https://unpkg.com/obniz-parts-kits@0.10.2/airobot/index.js"></script>
<script src="https://unpkg.com/obniz-parts-kits@0.10.2/ui/index.js"></script>
<script src="https://unpkg.com/obniz-parts-kits@0.10.2/ai/opencv3.4/opencv.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.13.5"> </script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/mobilenet@0.2.2"> </script>
</head>
<body>
TEST
<div id="OBNIZ_OUTPUT"></div><br/>
<script>
(async function(){
var obniz, servomotor;
obniz = new Obniz('8407-1385');
await obniz.connectWait();
servomotor = obniz.wired("ServoMotor",{"signal":4, "vcc":5, "gnd":6});
await _ai.startCamWait();
while (true) {
if (_ai.isFaceInside()) {
servomotor.angle(100);
}
await ObnizUI.Util.wait(500);
servomotor.angle(40);
await ObnizUI.Util.wait(500);
}
})();
</script>
</body>
</html>