(仮)釣りと電子工作 電子工作 忍者ブログ
趣味の電子工作と釣りについて。電子工作は、おもに変換器作成。釣りはおもにトラウトの管釣り。
[1] [2] [3] [4] [5]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2020年頃に中古で購入したiPhoneSE1(初代16GB)のストレージが足らなくなってきたので、3年ぶりに新しい機種へ変更。その機種の名は Pixel3 。2020年に2016年製造のiPhoneSEを手に入れたので、4年落ちローエンドスマホから5年落ちハイエンドスマホへの機種変なので、快適性大幅アップ!!

選定理由としては、

・USBメモリを使いなら充電(OTG充電)ができること。
・お財布ケータイが使えること。
・Qi充電が使えること。
・Windowsでアプリ開発が体験できること。
・あまり重くないこと

であるが、Pixel3かPixel5ぐらいしか候補が無かったりする。
Pixel5は中古で安くないし、今更買うのもなんだかな。。。
Pixel6やPixel7は重いし高いし、QiをあきらめてPixel6aという手もあるが年末より値上げしているので何か損な気が。。。で、結局Pixel3を選択。ジャンクじゃないのでそれなりの値段がしたが、やむを得ない。

で、なぜOTG充電が大事と考えているか、というと、これをドラレコにして動画をUSBメモリに記録しようと考えているから。まあカメラで録画してUSBメモリへ書き出す程度なら、Android Studioでちゃちゃっと作れそうな気がするし。。。
ちなみにUSB Type-C OTG対応HUBとしては、Amazonで売っているLUONOCAN type-c usbハブってやつ↓を買ったが、何ら問題なく充電しながらUSBメモリが使えた。



本当のところはルートアール RUA-OTGTPU1が欲しかったがAmazonで売ってないのであきらめて似たの↑を購入。

今回の購入にあたり、OTG充電対応スマホをいろいろ調べたので、その結果を備忘メモとして残しておこうと思う。


-----------------------------------------------------
下記の機種は使える可能性が高いと思われ。
・Youtube動画にてOK報告あり
Pixel6Pro
Octo4a

・Amazon中華USB-PD HUB充電対応機種
GalaxyS20
Pixel3/4/5

・ELECOM MPA-CAPDBK対応OK機種
Google Pixel 3a/4/4a/4XL/5/5a/6/6Pro/6a/7/7Pro
Galaxy S10/S10+/A51/A52/A53
Galaxy S20/S20+/S20 Ultra/S21/S21+/S22/S22 Ultra
Galaxy Z Flip/3/4 / Z Fold/2/3/4
Galaxy Note 10+/Note20 Ultra/M23
LG style2/3/V60/G8X/VELVET
Xperia 1 III/IV
Xperia 5 III/IV
TORQUE G04
Mi 10 Lite 5G
Rakuten BIG/BIG s
Redmi Note 11
HUAWEI P30 lite/Pro
Xiaomi 11T/11T PRO/12T PRO
ZTE a1/Axon 10 Pro 5G
Android One(S6/S8)
Libero 5G/5G II
GRATINA
BASIO4
-------------------------------------------------------
下記の機種は、まず使えないと思われ。
・Youtube動画にてNG報告あり
Honor9

・ELECOM MPA-CAPDBK対応NG機種
OPPO Find X2/3 Pro
OPPO A54/A55s/A73/A77/Reno3/3A/5A/7A
Galaxy A20/A21/A23/A30/A32/A41
AQUOS sense~7/zero~6/R5G/wish2
Xperia Ace / Ace II / Ace III
Xperia 1/1 II/5/5 II/8/8 Lite/10 II/10 III/10 IV
arrows We/U/Be/N/NX9/Be3/RX/A41/A22/R3/R6/R7
Rakuten Hand/Mini
Zenfone 9
TORQUE
BALMUDA Phone
Redmi Note 9T/10/10T
Nothing Phone
POCO F4 GT
LEITZ PHONE 1/2
razr
Android One(S7/S9/S10)
Libero III/S10
BASIO active
HTC Desire 22 pro
JA2-SMP0601
moto e32s/g32/g50/g52j
motorola edge 20/30 PRO



う~ん、日本メーカーはほぼ全滅、韓国および中華製ハイエンドスマホのごく一部が対応している、って感じかな?





PR
最近、園芸ばかりやっていたが、寒くなってきたこともあり、電子工作なガジェット作りを再開することにした。とりあえず、作るものは、車用の外付けメーターのようなもの。AmazonとかでもOBDメーターとかいろいろ売っているが、まああんな感じなもの。以前S14に乗っていたときにはトラストのインフォメーターを付けていたが、それよりもイケてるものにしたいかな。

まずは、調査として、次のような素材を入手した。

・CPU:STM32F103C8T6 (互換品)
・LCD:ILI9341コンパチ、SPI接続

車との通信はCANを使用する予定。レーシングメーターにならい、レスポンス重視でOBD-IIにはしない予定。使用中のフルコンがCAN対応(Link G4X)なので、それにあわせる予定。

開発環境はArduinoにする予定。STM32Cubeが標準開発環境らしいが、使ったことないもので、いきなり高難度のものを作るのは厳しい。

さて、Arduino開発環境のコアとライブラリを選ぶ。
コアの選択肢は
①mapleコア (別名Arduino STMコア、roger'sコア、rogerclarkmelbourne)
②STMコア(別名Arduino Core STM、stmduinoコア)

・・・ややこしい。。。
①は/users/ユーザー/Arduino/hardwareディレクトリの下にGitから取ってきたArduino_STM32-masterを解凍して環境を作る。コンパイラは含まれていないので、Arduino SAM boards ( 32-bits ARM Cortex-M3 ) という別のコアも入れる(コンパイラのみ使う)。

②は環境設定でボードマネージャのURLにstm32duinoのリンクを追加して、ボードマネージャを使ってインストールする。ネットには古いURLが書いてあるサイトが非常に多いので、注意が必要。2021年12月時点では、こちら↓が最新の模様。
ttps://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

こちら↓は古いので、絶対に使ってはならない。ネットの情報だと、こっちが一般的になっているみたい。。。
https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json

どっちがいいかわからなかったので、両方試すことにした(なった)。

次、ライブラリの選択肢としては、
1⃣ Adafruit_ILI9341
2⃣ Adafruit_ILI9341_STM
3⃣ TFT_eSPI

などがある。実際は、もっといろいろ試したが、まともに動いたのが、この3つ。てか、サンプルを動かそうと思っても、ほとんどのライブラリは一筋縄ではいかない。

まず、コア①と②の違いだが、

①mapleコア
 情報が多い、コンパイルが非常に速い(STMコアの1/4ぐらいの時間)、対応機能は少なめ
②STMコア
 情報少な目、コンパイル劇遅、対応機能は多い

ということで、機能さえ許せば①mapleコアがいいが、今回はSTMコアを選ぶことにした。その理由は、①はCAN通信に対応していないから。一応、phonoっていう人がCANのライブラリを出している。が、5時間ぐらいがんばった結果、まったく動作しなかった。。。。

次、ライブラリの選択肢だが、これはパフォーマンス重視で選びたいところ。こういうライブラリには、たいていgraphictestというベンチマークプログラムが付いてくるので、これで測定してみた。尚、SPI2で接続しているので、SPI1の60~70%の性能しか出ていない模様。

コア STM STM STM maple STM
ライブラリ Adafruit_ili9341 Adafruit_ili9341 Adafruit_ili9341
_STM※
Adafruit_ili9341
_STM
TFT_eSPI
SPI設定 software hardware hardware hardware default
Screen fill 20,977,419 4,038,734 607,443 341,501 509,483
Text 1,001,104 232,005 391,305 56,788 102,278
Lines 9,416,033 2,105,339 2,373,464 295,436 622,156
Horiz/Vert Lines 1,694,722 336,677 71,240 29,874 56,786
Rectangles (outline) 1,071,852 213,486 62,720 20,294 37,433
Rectangles (filled) 41,494,480 8,383,502 1,266,324 709,570 1,048,175
Circles (filled) 4,737,970 994,918 901,059 144,201 284,465
Circles (outline) 4,102,111 928,387 1,854,738 245,911 230,202
Triangles (outline) 2,154,609 478,946 560,409 66,245 144,875
Triangles (filled) 13,950,920 2,751,883 980,072 277,898 496,978
Rounded rects (outline) 2,012,161 425,180 585,568 87,019 107,493
Rounded rects (filled) 43,203,450 8,346,793 1,493,471 724,952 1,139,529
※ag88版

maple(roger's)コアがぶっちぎりの高速なのだが、CANが使えないことが惜しすぎる。。。






基板設計だが、7年ほど前まで永らくPCBEというエディターを使っていた。配布しない個人的な物なんかはEAGLEを使うこともあったかな?そのとき見つけたのが、Designspark PCB(以下DSPCB)とKiCadで、当時はKiCadはLinux用がメインでありWindows上での動作に難があったように記憶している。ということで、DSPCBを選んだ。ただ、こいつが、ものすごく使いにくく、なんでEagleのようにできないんだ、ってブツブツ言いながら使ってきた。よくDSPCBはクソだっていう人がいるが、まあ自分もかなりそう思ってきた。

ということで、今月からKiCadを使い始めることにした。あれだけトラ技で取り上げられてるんだから、悪いものではないだろう。

ということで、いろいろ比較してみた。

・インストールパッケージのサイズ
 DSPCB 86MB、 KiCad  1.1GB
 →DSPCBの圧勝

・雰囲気
DSPCB:プロが開発した、いまいちなツール
KiCad:素人が開発した、なかなかよくできたツール
→甲乙付け難い

・機能
→圧倒的にDSPCBの方が多い

・慣れていない状態での使いやすさ
→KiCadの方が圧倒的に使いやすい。これは、機能が少ないことが多分に影響している。
 DSPCBには、「これなんだ?どう設定したらいいんだ?」みたいなパラメータが大量に
ある。

・慣れた状態での使いやすさ
→標準添付のライブラリを使う:KiCadが上。
 標準添付のライブラリを使わない:大差なし。

・結論
 大差なし。好きな方、馴れている方を使うべし。
 初めての場合、とりあえずちょっとした回路が書ければいいや、であればKiCadを薦める。  ガチで本格的な回路を描きたいのであれば、DSPCBがいいかも。機能が違いすぎる。ただKiCadはファイルが全てテキスト形式であるため、自分でプログラム書いて変換できるような超々上級者には逆にKiCadがお薦めかも。ティアドロップとかできるし。


今回KiCadと比較するために、DSPCBver9を使ってみたが、DSPCBver9ではなんとデフォルトで標準ライブラリが無効化されていた。代わりにPCB Library Loaderを使ってオンラインから入手しろ、となっていた。(標準ライブラリも使おうと思えば有効化できる)

実は、これ、正解だと強く思う。DSPCBはクソだが、そのクソな原因は、標準のライブラリにあるからだ。標準のライブラリって、おそらくいろんなところのデーターをコンバートしたような適当なものが多く、回路図を書くときに、とにかく直線でつながらない。ガタガタになり、大小スケールの異なるパーツの入り乱れた、アンバランスな回路図になってしまうのだった。。。
一応、PCB Library Loader経由でダウンロードしたものを使ってみたが、こちらは、まあまあな感じだった。ただ、ときどき、とんでもないクソが混じっているので、過信は禁物。例えばPIC16F84AのDIP版はPIC16F84A-04/PとPIC16F84A-20/Pがあるが、PIC16F84A-20/Pのフットプリント(↓)なんて、悲惨だ。。。

  

このPICは肩幅300mil(7.62mm)だが、こいつ(↑)は6.5mmほどしかない。
絶対刺さらんぞな、おぬし、もしかしてーもしかするぞな。

秋葉原に行くとき、ちょっと足を延ばしてaitendoまで歩いていくのが決まりだった。徒歩で7~8分はかかるが、そこにしかないものがあるので、けっこう足繁く通ったものだった。

aitendoは電子工作愛好家のオアシスみたいなもので、平日の夜など変な時間に行っても、それなりに客がいっぱい入っている店だった。aitendoでウィンドウショッピングする人なんているわけがなく、みんなWebで調べてこれが欲しいなど目的意識をもって店に来ているようだ。

しかし、ちょっと前に店舗の棚の配置をリニューアルしてから、どうも様子が変だ。常に20人以上いた客が7~8人にまで減っている。確かに棚が減っているので、置いてあるものは減っているのかもしれないが、そのときは理由がわからなかった。

今日、仕事帰りに、aitendoに寄った。主目的は、ラテパンダにRTC用のバッテリーを付けるための部品の購入であった。これ、amazonでもコネクターのところが売ってないんだなぁ。(digikeyなら売ってる)

まずは、バッテリーから。


 
ボタン電池withケーブル [CR2032-1MM2P] ¥150

あった。これ、昔、若松に置いてあったような気がするが、今秋葉原で置いているのはaitendoだけかもしれない。ネットで在庫数140なので、あって当然だな。1.25mmピッチなので、コネクターの入手が難しい。

次、コネクター。


基板コネクタベース付ポスト(1.25) [53261]、これの2極のやつ。¥10
モレックス社53261シリーズ互換(パチ物)です。本物はdigikeyで。\100円くらいするけど。

在庫は15個か。。。まあ大丈夫だろうなぁ。。。って、あれ?どこにもないぞ?
あ、倉庫か棚の上の段ボールの中にあって、言ったら出してくれるやつかな?

と思って聞いたところ、チャイナっ子(多分)から

「そのシリーズは店には置いていません」

なんと。。。それなら店舗在庫無しとか通販専用とか、書いとけよ。。。。

俺の横にいたおっさんも、いろいろ聞いていて、同じくチャイナっ子(多分)から

「出ているのが全てです」

って言われてやんの~(笑)

。。。。。。。

えと、あれだな、aitendoは通販専用ってことだな。在庫有りでも本当に店舗に
置いてあるかどうかはまったく不明ってことなので、店に行く意味がない。

今日が、aitendoに立ち寄る最後の日になるとは、思いもしなかった。
(俺の横のおっさんも多分おなじ)
こうして、どんどん客が離れていってるんだなぁ。。。。。

客離れといえば、埼玉にある本庄サーキットもかなりヤヴァい。今年度でドリフト走行禁止に
なることが決まったので、来年度からは集客は半分?それ以下?になると思われ。
これは全国各地にあるサーキットの末期状態でよくみられる現象(赤色巨星みたいなもの)
なので、残念ながら、本庄サーキットは、長くはない。
いつものように、メガソーラになっちゃうんだろうなぁ。。。。










USBキーボード作成までは順調に進んだが、それ以降はイバラの道であった。解決しても解決しても、次から次へと問題が沸いてきた。さしづめ開発元のDFRobotから送られてきた刺客とでもいうべきか。

【壱の刺客】ときどきUSBキーボードが消える
arduinoの起動がWindowsよりも早すぎるのが原因みたい。arduinoの起動でディレイを入れまくる方法もあるが、Windowsリブートだと対応できない(Windowsが落ちていてもarduinoは普通に動いている)ので、Windowsが起動したタイミングでarduinoに仮想COM経由でメッセージを投げて、メッセージを受け取ったarduinoは自分を再起動するようにした。

【弐の刺客】ブートローダーが頻繁に破壊される。
PICのHID bootloaderも1/256程度の確率で壊れたがarduinoの場合は20%~100%の確率で壊れる。アプリによって確率は異なるようだ(四の刺客参照)。PICのようにbootブロックをプロテクトする方法が使えればいいのであるが、調べた限り、arduinoではこの手は使えない。でも心配ご無用。壊れたのならまた書き込めばいい。このためのツールであるAVRライターであるが、秋月だと10000円以上するのでaitendoで買ってきた。500円程度でも売っているが、どうも怪しいので1500円のやつにした。言うまでもないがAVRライターは必需品である、

【三の刺客】AVRライターのドライバーがインストールできない
署名がないドライバーはインストールできないようだ。Windows10をテストモードにして、ブートメニューから署名なしドライバーを利用可能にした。画面の右下にテストモードと表示されるのは気にはなるが。。。

【四の刺客】arduinoをリブートするためWatchDogTimerを使ったところ、ブートローダーが氏ぬ?
おそらくだけど、ブートローダーは消えてもいないし、氏んでもいない。ではなぜブートローダーとして機能できないかというと、WDTが書き換え途中のarduinoをリブートしてしまうから、と思うのである。これは、WDTをリブート処理直前で有効にすればOK。WDTを本来の目的で使うことはarduinoでは禁忌ということになる。気を付けるべし。

【伍の刺客】COMポートがコロコロ変わるのでarduinoにリブート用コマンドを送れない。
これの動きは、はっきりしている。
COM3がある・・・・アプリのUSB周りの起動にプチ失敗している。arduinoをリブートする必要がある。完全に失敗したときはCOM3すら無い(COM1のみになる)。こうなってはAVRライタしか手はない。
COM4がある・・・・アプリが正しく立ち上がろうとしている状態
COM5がある・・・・アプリが正しく立ち上がっている。arduinoのリブートの必要は無い。
つまり、COM3に対してリブート用のコマンドを送ればいい。もし無ければarduinoはコマンドを受け取れないが、そもそもそのときは受け取る必要がない。

【六の刺客】D12をdigitalのインプットとして使えない
これは結局原因不明。チップが壊れていたり基板が壊れている可能性もゼロではないが、まあ仕様だろうと思うことにして、A0ポートをデジタル入力設定にして使うことにした。

【七の刺客】A0がデジタル入力として機能しない
まずはこの絵を見て、A0はD18として使えることを知る。アナログをデジタルに切り替えるなんか命令があるかと思ったが、通常と変わらずデジタルインプットとして設定すればいいらしい。






さーてと、D18と結線したスイッチを押したら。。。。何も起きない!なんだこれ?使えねーぞ!!

さらに調べると、D18は嘘でしたD14でした、というような記載を見つけた。むむむ!



さくさくっと18から14に書き換えて、さ~て、解決。。。。と思いきや、動かん!!なんじゃこりゃ!?

さらに調べると、アナログはデジタル化してもA0とかで指定できることがわかった。なので、ダメ元で、次のように試してみた。

pinMode( A0, INPUT )
digitalRead( A0 )

たぶんダメだろうなぁ、と思ったが、ビルドはでき、書き込みもできた。でも動かないだろうなぁ。。。。あれ?動いた。。。なんだかなぁ。。。解決!










カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
リンク
最新TB
バーコード
ブログ内検索
カウンター
Powered by ニンジャブログ  Designed by 穂高
Copyright © (仮)釣りと電子工作 All Rights Reserved
忍者ブログ / [PR]