もちゃばこ

食べたごはん、買ったもの、ゲームなどの感想、レビューを中心に、気になったものを紹介します。

週刊 お掃除ロボットをつくる 創刊号

f:id:mochabako:20170305232214j:plain

ルンバがほしいけど高い。

海外メーカーだと比較的安価な機種もあるが、店頭デモや動画を見るとやはり動きがあまり良くない。

そもそも家はフローリングだし、吸引式のお掃除ロボットよりも拭き取り式のほうがいいのではないだろうか…。

と言うわけで、拭き取り式のお掃除ロボットなら簡単に作れるような気がしたので作ることにした。

 

ちなみに後からお掃除ロボット調べてたら、拭き掃除用のお掃除ロボットがあることを知ってしまった。(ブラーバ)(ルンバと同じメーカー)(水拭きもできる)(3万円)(安い)(買いたい)

また、タイトルに週刊と付けたが、毎週更新するかどうかはわからない。デ○ゴスティーニ感出したかっただけなので。

 

構想

本題に入ろう。まずどんな感じでつくるかを考える。

掃除ロボットなので移動する必要がある。走行面はフローリングで安定しているので特に何も考えずにタイヤにする。

掃除ロボットなのでその場で旋回がしたい。2つの独立した車輪にすればその場で旋回できるので、モーターを2つつける。

掃除部分はクックルワイパーの先っちょをくっつける。ついでにこれで補助輪無しで車体が安定する。

あとはモーターの制御。数年前のブームのときに流されて買ったものの、LEDだけ光らせて飽きたArduinoが家に転がっていたのでこれを使う。

f:id:mochabako:20170305232711p:plain

大体こんな感じだろうか。…自分の絵心に脱帽である。

創刊号はモーターを回すところまで作る。

 

使ったもの

  • Arduino
  • ダブルギアボックス(タミヤ
  • モータードライバ(TA7291P)
  • 適当な電源(今回はモバイルバッテリーと単3電池)
  • その他配線とか

大体は昔買った昔買ったArduinoの入門セットのようなものの寄せ集め。

 

回路図

少し見にくいが大体下のように作る。

Arduinoからモータードライバ用の電源を確保し、モーターの電源は外部から取る。2つのデジタル出力で回転と方向を制御し、PWM出力でモーターにかかる電圧を制御する。これを2セット用意する。

このモーターの推奨電圧は3Vである。そのため今はモータ用電源が3VなのでPWM制御は必要ないが、将来的にArduinoと同じ5Vに変える予定なので、先を見越してこのような回路にしておく。

f:id:mochabako:20170306230243p:plain

 

プログラム

モーターを回すだけなのでプログラムはとりあえずこんな感じで。

次回までにはもう少し整えます。

const int mot_A_1 = 7;
const int mot_A_2 = 8;
const int PWM_mot_A = 9;
const int mot_B_1 = 13;
const int mot_B_2 = 12;
const int PWM_mot_B = 11;

void setup(){
  pinMode(mot_A_1,OUTPUT); 
  pinMode(mot_A_2,OUTPUT); 
  pinMode(PWM_mot_A,OUTPUT); 
  pinMode(mot_B_1,OUTPUT); 
  pinMode(mot_B_2,OUTPUT);
  pinMode(PWM_mot_B,OUTPUT); 
}

void loop(){
    digitalWrite(mot_A_1,HIGH);
    digitalWrite(mot_A_2,LOW);
    analogWrite(PWM_mot_A,255);
    digitalWrite(mot_B_1,HIGH);
    digitalWrite(mot_B_2,LOW);
    analogWrite(PWM_mot_B,255); 
}

 

結果

実際に回したところが以下。


モーターの回転

作れそうな気がしてきた。次回は実際に走らせてみる。

 

おかしいところ、アドバイス等ありましたらぜひコメントお願いします。

 

以上