プログラミング教育の必修化!その時、オトナは何をする!?
はじめに
今回は自身の備忘録的な内容です。いつもですが・・・
プログラミングを勉強するためにアプリを作ろうか、考えた挙句
ホビーの上達も兼ねて、プラモの電飾やモーターの駆動にプログラミングを
取り入れようとしています。
モノづくりやIoTなどを考えていく時、その基本原理は同じと考えています。
そしてプラモのプログラミングを考えた時に幾つかの方途があります。
1 静岡ホビーショーに行って思ったこと
先日の静岡でのホビーショーで思ったことは、実に電飾をしている作品が
多いこと。またそれだけでなく音声、効果音の再現や
電飾以外の動きをする作品が見受けられました。
2 電飾やプログラミングをするには
プラモのために電飾をする本は、どろぼうひげさんの
がありますが、プラモに限定している・・・プログラミングの本はありません。
(ないと思います)
ですので
ある程度、電子工作の知識が必要となってきます。
言い訳ですが、ぼくがプラモ作成のスピードが遅い理由の一つは
回路の作成が不慣れなため・・・電子工作のスキルが未熟だからです。
⬛︎主な考え方は2つある
電飾、プログラミングをするには主な考え方は2つあります。
一つはPIC(8ビットのマイコン)に
プログラムを書き込みをする。
もう一つはラズベリーパイやArduino(アルディーノ)などのマイコンボードに
プログラムを書き込む。
大まかに分けると、この2つです。
ぼくは
PICとマイコンボード Arduino(アルディーノ)併用しています。
そして写真は
参考にしている書籍です。
これらの電子工作の実例を参考にして、プラモにどのように
応用していくか考えていくわけです。
3 Arduino(アルディーノ)について個人の見解
マイコンボードであるArduino(アルディーノ)ですが
実にPIC以上に普及率は高く、
①参考書籍、または実例をアップしたwebなど山ほどあります。
②初心者でも電子工作のハードルは低くなっています。
③プログラミングも簡単
これはArduino(アルディーノ)のLEDを光らせる・・・Lチカの
プログラムです。
Arduino IDEというソフトウェアをダウンロード(無料)して
プログラムを書き込みます。
と言っても、下記の内容は既にArduino IDEというソフトウェアに入ってます。
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second
}
だけど・・・Arduino(アルディーノ)
ちょっと価格が高めです。
一つの回路を作るのに、おいそれとArduino(アルディーノ)を買うのは
ためらいます。
ですが
④Arduino(アルディーノ)はオープンソース
Arduinoの全てはハードウェアの設計からArduino IDEまで、あらゆるものがオープンソースです。
接続出来るモジュールが公式、非公式問わず売られています。
これを利用するためのソフトウェアは基本的にオープンソースで公開されています。
なので簡単に言うと
模造品やコピー品ではなく
Arduino(アルディーノ)の互換性のあるマイコンボードが
幾つか発売されています。
例えば
かなり Arduino(アルディーノ)に比べると価格は安く抑えられますが
使用するパソコンにドライバーをインストールしてからでないと
Arduino(アルディーノ)と同じように動作できないとか、
中国製なので、中国から送られるため3週間ほど時間がかかります・・・。
ちなみにぼくはMACで書き込んでいるので下記のリンクを利用してます。
4 Arduino(アルディーノ)を自分で作る
aitendoという秋葉原で女性の店員さんだけで!
やっているパーツ屋さんがあるのですが(通販もあります)
ここの互換機が
”びんぼうでいいの”というのですが(面白いネーミングです)
自分で作ることになります。
もともとのArduino(アルディーノ)には
ブートローダー書き込みの役割を果たしてもらうことになります。
ようは今後は互換機の書き込み機になるわけです。
緑の部分にAVRマイコン ATmega328Pなどを実装して書き込みます。
何も入ってないマイコン(AVRマイコン ATmega328P)に
これからArduino(アルディーノ)として働いてもらうために
ブートローダーを書き込むわけです。
書き込んで ”びんぼうでいいの” できました!
そしてArduino IDEからLEDを点滅させるプログラムを書き込んで
見事、Lチカも達成。これで
Arduino(アルディーノ)互換機として使うことができます。
互換機を安く購入、または自分で作ることで
マイコンボードを手に入れることができます。
だけど・・・
ちょっと大きいんですよね。
USB、AC電源そしてピンが付いているのはわかりやすいのですが
基盤そのものなので、
左にあるPICとは違って
キットの中に組み入れるのは難があります。
なので、このようなジオラマの台座の下や
キットに付属している台座の中に収めることで利用することが
前提になります。
その方がプログラムや配線を修正しやすいかもしれないですね。
しかし・・・ヤマトもメカゴジラもアップにすると
仕上がりはいかんな・・・。
また回路を組む時には
右のようなブレッドボードを利用します。
半田付けをしなくても部品やコードをさすだけで使えるので利点はありますが
やはりかさばります。
5 小さく回路を作るにはやはりPICか
プラモの本体に入れて、少しでも回路も小さくしようと考えると
現段階ではPICは勝っているかもしれません。
Arduino(アルディーノ)とその互換機にも
nano、microと呼ばれる小さなものもあります。
PICもまた
書き込むためには写真のようなPICKitというUSBで
パソコンからの書き込んだプログラムの内容をPICマイコンに移す装置が
必要です。
このようにパソコンからUSBで接続してPICKitw経由して
PICにプログラムが書き込まれていきます。
が
①プログラムを書き込むのが難しい
②ブレッドボードの回路も少し難解
ただArduino(アルディーノ)と使用している文法はほぼ同じです。
以上、長々と書きましたが
ぼくは Arduino(アルディーノ),
PIC両方とも用途に応じて使う予定です。
ただ、書きたいプログラムが書けないなど
まだまだ理解できていないところもあります。
今後も挑戦していきます。