プログラミング教育もモノづくりからということで、ここでは、IchigoJamによるプログラミング例について説明します。
具体的には、LEDの点灯・消灯から信号機への展開、モーターのON/OFFとサーボモーターを使った例を説明します。
プログラミング教育ブーム?の背景
現在の義務教育では、私の頃(昭和)と比べて、かなり実験の経験が少ないのではないかと思います。
小学校、中学校はもちろんのこと、高校や理系の大学に入っても自分で実験をすることが少なくなっているように感じています。
大学で工学系を専攻しても、実験をやる研究室は少ないのではないでしょうか。
私はロボットや振動制御について学びましたが、幸い理論も実験もする研究室だったので、我ながら不器用だとは思いつつも、半田ごてを握って電気回路を作ったり、モノを動かす経験があったので、卒業後、設計・開発や商品企画を担当する際にも少なからず役に立っていたように思います。
実験の経験が少ないと、実験とコンピュータ・シミュレーションでは、疑うことなくシミュレーション結果が正しいと考えるようで、修士の学生でしたが驚きました。
メーカーに就職しても、実験の経験もなしにいきなり製品開発に取り組むのは、かなり無理があると思います。
そんな時には、バットの振動解析もよいと思います。
少々脱線しました。ここからIchigoJamを使ったプログラミングについて説明します。
IchigoJamによるプログラミングの良さ
IchigoJamとは、「IchigoJamとは」で簡単に紹介した、プログラミングにIchigoJam BASICを使ったこどもパソコンです。
PCやスマホの中の世界で完結してしまうプログラミングもありますが、IchigoJamの良い点の1つに、LEDやモーターを簡単にプログラムで扱える(ON/OFFできる)ことがあります。
ここで紹介するIchigoJamを使ったモノづくりプログラミングは、とても小さい体験かもしれませんが、実際にモノに触れ、動かすことは、モノづくりの成功体験の第1歩になると考えています。
ここでは、アナログ回路の部品(パーツ)を動かすプログラミングとして、LEDやモータを使ったプログラミングについて説明します。
IchigoJamについて
IchigoJamは、完成品もありますが、キットでも売られています。
※IchigoJamは、jig.jpの登録商標です。
まずはLチカ!LEDをプログラムでON/OFFする
LEDの点灯・消灯は、
キーボードで「LED 1」と入力、「エンター」キーを押す。
→ IchigoJamのLEDが点灯します。
キーボードで「LED 0」と入力、「エンター」キーを押す。
→ IchigoJamのLEDが消灯します。
IchigoJamボードのボタンを押すとLEDが点灯、離すと消灯するプログラムは、
10 LED BTN() 20 GOTO 10
(※行の頭の数字は、プログラムの行番号です。)
わずか2行のプログラムが完成しました。
キーボードで「RUN」と入力、「エンター」キーを押します。
ボタンを押すごとに、LEDが点灯、消灯を繰り返します。
これだけですが、実際にやってみると楽しくなります。
なお、LEDを点灯させるには、電圧と抵抗について次のことに注意すればよいと思います。ここでは、詳細は説明しませんので、自分で調べてみてください。IchigoJamを使った教材例もありますので、探してみてください。
- V(電圧)=R(抵抗)XI(電流)
- IchigoJamのOUT(電圧出力)は5V
- LED点灯に必要な電圧と最大電流値は?
信号機を作ってみよう
LEDのON/OFF(点灯・消灯)ができるようになったら、次のプログラミング工作として、信号機がおもしろいと思います。
例えば、
- 3個のLEDを順番に点灯させる。
- ブザーを利用して音を追加してみる。
- 点滅させてみる。
- 歩行者用を追加してみる。
などなど。
LEDを点灯させるための部品として、抵抗だけでなく定電流ダイオードを使ってみるとか、IchigoJamの仕様(制約条件)の範囲でどのように実現するか考えて手を動かしてみてはいかがですか?
IchigoJamでモーターを動かしてみる
IchigoJamでモーターを回す流れは、次のようになります。
- IchigoJamのコマンド「OUT」を実行
- モータードライバがモーター用の電源をONにする
- モーターに5vが出力され回転する
IchigoJamでプログラミングをしただけでは、直接モーターを回すことができません。
モーターを回すためには、モータードライバが必要となります。
モータードライバは自作してもよいのですが、半田ごて経験のない方や、最初から確実に動く方がよいという場合には、IchigoJamでモーターやサーボモーターを使えるMapleSyrup(めいぷるしろっぷ)をおすすめします。
私もモータードライバのパーツを揃え、簡単な回路を作ってみましたが、なかなか動かず試行錯誤の繰り返し。
配線図(表面に部品を取り付けますが、配線は裏面なのでややこしい。)を書いてようやく動きましたが、信頼性は低く、放置状態に・・・。
そんな時に、MapleSyrup発売を知り、早速購入したのでした。
おかげさまで、いちごロボで2つのモーターで前後進に左右回転、両腕を振ることができるようになりました。
プログラムのコマンドの例を上げておきます。
1個目のモーターの正転 : OUT1
1個目のモーターの逆転 : OUT2
サーボモーターは使うものにより違ってきますが、次のようになります。
1個目のサーボモーターを90度(指令値:50)回す
→ PWM3,50
こどもプログラミングロボット「paprika(パプリカ)」のページに資料がありますので参考にしてください。
paprika(パプリカ) : https://pcn.club/paprika/
なお、2019年4月からMapleSyrupの改良版のMapleSugar(めいぷるしゅがー)が発売されています。MapleSyrupのページから購入先に行けます。
MapleSyrup : http://maplesyrup.shizentai.jp/
この記事の参考情報など
- IchigoJam公式サイト : https://ichigojam.net/
- MapleSyrup : http://maplesyrup.shizentai.jp/
- MapleSugar(めいぷるしゅがー)もこちらからいけます。
- 秋月電子通商 : http://akizukidenshi.com/
- 私はここでモータードライバなどの部品を購入しました。
- カムロボ部 : https://na-s.jp/camrobo.html
- 素材にするロボットは、タミヤのカムロボがオススメです。
まとめ
ここでは、プログラミング教育もモノづくりから、IchigoJamを使ったモノづくりプログラミングの例として以下について説明しました。
- プログラミング教育ブーム?の背景
- IchigoJamによるプログラミングの良さ
- まずはLチカ!LEDをプログラムでON/OFFする
- 信号機を作ってみよう
- IchigoJamでモーターを動かしてみる