FC2ブログ

いきもの憑りのお話ーー80(続✕6・名前の秘密「てんとう(〇十)」)

susa

いきもの憑りのお話ーー80(続✕6・名前の秘密「てんとう(〇十)」)

 後半部分のマイコンの話は、読まなくてもいいです。
 逆に、後半部のマイコンの話だけを読んでくれても構いません。

 2015年の秋の終わりのことだったと思います。
 山の中の畑で作業を終えて、「さて、帰るかな……」と思って、車に乗り込もうとしたら、ドアの縁の所に、「てんとう虫」がビッシリと入り込んでいて、仰天するということがありました。
(てんとう虫は、越冬するため、暖かい場所に潜り込む性質を持っている。山の中のに置かれている自動車は、自然界の物質よりも明らかに熱が籠りやすいため、てんとう虫からみたら、格好の「越冬場所」に見えたのでしょう)

 2014年(2013年の暮れから)、私を混乱のるつぼの中に引きずり込んだものは、モニターの電源のON/OFF=LEDの「点灯」でした。
 これがきっかけとなって、霊現象(神憑り)の「本番」が幕を上げました。

 2016年前半、私を振り回したものは、「太陽さん(お天道様)」でした。

 2016年後半、私はある物を制作したくて「マイコン」の世界に足を踏み入れたのですが、マイコンの世界で一番の基本となるのは通称「Lチカ」と呼ばれる、LEDを「点灯」させることでした。
(この辺りで、どうやら「てんとう」がキーワードとして成立していることに気が付きました)。

 そして。
 2019年。
 何故か無性にホタルを見に行きたくなって、18日の晩に出かけていったのですが……
「ホタル」といえば、もう、誰がなんと言おうとも、「点灯(ひかる)」
なのです。

 う〜ん。
 これって、一体、なんなんだろう?
 ってか、「てんとう」って、数字に置き換えると「〇十」なんですよ。

〜〜ここから後半〜〜

 そんなホタル(点灯)と並行するように、今まで投げていた種類のマイコンに挑んでいたのですが。
 昨日、ネット上の資料を頼りに、なんとか自力でプログラムを組んで、「Lチカ」させることに成功しました。(こっちも「点灯」)
 STM32F030F4P6という、ほとんど誰も見向きもしないマイナーなマイコンなんですが、マイコンを始めた時、一番最初に「本命はこれだ」って思っていたのがこのシリーズでした。コストパフォーマンスは非常に優れているんです。ただ、マニアな人達は、STM32シリーズだともっと高性能な上位機種を使っていて、『極限まで小さいものが好き』みたいなマニアックな方々は、もっとチープなマイコンを使い、一番層の多い「入門者」は、ユーザーにとても優しいArduinoという開発システムに対応しているマイコン(一部STMも対応しているのだけれど、基本的には「会社が違う」)に走って、そこが十分満足してしまっているので、他のマイコンに移らない……。さらに、職業でマイコンをいじっている人は、日立やNECや三菱のマイコンの後継であるルネサスの商品を使う。昔からのマニアは、伝統あるPICなる種類のマイコンを好んで使う傾向が強い……

 ただ……
 STM32というのは、やたら沢山、開発環境が沢山あるんですね。
 そのくせ、「コレが決定版」と言えるようなやつが、見当たら無いんです。
 みんな一長一短、もしくは、「こんな出来損ない、説明書もなしに使えるわけねぇだろ」ってやつ。

 しかも、メーカーの都合ってやつで、その多くが現在は「使用不可能」な状態に成ってしまっている。入手不可能になっちゃったものもあるっぽい。
 おまけに、昔はそこそこの量があったであろう資料も、サイトの閉鎖とかで見つけることができなくなってしまっている。
 なんとか動きそうだと思ったやつも、個人サイトの閉鎖なんかで、サンプルプログラムが全く見つからない。
 先日は上記のArduinoがついにSTM32F030F4P6にも対応したという情報を得て、試してみたけれど、出来上がったプログラムが正常に機能してくれなかった(ゴミめ!!)。
 STM社が決定版ともいえる開発環境を発表していたらしく、それを試して見ようとしたら、表示されたのは「インテルのCPUには対応していません(舐めとんのか)」

 結局、EmBitzという開発環境にたどり着き、昔集めた資料なんかとにらめっこしながら、なんとか
LEDを点灯させるプログラムを作るところまではやりました。
 ただ。
 私の実力的に、その先へ進むのはかなりしんどいかなって感じ。
 参考になるサイトなんかがあれば良いんだけど、なかなか見つからない。
 ってか、日本人(日本語の資料)が全然見当たらない。

 ただ、この数日の間に思い出したことがあって。

 STM32って、ハードウェアとしてはとっても簡単で、第一印象は「なんだ。マイコンなんて楽勝じゃん」みたいな感じだったんだと思うんです。
 ホント、基本は「繋ぐだけ」。

 世の中には、「コンデンサーが無いとプログラムが起動しない」、みたいな初心者殺しの仕様のマイコンがあるから。

 それから考えると、STM32は凄く素直。
 だけど、プログラムを作るのが異様に難しい。

 ってか。
 マイコンに手を出すと決めた時、通販サイトで色々と見比べながら、大本命として考えていたのがSTM32F103シリーズ(開発ボード)と、STM32F030シリーズ(マイコン単体)でした。
 同じ価格帯のマイコン(マイコンボード)の中では、ずば抜けて性能が高かったからです。
 ただ、実物に触ってみて、お値段もそれなりに高いってのと、もうすこし小さくて性能が抑えめでも十分だと判断したのです。F103だとarduinoに対応しているのに、F030が全く使い物にならなかった、というのも衝撃でした。ガンダムは作ったものの、その後のGMの開発で大失敗してしまった地球連邦軍、みたいな気持ちです。(STM32F103は大人気商品なので、F030の事は忘れ、F103のみを追いかけて突き進んでいっていたなら、その後の展開は随分違っていたでしょう。なにしろ、私がマイコンに手を出した時点でarduinoでプログラミング可能でしたし、スタンドアロンなF103をモニターに接続して、BASICでプログラミングをする、なんてことも広まりましたから。だけど、当時のF030は、本当に、何にも出来ませんでした。というか、全くと言っていいほど普及していませんでした)。

 ということで、「これは高コスト過ぎる」という理由でSTM32に見切りをつけた私は、次に、「arduino」そのものに移行しました。STM32F103で覚えたことが、ほぼそのまま活かせるからです。で、1つ120円前後のdijispark(
デジスパーク)という、極端に小さい商品を中心に使っていました。そこそこ遊べるマイコンだったのですが、作りが甘いのか、私の扱い方が過酷だったのか、やたら壊れるマイコンでした。
 あと、ピンの数が合計で8つしかないので、本当に簡単な事にしか使えない感じでした。
(それでも、温度を調べて数字をモニターに表示する、ぐらいのことはやりました)
 ですが、このデジスパークは、壊れるとか壊れないとか以前に、Arduinoだとタイマー周りに深刻な不具合があって、電力消費を抑える際の定番である「マイコンを休眠モードにする」ってテクニックが使えないようなんですね。一度眠ったが最後、自力では二度と目覚めなくなってしまう。
 私は、乾電池2つぐらいで何週間も動き続ける物を求めていたので、この欠点がものすごいネックとなりました。

(arduinoの他のマイコンに移行する事も考えたけど、やはり、そちらも壊れる事が多かったです。ということで、arduinoから離れることにした。今考えると、arduinoは大人気なので、本当は販売してはならないような品質の悪い廃棄されるようなロットが、格安価格で業者に卸され、私はそれを掴まされていた、なんて話しだったのかもしれません)

 このarduinoと入れ違うような形で私の中で台頭したのがSTM8S103というボードでした。
 とにかく安価で、そこそこ使えそうだったのです。
 すぐ使える半完成品のボードが1つ90円ぐらい。マイコンのみだと1つ30円程度。
 安い!!
 だけど、ピンの数は20個もあって、
デジスパークより、明らかに使いみちが広い。
 おまけに、STM8S103には廉価版のSTM8S003というのがあって、これだと1つ23円ぐらい
(※103と003は、基本性能は同じだけれど、003はプログラムやフラッシュメモリの書き換え可能回数がふた桁少ない、という事になっているので、開発時や使い捨てに近い製品を作る際に003を使い、何年間か使用する事が前提の製品版としては103を使う、みたいな感じで使い分けるらしい。ついでにいうと、保証期間後に壊れる分には、買い替えてくれるので、むしろ大歓迎っていう、ソニータイマー的な考え方に立つならば、基本性能に差がないこの二つ2つのマイコンを使い分ける事には大いに意義がある)。
 STM8は、21世紀になってから設計された新しい思想に基づいた8ビットマイコンで、工業的にも大成功していて資料も結構沢山ある(特に、中国、ロシアでの人気が高くて、中国は秘密主義なのか余り情報を表に出してくれないのだけれど、ロシア語圏のサイトだと惜しみなく情報を開示してくれる人が居て、とにかくそこの情報が高品質でものすごく勉強になった。逆に、日本では不人気。日本のメーカーはアメリカ企業、もしくは日本企業のマイコンを使う傾向が強いし、日本のマニアは高性能マイコンしか眼中にない感じ)。
 ただし、STM8はarduinoには対応していないので、開発環境を一から整え、プログラミングについても一から勉強しなければいけない。
(※現在のSTM8は、arduinoに対応した。しかし、プログラムの変換効率の悪さから、ちょっと複雑なプログラムを書くと、たちまちメモリが溢れるらしい)。

 というわけで、STM8という8ビットのマイコンに主軸を移して、そこでいろいろとやっていた(基板から自分で設計した完全自作のゲームボーイもどきを作って、そこでインベーダーゲームもどきを動かすところまでやった。そして、8KBのメモリーが、完全に枯渇したので、「このマイコンだと、これより複雑な物を作るのは無理なんだなぁ……」と悟った)。
 資料もそこそこ多くて、開発もフリーの環境でなんとか可能で、非常に居心地は良かったんですが。
 メモリーが更に大きな上位機種に乗り換えるのに手こずったのと。
 2018年の秋ごろから、あれよあれよという間に価格が3倍近く暴騰してしまったこと(それ以前は1つ30円しなかったのが、一気に120円ぐらいになった。多分、コストパフォーマンスが高いので多くの会社が、このSTM8を使って商品開発を進めていた所に、好景気の波が来て一部の半導体需要が逼迫した、その波が直撃したんだと思う。ちなみに、このSTM8S103は、トヨタ車のサイドミラーを駆動させる制御チップとかとして使用されている例があると何処かで読みました。直接私達の目に触れることが無いので意識しないだけで、とてもメジャーな製品らしいです)

 で。
 手持ちのSTM8S103/003がそろそろ枯渇してきたので、「次はどうしよう」となったのですが。
 STM32F030F4P6なら、30個ぐらいストックがあったのです。まだ、どのマイコンがベストなのか模索していた頃、勢いで買っちゃった奴。
(これは、1つ40円ぐらい。メモリは16KB。オマケに電力消費も少なくて高機能)

 こうなると、もう、STM32F030に手を出してみたくなるじゃないですか。
 マイコンのプログラミングも、そこそこ判ってきたし。

 ということで、手を出してみたんですよ。
 いろいろと紆余曲折はあったけど、EmBitzというやつでなんとかLチカまではこぎ着けました。ライブラリは一通り揃っているようなので、必死に勉強すれば、もっと複雑なものも作れるかもしれない。

 ちなみに、価格は全て、非常に安価な(しかし、如何わしい業者も紛れ込んでいる)Aliexpressにおける私の調達価格(時価)であり、今現在、他所で購入すると数倍の値段がついていると思います。

 あと、「日本人なんだからルネサスを使う、という選択肢は、今の所私にはない」です。愛国心云々じゃなくて、経済的な事情からです。
(マイコンは1つ数十円でも、それ以外の必要部品を買い集めると、結構な額になるし)

つづく

今回の記事は、修正を何度も入れたので、語尾が統一されていなかったり、文章的な繋がりに違和感を感じる箇所が通常にもまして多々あるかと思います。ごめんなさい。

スポンサーリンク

Posted bysusa

Comments 0

There are no comments yet.

Leave a reply