自分でロボットを作ってみたい人は多いと思います!
ですが,何をどのように学んでいくのか...イメージがつかない人もいると思います.
この記事では,私(高専ロボコン経験者)の場合を振り返りつつ書いています.
中学生〜高校生を対象に書いているつもりです.
ロボットを作るために必要なもの
- 機構
- 回路
- プログラム
- センサ
- モータ
- などなど...
私は機構設計をやったことがありませんが,その他について浅く広くやって来ました.
私は電子工作から入ったので,以下はほぼ電子工作の入門となっています.
Level 1 電子工作キット
まずは電子工作から初めてみましょう!
電子工作キットから始めるのがおすすめです.
抵抗,コンデンサ,トランジスタ,LED,...様々な電子部品に触れることができます.
(私は小学生〜中学生の頃,コロコロコミックに広告が載っていた「新・電子工作通信講座」というものをやってました)
目標
- 電子パーツに慣れる
- 抵抗・コンデンサ・トランジスタ・LEDなどなど...
- はんだごてを使うことができる
- ものづくりができる
Level 2 マイコンプログラミング
次にマイコンを使ったプログラミングを初めてみましょう!
マイコンとは小さなコンピュータのことです.身の回りの電化製品などには,このマイコンが入っています.
ここでおすすめするマイコンは "Arduino" です.
また,ブレッドボード,ジャンパピンやスイッチ,LEDなど回路の部品も買っておきましょう.
Arduinoを手に入れたら,LEDを点滅させるプログラムから入り,以下のように進めていってください!
どんどんやれることが広がっていきます!
(私は高専に通っていた頃,部活内で学びました)
目標
- Arduino言語の習得
- ArduinoでLEDをチカチカさせる. (digitalWrite)
- ArduinoでLEDをぼんやり光らせる. (analogWrite)
- スイッチを使ってみる. (digitalRead)
- ボリューム(可変抵抗)を使ってみる. (analogWrite)
- プログラム自体の練習
- 文字の出力(Serial.println)
- 変数 (int / float / ...)
- 条件分岐 (if / switch)
- ブレッドボードを使った回路設計
- 接地(GND)の概念が理解できる
- 抵抗の使い方 (LEDを使うときに抵抗が必要,オームの法則など)
- プルアップ抵抗,プルダウン抵抗(入力にスイッチを使うときに必要)
補足 マイコンについて
-
Arduino
一番おすすめのマイコンです.
プログラムがわかりやすく,色々な機能が使えるためおすすめです.
また,シールドという拡張基板も売っていて,Bluetoothなどの通信も使えるようにできます.
(私は高専ロボコンで,Arduinoをロボット制御によく使っていました) -
RaspberryPi
Arduinoと比べられることも多いと思いますが,こちらはOS(Operating System)が載っています.
難しいですがその分,やれることが増えます.
(完全にArduinoより勝るかというと,そうではありません.
特に入力に対して反応が素早くできる,綺麗な出力波形が出る(リアルタイム性)という面で
ロボットに向いているのはArduinoの方だと思っています.)
以下のようなことができます.Arduinoの次のマイコンとしておすすめ!- 簡易的なWebサーバ (ホームページ)
- 音楽サーバ (Volumioなど)
-
その他PICなど多種多様なマイコン
主にC言語を使って開発します.
データシート(説明書)の読み込みなどが大変です.
Level 3 新たな部品
ここまで来たら,自分が思い描くモノを作るため,
Amazon,SwitchScience,秋月電子通商などのサイトで,センサや新たな部品を買ってみましょう!
(私は高専にいた頃,部活内で色んな部品を買わせていただきました.
高専ロボコンでは以下のセンサをよく使っていました.)
センサ(Arduinoへの入力)
- 距離センサ
- ホイールエンコーダ(回転数が分かります)
- 傾きセンサ,ジャイロセンサ
- 気温・気圧センサ
- 赤外線センサ など多種多様なセンサがあります.Arduinoで使ってみましょう!
- カメラ はArduinoでは厳しいです. RaspberryPiやPCを使いましょう!
アクチュエータ(Arduinoから出力)
- モータ(モータードライバという回路も必要かも)
- 様々なLED(赤色LEDから,電車内の掲示板ようなドットマトリクスLEDまで色々なものがあります)
- スピーカ など
Level ? ロボット制作
ここまでくれば,次はロボット!...と言いたいですが,
ロボットを作るには,以下の理由で,お金・技術・時間が必要です.
一人でロボットを作るのはなかなか大変な作業です.
もしあなたが可能であれば,
高校・高専・大学などでロボットに関する研究やコンテストに携わることが1つの答えだと思います.
機構設計など
ロボットを作るとなると,外側が必要だと思います.
ロボットが何ができるかの大部分は,その機構にかかっていると思います.(私はこの分野は分かりません)
回路設計など
大きなモータを回すためにはモータドライバという回路が重要です.
トランジスタやFETやオペアンプを使った回路で,マイコンの信号を増幅させてあげることも重要です.
回路の開発にはオシロスコープなど計器も必要になってきます.
また,快適に操縦するには通信技術も大切です.
センサ
センサは基本的に高級なほど良いものです.
安いセンサはノイズが酷かったり,時間がかかったり,クセがあるモノもあります...
特にkinect, LiDARなど距離に関するセンサは高級な印象があります.
プログラム
センサに比例してできることが広がっていきます.
例えばロボットにカメラを付けたら,画像処理ができるようになり,
ディープラーニング技術などで物体の認識ができます.
上に挙げたような高価な距離センサがあれば,ロボットの位置を推定することができ,
ロボットに目的地を伝えるだけで自動運転をすることができます.
ただ複雑なことをさせようとすると,マイコンではスペックが足りなくなるかもしれません...
まとめ
ロボットに興味がある人は多いのではないでしょうか?
私の経験が誰かの参考になれば幸いです.