次は使用するマイコンの選定と、通信方式まわりについて。
大まかな選定条件としては以下の通り。
- 入手が容易なこと(秋月電子通商などでネットでも気軽に買えるのが望ましい)
- 安価なこと(数百円くらいで1個から買えるのが望ましい)
- 情報が多いこと(ネットで仕様/サンプルなどが容易に見れること)
- なにぶん専門外なもので。。。
- 開発が容易なこと(これ一番重要)
- ソースコードは少なくともC言語で書きたいので、Arduino互換であることを必須とする
- 容量や速度はまだわからないので一旦条件からは除外
- ただPWMは数十kHzくらいまで試したいかも
- 通信方式をいろいろ試してみたいので、なるべく多くの方式に対応しているものが望ましい
- 有線(UART、SPI、…)
- 無線(LAN、Bluetooth、…)→後回しでもよい
◆使用するマイコンの候補
- ATMEGA328
- Arduino UNOで使われており、当然全ての条件を満たす
- 少なくとも開発初期では絶対にお世話になるであろう
- ATMEGA168/88
- ATMEGA328の容量を少なくしたもの(と理解している)
- 若干値段が安いくらいだが、それほど変わらないので使うことはなさそう…
- ESP-WROOM-32
- Arduino互換な上にWifiもBluetoothも対応
- 値段はATMEGA328の2倍だがその価値はある
- 有線で動くようになったら無線に挑戦したい
- 線路からノイズがガンガン入ってくるはずだが、安定して通信できるだろうか?
- ノイズの影響が大きいようなら、アンテナ部を外に出すこともできるようだ…
- (参考)RaspberryPi
- マイコンでなくシングルボードコンピュータですが、、、
- なんでもできるけど、今のところオーバースペックかなと考えている…
- 大量のArduinoからの信号を集約して、ブラウザで全情報を見れる&操れるようにするなど等
どうも、制御することばかりで、人間側にどのように情報を見せるか&操れるようにするか考えてなかったな。。。
ここらで全体像をシステム構成図にでも整理すべきだな。。。
なるほど現状よくわかりました。