2軸 カメラマウント 試してみた
我が家ではラズパイサーバにウェブカメラをつけてリビングをどこでも監視できるようにしてます????
このカメラを上下左右に移動できれば面白いかなぁなどと思いサーボモータを使った2軸のカメラマウントを 試してみました。
目次
構成
ここでは2軸のカメラマウントにウェブカメラを付けて、wiiコントローラのジョイスティックで上下左右に動かしてみました。
部品
-
- マイコン Arduino Nano互換品
- SG90サーボ用 2軸 カメラマウント
- ウェブカメラ
- Wiiコントローラ
- マイコン Arduino Nano互換品
Arduino Nano互換品
制御用マイコンには毎度お世話になっているHiLetgo製のArduino Nanoのクローン品を使用しました。
激安ショップ #HiLetgo しめて2545円。。。 https://t.co/D6WmSlzQiv pic.twitter.com/oPQx4l7uh4
— HomeMadeGarbage (@H0meMadeGarbage) 2017年5月1日
相変わらず安すぎる。。。4/15に注文してはるばる中国から4/28に届きました。
HiLetgoクローン品の詳細は以下
Wiiコントローラ
Wiiコントローラのジョイスティックのx-yでそれぞれ2個のサーボをコントロールしてカメラを任意の向きに向けます。
Arduino IDEプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#include <Wire.h> #include "nunchuck_funcs.h" #include <Servo.h> Servo servoX, servoY; // create servo object to control a servo byte joyx,joyy, joyxOld = 0,joyyOld = 0; int x = 90, y = 90; void setup() { nunchuck_init(); servoX.attach(9); servoY.attach(10); Serial.begin(9600); } void loop() { nunchuck_get_data(); joyx = nunchuck_joyx(); // range 29 - 226 joyy = nunchuck_joyy(); // range 29 - 226 if(abs(joyx-joyxOld) > 5 || abs(joyy-joyyOld) > 5){ x = map(joyx, 29, 226, 180, 0); y = map(joyy, 29, 226, 30, 150); joyxOld = joyx; joyyOld = joyy; } Serial.print("x: "); Serial.print(x); Serial.print("\ty: "); Serial.println(y); servoX.write(x); servoY.write(y); delay(15); } |
動作
2軸カメラマウントを #wii コントローラでグリグリ #arduino #サーボ #お腹すいた #全裸 pic.twitter.com/kEfygCt6vY
— HomeMadeGarbage (@H0meMadeGarbage) 2017年5月7日
これをこのまま監視カメラに付けるのは少し無理がありそう。。少しうるさいし機械強度的に長男くん簡単に壊してしまいそうだし。。。。
別で利用しよう 🙄 !!
大変興味深く拝見させていただいております。
2軸カメラマウントですが、ヌンチャクのトリガーボタンでON/OFFを制御したいのですが、
スケッチへの追加等、ご教示いただけないでしょうか?
突然のメールで、大変失礼ですが、どうぞよろしくお願いします。
コメントありがとうございます。
いま手元にコントローラがないので、すぐに確認できないのですが、以下参考になりませんでしょうか?
https://github.com/todbot/wiichuck_adapter/blob/master/firmware/WiichuckDemo/WiichuckDemo.ino
ご確認よろしくお願い致します。
早速のご教示ありがとうございます。折角うまく動いているnanoにコンパイルし直すのはもったいないので、新にnanoを購入して試したいと思います。ありがとうございました。