3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

小学校用の教材モーターカーをハックした

Last updated at Posted at 2019-02-19

obnizを使って子供用の小学校教材のモーターカーをパックして、ラジコン化してみました。

#はじめに
obnizとは、Javascriptと、HTMLで組んだプログラムが、クラウド経由で簡単に実装できるマイコンで、接続した機器やセンサーを操作できるIoT端末です。

#教材
子供用の小学校教材であるモーターカーは電池駆動で、スイッチをオンにすることにより前進します。
それを、obnizでサーボモーターとモーターを操作することによりラジコン化させます。

#使用機器
・obniz
・サーボモーターSG-90
※秋月電子で購入するも3個中2個不良…
・ミニ四駆などの普通のモーター

#仕様
obnizのクラウドで、サーボモーターやモーター用のSDKがあるため、これを使用します。
0,1,2ピンをサーボモーターとし、3,4ピンをモーターとします。
画面はHTMLで記載し、全身後退、左右を操作できるようにします。

#画像
前輪と後輪の間に強引にサーボモーターを組み込み、モーターは電池駆動を止めobniz直接駆動とします。
サーボは後輪部分に接続し、前輪とは棒で接続して左右に動かせるようになっています(つまようじ・・・)
前輪には滑り止めのガムテープを貼っています。
P_20190202_152207_vHDR_Auto.jpg

#ソース

<!-- HTML Example -->
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
  <script src="https://unpkg.com/obniz@1.16.1/obniz.js"></script>
</head>
<body>

<div id="obniz-debug"></div>
<h1>ラジコン</h1>
<button id="susumu">進む</button><br>
<button id="modoru">戻る</button><br>
<button id="stop">止める</button><br>
左右<input id="slider1" type="range"  min="0" max="180" /><br>
パワー<input id="power" type="range"  min="0" max="200" value="100" /><input id="powertxt" type ="text"><br>

<script>
  var power = 100;
var obniz = new Obniz("OBNIZ_ID_HERE");
obniz.onconnect = async function () {
 var motor = obniz.wired("DCMotor",{"forward":3, "back":4});
  var servo1 = obniz.wired("ServoMotor", {gnd:0, vcc:1, signal:2});
  $("#slider1").on('input', function() {
    servo1.angle($("#slider1").val());
  });
  $("#power").on('input', function() {
    power = Number($("#power").val());
    if(power > 100){
    motor.power(power-100);
    motor.move(true);
    }else{
    motor.power(100-power);
    motor.move(false);
    }
  });
  $("#susumu").on("click",function(){
    motor.power(power);
    motor.move(true);
  });
  $("#modoru").on("click",function(){
    motor.power(power);
    motor.move(false);
  });
  $("#stop").on("click",function(){
    motor.stop();
  });
};

obniz.onclose = async function(){
   $("#slider1").off('input');
   $("#power").off('input');
};
</script>
</body>
</html>

#完成
これをスマホで操作することで完成です。
サーボモーターを操作することで左右に曲がる際にサーボモーターの音がキーキー泣いて、虫のよう、と子供に評判(?)でした。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?