一定期間更新がないため広告を表示しています
JUGEMテーマ:鉄道
「オニコン格闘記のその2」です。前回まではESP32がオニぽいというところまで分かってきました。今回はオニのESP32に2つの角であるロータリーエンコーダをどのように退治したかについて語りたいと思います。
ロータリーエンコーダについては以前にYaasanさまのUSBスロットルのスケッチを改良したことがあるのでこれを転用すれば楽勝と踏んでいたのですが、色々と調べていくうちに、開発環境が同じようなarduinoIDEといってもATMEL系のマイコンとESP32とではどうもソフトの細かいレベルでみてゆくと別物らしく、USBスロットルのスケッチを転用できないことがわかってきました。つまり全てが1から作りこむ必要があるということになります。これはオニだ!絶望しました。。。
1度はESP32のオニのこん棒に叩かれて死にましたが、めげずに"ESP32” と”ロータリーエンコーダ”のワードでネットを彷徨っていると、なにやらESP32にはパルスカウンタというものが実装されておりESP32独自の方法になりますが、なんか使えそうな感じであることがわかりました。
以下参考にさせていただいた記事になります
ESP-WROOM-32のパルスカウンタの使い方(arduino)
https://qiita.com/wanko_in_lunch/items/a508d8da78961c855d7f
一見すると難しそうな処理をいくつもやってそうなコードですが、複数のユニットで使い分けもできそうなので、最適と思いオニコンの2つの角であるロータリーエンコーダに合うようにコードを改造して、クルクルと回してみるとそれなりの動作をする事が確認できました。
まずはオニの角までは退治できました。
鬼ヶ島での格闘はまだまだ続きます。
JUGEMテーマ:鉄道模型
コツコツと機能と作りこんできた「Smile Wifi Throttle」の機能の概要についてです。
成り行きで機能を追加してきていますので、これが最終形ではありませんが、現時点で動かせる機能は下記になります。
システムの概要:
運転用スロットル機能と、各設定/管理用のWeb画面の2つの機能を使い分けて拡張性を考慮した構成。
Wifi Throttle単体でDsAirに接続しコントローラとして機能する。
機能の概要:
1.装備している2スロットルを各々個別で車両を制御できる。
2.Web設定画面から1スロットルあたり5車両(2スロットル合わせて10車両)のDCCアドレスの登録ができる。
3.Web設定画面からスロットルの1ノッツチ当たりの速度変化量の増減(1−40)を変更することができる。
4.装備している10Keyの機能割り付けを可変にしてファンクションキーを”F0〜F39””まで操作可能。
5.装備している10Keyの機能割り付けを可変にしてポイント(DCC Accessory)を”1 - 2044”(実質無制限)まで
操作可能。割り付けの切替設定はWeb設定画面で行う。
6.Web設定画面からDsAir接続のための認証設定/変更を行う。
賛否はありますが、2スロットル装備しているので2列車を相手に運転することができます。ですが現状使用を想定していたボタンが諸事情で使えないため、生きているボタンを使いまわす必要に追われ、長押ししたり、2つのボタンの同時押しなど無理やりな割り振なのと、機能も可能な限り搭載したので操作が複雑になりかなり使いずらいものになっています。
機能満載にしてしまった弊害なのか、ボタン位置のアレンジにセンスがなためか、ボタン操作がかなりアクロバテックなので今ある機能をフルに動かそうとすると相当な熟練を要するコントローラとなっています。
◇オープンサウンド化したDD13とC58のサウンドの競演を綺麗にきめたいところだったのですがコントローラの操作の複雑さに
翻弄されています...
自分で作っておきながら思うのもなんなのですが、慣れないと操作が難しいです。ボタン配置やスイッチ類、機能の見直しを行ってシンプルなものに原点回帰する方が吉なのかもしれません。。
JUGEMテーマ:鉄道
オニコンこと「WifiThrottle」格闘記です。
前回はオニが突然降りてきたところまでのお話でした。ここからは格闘編です。
MECY的にオニコンと名付けた理由ですが、取っ掛かりの印象が次の状況だったためです。まず明確なハードの仕様がなかったことがあります。降りてきた時はもう出来上がっている現物とサポート基板の回路図とベースボードに関連する頼りないネット上の情報だけというもので、完全にお任な状態。。出だしからオニだなと思いました。そのため降りてきた直後は完全にお手上げ状態でした。しばらく放心状態でしたが、そのままでは何も進まないので気を取り直してまずは自分なりに調査を始めました。
何はともあれベースボードの実体を知らないと話が始まらないのでしばしネットをさまよい製造元?販売元?と思われるサイトを発見しました。
http://www.lilygo.cn/down_view.aspx?TypeId=11&Id=83&Fid=t14:11:14
但しここから分かったのは大雑把なボードの仕様とPINの並びとMade in中華らしいということだけ。オイオイこれだけかよ。。少し目まいを感じつつ、慣れない英文を眺めているとESP32 のキーワードがありました。ESP32?さてこれはなんでしょう?ということで次はESP32を調べてみました。ESP32をキーワード検索すると沢山出てきました。
まずはWikipedia でESP32をみてみると
ーーーーーーーーーーーーーーーーーーーーー
ESP32シリーズは Wi-FiとBluetoothを内蔵する低コスト、低消費電力なSoCのマイクロコントローラである。 TensilicaのXtensa LX6マイクロプロセッサを採用しデュアルコアとシングルコア版のバリエーションがある。 ESP32は上海に拠点を置くEspressif Systemsが開発をしTSMCの40nm工程で製造・・
ーーーーーーーーーーーーーーーーーーーーー
メインボードに載かっていると思われるマイコンについてある程度具体的な情報を得ることができました。
◇高性能な?マイコンを搭載したメインボード
スペックをざ〜とみると32ビットのディアルマイコンで240 MHz動作可で wifi Bluetooth対応で・・なんか凄い高性能。
ソフトの開発環境もArduino IDEのオプションらしい「Arduino IDE with the ESP32 Arduino Core」が利用できるみたいです。この時点では少しやる気が出ていました。この先、中華マイコンのオニの洗礼と苦行の連続に打ちのめされることになるのですが・・
(C) 2024 ブログ JUGEM Some Rights Reserved.