micro:bitでセンサーカー①

micro:bit

障害物を回避するセンサーカーを作りたい。

でもキットを買うと高いのです。

自力で何とか作れないでしょうか?

形はいいので動くものを

これはプロトタイプです

つまり作りかけです。

なんでそんなものを発表するかといいますと、

お子様がキットじゃなく自作した場合、はんだ付けとかなしでやるとこんな感じになるのでは?

と参考までに発表する次第です。

どこから手をつける?

まずは「360度回転サーボ」と「超音波距離センサー」の使い方からですね。

私もそこからやりました。

サーボの実験記事です。

回転サーボについて

リモコンカーにして走らせてみる

距離センサーの実験記事です。

micro:bit距離センサー実験、ここでは距離によって音が変わる実験をしました。

今回はこれらの実験を合体させる形で作製しました。

コードです

言葉にすると車にセンサーを載せるイメージですが、

コードはセンサーのコードにサーボの数値を入れるイメージ。

音を変化させる代わりに、サーボを動かす感じです。

プログラム作成ページに行ったら、新しいプログラムで始めます。

まず最初にやることは、拡張機能で「ソナーを追加すること」と

変数に「距離」を追加することです。

それではmicro:bitの起動画面から

最初だけ”Hello!”を表示させます。

起動画面はいらないような気もしますが、コードがちゃんとmicro:bitに転送されたわかるので、あったほうが良いと思います。

センサーの設定

ここでソナーがでてきます。

大枠で「ずっと」を使います。

最初に変数に距離を追加しているので、変数に「変数距離を~~にする」があります。

そのなかに、ソナーを入れちゃいます。

今回は

  • ping trigはP8
  • echoはP0
  • unitはcm(センチがなじみあるでしょう(笑))

P8て?どこ?は後述しますね。

高度なブロックのなかから、シリアル通信を開き、「シリアル通信 名前と数値を書きだす」

を選びます。名前は何でもいいのでしょうが、距離なので”dist”としますか。

※ シリアル通信はよく聞くものでは、i2c(あいすくえあどしー)なんて言ったりもして、大量のデータのやり取りができる方法なんです。

リンクですこの方わかりやすいかな

勝手に引用すいません!

他にも通信方法はあるみたいですが、私はよく知りません・・・。勉強します。

サーボの設定

先ほどのセンサーのコードの下に、もし!なんちゃらかんちゃらを入れますね。

私は直進アイコンの他には、

  • 「距離<50」から「距離>20」
  • サーボの出力をP1、P2で逆転させるのですが、それぞれ155と30にしました。

個体差があるので、数値は実際に走らせて微調整しなければいけないでしょう。

次は、でなければもし!

  • 「距離」<20
  • 回転アイコン
  • サーボP1を30
  • サーボP2を30
  • 一時停止を入れたのは、入れないと回転しすぎるようです。

これだけ!なんです。今回意外とシンプルです。

コードを載せときますね。

ロボの説明

今回は試作品なので、両面テープでぺたぺた。

基本的にはミニブレッドボードで、ジャンパピン、ワニ口クリップで組み立ててます。

micro:bitを始めてから、これもよく使います。

こんなのでカシメて作ります。

micro:bitにネジでつけれるので便利です!

最初の悩みどころ

今までサーボを動かすのに拡張基盤を使っていたんですね。

これはmicro:bitに3Vを供給するんですね。

それでもって距離センサーのHC-SR04は5Vなんですね。

同時に使おうとするといまいち相性が悪いのです。

うまく動きません・・・。

それで今回はサーボ基盤を捨てました!

サーボはプラス、マイナスと信号線の3本ですが別にジャンパピンでつないでもいいんですよ。

今回はこのやり方で、

サーボの電源も5Vでとりました。

micro:bitは3Vなのでそれだけ別電源にしました。

減圧とかややこしいことはなしの方向で!次の課題にします。

全体図

写真じゃわからないので、図にしました。

micro:bitの電池はよくある標準タイプです。

他は、単三電池4本。1.5V×4本で5Vですね。

全体にどうやって電気を回すかといいますと、ブレッドボードです。

黒と白の線です。これはマイナス側ですが、電池からブレッドボードに1本差します。

そこから横方向にセンサーのマイナス、サーボ2個のマイナス、そしてmicro:bitのGNDに一つ線をつなぎます。

ネジで止まっている白い線が、5Vマイナスです。

※ 5Vのマイナスは、micro:bitのGNDにつなぎますが、5Vプラスはmicro:bitにつながなでくださいい!

次はセンサーです。

  • VCCが5Vプラス
  • TrigがP0
  • EchoをP8
  • Gndが5Vマイナスですね

P8ですけど、今回は強引にワニ口クリップでつなぎましたよ!

わかりにくいですね、一番左の黄色がTrigです。

そしてP1の黒いクリップの横にある緑色のクリップがEcho、つまりP8です。

エッジコネクタの(金属部分)細い縦線です。

※ micro:bitは表面上P0、P1、P2と3か所しかコントロールできないように見えますが、実はもっとたくさんコントロールできるようです。

細いピン全部なんですね。

こちらのページに詳しくあります

これを全てpinに変換するものもあるようです。

今度はこれ使います(笑)

サーボ

サーボは

  • 黄色は信号線
  • 赤はプラス
  • 茶色はマイナスです

今回は信号線だけをmicro:bitのP1、P2につなぎます。

プラスとマイナスは5V電池につないで下さい!

動かしてみました

ホイルベースが長すぎますね・・・・

おしり、ガンガンぶつかります。

次回は電池ボックスをひとまとめにして、かつ工作の楽しさも残しながらを意識して進化させようと思います。

コメント

タイトルとURLをコピーしました