Arduino互換機 2枚目 [転載禁止](c)2ch.net
有名な互換機ってどんなのがある?
本家には無くて互換機の互換機が出ちゃうようなw 「互換機」ってどういう定義かなあ?
Arduino IDEからスケッチが書き込めるけどarduino.ccの商品じゃない物ってこと?
たくさんあって逆に絞れないなあ。
例えばESP系のボードは全部該当する。 AT互換機の頃も本家IBM/PCは殆ど売れてなかった、
DOS/V互換機に至ってはもう本家関係なくなってた
Macも互換機あったけどすぐに滅びた
ArduinoIDEの手軽さ、豊富なライブラリで数行書けばすぐ動くってのがウケてるんだろ
IDEといいながら宣言元にジャンプするような機能も無いほぼメモ帖
デバッグ用リリース用で構成切り替えるとかまったくできない、ボタン押せばコンパイルするというだけ
それに文字コード切り替も無いターミナルがついてるだけ
出来ることが少ないから迷うことも少ない
冷静に見ると決して良い開発環境では無いと思うんだがなんで長年支持されてるんだろう MariaMoleってパッと見は好みだけど、使った人いる?もう更新終わってるっぽいけど
https://dalpix.com/mariamole まあArduinoはド素人をターゲットにしているからIDEの機能は最低限、ライブラリ内には最大公約数的なおせっかいルーチンをできるだけ詰め込んである 初心者の心をわしづかみ
Arduinoまでこういうの無かったんだね。
メーカー謹製の機能てんこ盛りの糞でかいIDEをうん十万で買うか、
黒画面でテキストファイルと格闘するしかなかった。 ピカソの画を子供の落書きかよと馬鹿にするようなものだ!
ピカソは静物画もちゃんと書けるし、絵画の基礎も会得してる。
それをあえて、あのような誰でも描けるような子供のような画風で表現してるんだよ!
ArduinoIDEとはそういうことだ! 一部の高度なマニアックな人に支持されるより
大勢の人に広く受け入れられる物の方が、遥かに難しい! しかしArduinoのIDEは不便すぎるのも事実
とりあえず編集作業はVSCodeでやっているが、、、 基本シンプルでわかりやすいのはOKなんだけど
外部エディタ
外部シリアルターミナル
構成マネージャー
ボードマネージャー
ライブラリマネージャー
これらがプラグインで差し替え可能ならかなりの発展があったろうに
それが残念でならないよ あ?不満あるなら作れやオイ 感がスゴイね あのIDE 他のアプリでソース更新しても、なにもしてくれないしな
酷いもんだぜw 「ソースが更新されました」って通知はしてくれるよ
ソースフォルダに無いライブラリを更新した時クリーンナップやリビルドしたいと思ってもできない
-Fオプションで強制的に書き込めますとか出てくるけど、それ指定する箇所も無い
コンパイル時やアップロード時にSHIFTキー押してるとダイアログが出てきてオプション指定できるとか
その程度のものはあってもよかったんじゃないかと思う おまいら、なぜここで吠えてる?
場所間違えてるぞ。
https://forum.arduino.cc/ 「外部のエディタを使う」にチェックすればいんじゃないか それ
「内部エディタを無効にする」が正しい表現で、
外部エディタを起動してソースを開いたり、エラー箇所に飛ぶような機能は失われる せっかくエディタに指定行へ飛ぶオプションがあるのになぁ(´・ω・`) ぷろみにの互換機?
リセットボタンがシルバーで丸いのと、赤で細長いので先頭のシリアル部分のピンアサインが違っててハマったわ…
pcbつくっちゃったよ… 俺は延長ケーブルを作ってひっくり返して対応した
荒ぶるUSBケーブルに振り回される事も無くなった >>386
めちゃギリギリサイズのケースに詰め込むから諦めて正しい方の買い直したわ20個 アマゾンで買ったOSOYOOの互換機、
本物とほぼ同じシルク印刷で(良く見るとフォントがしょぼい)
ARDUINOのロゴとかWWW.ARDUINO.CCとかMADE IN ITARYとか書いてあるんだけど
中華製は何でもありだなw ALIでLGT8FのSSOP版を注文してみた
この値段なら単純な物の組み込みにも気兼ねなく使えるかなぁ
555でさえソケット使って隙あらば抜こうとする人間だけど UNO互換ってどういう意味で?
搭載マイコンのことを指すのか、例のあの形状のことを指すのか
(HAL有りで)全く同じスケッチが動かせるものを指すのか
本家UNOはATmega328Pを積んだ物のことを指し、UNO互換と名乗るならMCUは同じ328Pになるのでは・・・? シールドがそのまま乗っかるし
メモリが多ければいいので
値段的に安ければさらに好ましいけど >>396
ESP32は3.3Vだからシールドによってはそのまま乗らないゾ >>397
> 5 V系デバイス接続用に全入力に入力分割用抵抗パターンを配置
一応そこはやってるらしい >>398
それも含めてそのままって意味で書いた
手軽に差し替えできるのがシールドの利点だと思うし
抵抗半田付けするならそのままじゃないかなって 読み返したらなんか否定的な書き方になってしまった
自分がそう思っただけで>>398のような配慮のあるボード及びその記述を引用してくれた>>398を否定するわけではないです
ごめんよ なるほど抵抗半田付けですと
確かにそのままではないですね
シールドにはお手軽さを求めるので
半田付けはちょっと面倒ですね Aliexpressがどんどん送料高くなってしまって、arduino nano互換機もATmega328Pのは以前は送料込みで200円しなかったのに200円以内なのはもう見当たらない。
送料含めて一番安いnano相当互換機はLGT8F328Pあたり?(以前は送料含めて100円しなかったよね…)
STM32F103C8T6のもそこそこ安いよね。 >>402
しょうしき、足元を見る見始めたのだと思う STM32Fは安いね
自分は103C8T6と030F4P6を3枚ずつ持ってるけどまだ手が付けられてない
これもコンパチやリマークが結構あるらしいマーキングが明らかに違えば(STM32FじゃなくてCS32FとかCKS32F)わかるけどSTM32Fのまま中身が違うとわけわからなくなる 送料が上がったら「業者が消費者の足元をみてる」と考える人がいるんだね。自己中心の典型だな。 ATmega328のnano互換機は生産量減って入手難なってる感じだな
160円くらいのSTM32F103C8T6がほぼ性能4倍で圧倒的すぐる
生チップも90円くらいだし組み込みもほとんどSTMになってきてる 多分今は送料自体よりも、補償的な物で高くなってるんじゃないかな
重量よりも金額で送料が設定されてる感じがする STM32気になるけど、何かに組み込むにはでか過ぎてな…
nanoサイズでもでかくてSSOPのLGT8F買った LGT8F328P-SSOP20は全部がそうなのか分からないけど、パターンが曲線なのが気持ち悪いw
なんか手書き感がある esp-idfのi2cドライバはインストール後にアクセスするデバイスに合わせて周波数を変更する事、
ArduinoのWire.setClock相当の事は出来無いんですかね 値段安い
RAM大きい
クロック高速
国内店舗で買えるおまえらのおすすめ教えろくだちい 259 名前:不要不急の名無しさん[sage] 投稿日:2020/09/16(水) 13:35:31.72 ID:XdGKdrqv0
大阪さんの言動を否定的にみてる人ってのは悪人どころか逆に規律やルールを守る人だと思うけど >>415
高いって言われそうだけどオレ的にはTeensy 4.1が超おすすめ
無茶苦茶速い。Unoの100倍ぐらい。
今までGPIOのレジスタ直接叩くようなコーディングしてたのをdigitalWriteで書いても十分速い。
値段は海外で$30ぐらい、日本だとSwitch scienceで4177円。
https://www.switch-science.com/catalog/6377/
DigikeyやMouserだと今は品切れ再入荷待ち。
高いって言われそうだけど、この性能でこの価格なら満足。 >>417
値段はともかく、
色々入っててすごいなこれw
RAMも大きくて何も考えずにstring使えそう その価格帯だと 64bit デュアルコア AIプロセッサ のK210だな
ttps://www.switch-science.com/catalog/5707/
ArduinoもMicroPythonもどっちもいける
Arduinoに拘らなければRaspberry-piとかNano-pi系のがOS乗ってるし速くて開発も楽なんじゃね
手軽なマイコンということならESP32だろうね raspiのlinuxとかだと起動に時間がかかるし、ブッツリ電源落とすと壊れたりするし。
動かしぱなしなら関係ないけど arduino ideのボードマネージャでサードベンダーのjsonファイル指定するところ、複数追加できないのですかね?
esp32,esp8266,seeduinoなど同時に扱得ればいいかなと >>417
Teensy 4.0も併売されてるよ
Teensy 4.1よりピン数が少なくて、いろいろ対応してるものが少ないが
小さいのがいいって人には4.1より4.0の方がいい
価格も少し安い
https://www.switch-science.com/catalog/5877/
Teensy 4.0、Teensy 4.1はRaspberry Pi Zeroより速い Cortex-M7 600MHz x 2.14DMIPS/MHz = 1284DMIPS
BCM2835 1GHz x 1.25DMIPS/MHz = 1250DMIPS
処理能力はほぼ同じに思えるが… >>419
Maixduino、試しに買ってみて今使い始めたんだけど、
Arduino IDEだとライブラリのバグが放置されてたり、サンプルスケッチが動かなかったり、
全然使えない感じだったよ。
MaixPy IDEってやつを使えばいいのかな。 >>431
実際にDhrystone 2.1やってみた結果
Teensy 4.0の方が1.2倍くらい速い
Teensy 4.0の512KBの密結合メモリが効いてるのかも
実測値
Raspberry Pi Zero gcc version 8.3.0
Option -O3
Dhrystone値 2173913.0
Teensy 4.0 gcc version 7.2.1 Platform IO IDE
Option -O3
Dhrystone値 2690303.5 サンプルスケッチはMaixduinoじゃないほかのMaix用のも含まれてて
Maixduinoだと動かないのもある
特にWiFi関連はMaix Go用のサンプルスケッチでMaixduinoでは動かない
それはMaixduinoはSPIでESP32がつながれているが
Maix GoはシリアルでESP8285が接続されてるから動くわけないわな
Maixduinoは公式にはArduinoではWiFiは使えない
MaixduinoのオンボードのESP32はMaixduino専用版のWiFiNINAのファームウエアが書き込まれてるので
WiFiNINA用のライブラリを少し変更してやると
MaixduinoでWiFiがArduinoで使えるようになる
その場合、サンプルスケッチもWiFiNINA用のサンプルスケッチを使う
やり方はこの板のK210のスレに書かれてるよ >>434
Arduino15/packages/Maixduino/hardware/k210/0.3.11/libraries/Sipeed_OV2640/src/Sipeed_OV2640.cpp
のソースにお粗末な誤植があって、コンパイル時にエラー
× void Sipeed_OV2640::setRotaion(uint8_t rotation)
○ void Sipeed_OV2640::setRotation(uint8_t rotation)
これはいろいろググってわかったんだけど、去年から放置されてるっぽい。
これを直してコンパイルは通るようになったんだけど、依然としてカメラは動かず。
Arduino IDEはあきらめてMaixPy IDEにしたんだけど、
そっちはそっちで最新リリース版のファームウェア(0.3.2_full)だとIDEとボードがポート接続できず、
開発中バージョンのファームウェア(0.5.1_103)でやっと接続。
こっちだとカメラも動いて顔認識のサンプルも動いた。
ファームが原因だったのかと思ってArduino IDEに戻って再度試したけどそっちでは
依然としてカメラ動かず。という状態。
もこのボードでいろいろ開発する気にはなれないなあ。っていう第一印象になってしまった。
とりあえずK210のスレも見てみます。 LGT8F328Pは内部基準電圧1V2V4Vを設定出来るそうですが、この電圧をREFピン等から出力する事は出来るのでしょうか Maixduinoでカメラは普段使ってないけど、以前0.3.10や0.3.11ではダメで
0.3.9ならうまくいったことあるな 0.3.9と0.3.11のカメラのライブラリを比較したところ
Camera.h
79行目
virtual void setRotation(uint8_t rotation) = 0;
ここだけを中途半端にsetRotaionからsetRotationに修正してあってそれが原因でエラーが出てる模様
下記も修正するとうまくいく
Sipeed_OV2640.h
60行目
virtual void setRotaion(uint8_t rotation);
これを下記に修正
virtual void setRotation(uint8_t rotation);
Sipeed_OV2640.cpp
724行目
void Sipeed_OV2640::setRotaion(uint8_t rotation)
これを下記に修正
void Sipeed_OV2640::setRotation(uint8_t rotation) Maixduinoのカメラがarduino IDEで動かない問題ですが、いろいろググって答えが見つかりました。
camera snap fail
https://github.com/sipeed/Maixduino/issues/73
OV2640用のライブラリをGC0328のカメラ用のライブラリに差し替える必要があるようでした。
これで動くようになりました。 >>439
ありがとうございます。
それでコンパイルエラーは回避できるのですが、ちゃんと動くようにするには
>>440のURLに書いてあるライブラリの差替えが必要なようでした。 新しいのはカメラ変わってるのかな?
自分のは去年買ったやつなので>>439で動きましたが 新しいのが変わってるかどうかはよくわからないのですが、
ネット上の情報を見る限り、混在しているのは確かなようです。
セットで販売されているものでこんなはまり方をすると
この会社の製品はもう使いたくないなという印象を持ちました。 Maixduinoのカメラの違いでトラブっていた者です。
GC0328用にいろいろ書き直して物体認識のサンプルがかろうじて動くところまで行ったんですが、
認識結果が滅茶苦茶で、何が悪いのか切り分けが面倒だったので、
結局OV2640のカメラを買って付け替えました。
そしたら認識結果が多少はまともになったような気がする。 ああああ LGT8F328Pのnanoをおそらく5VピンとGNDのショートで破壊してしまった
USBコネクタからの給電を受け付けず、5Vピンに直接5Vを給電するとUSBも認識して普通に
使えるのですが、何処が飛んだのか… 基板のD10、D11近くのショットキーダイオード(S4, おそらく1N5819)がとんでる
https://www.shigezone.com/?product=nano-lgt8f328p
USBからの供給と外部からの電源供給を同時に行わないように注意するならこのダイオードはショートしておいても多分大丈夫 >>449
有り難う御座います 不通確認出来ました
普段使いは辞めて何かに組み込んでしまう事にします https://www.netlib.org/benchmark/whetstone.c
ここのwhetstone.cをある程度RAMのあるArduino互換機で動くようにして
Teensy 4.0で計測してみました
PlatformIOで下記オプションを指定
build_unflags = -Os
build_flags = -O3 -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16
500000回で計測
結果は1590.6 MIPS
Raspberry Pi Zeroでもgccで-O3のオプションを付けて計測してみた
200000回で計測
結果は1666.7 MIPS
Raspberry Pi4Bでも
2500000回で計測
結果は7575.8 MIPS
Teensy 4.0はRaspberry Pi Zero並みの浮動小数点演算性能あるね
Cortex-M7 600MHzすごいわ
Whetstone.cのArduino互換機用のソース(PlatformIO IDE用)
main.cpp
https://pastebin.com/AfdU9rbi
mylib.cpp
https://pastebin.com/LqFD9GBW
whetstone.c
https://pastebin.com/x6HFC051
使い方
ターミナル上で小文字の"s"キーを押すとスタートします
Teensy 4.0でビルドしてRAM、Flashの使用量はこんな感じなので
ある程度RAMのあるArduino互換機ではないと動作しないです
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [= ] 8.7% (used 45748 bytes from 524288 bytes)
Flash: [ ] 1.8% (used 37152 bytes from 2031616 bytes) ESP32 Dev Moduleでもwhetstoneの計測してみました
20000回計測
結果は60.4 MIPS Maixduinoでもwhetstoneの計測してみました
platformio.iniに下記のオプションを指定
build_unflags = -Os
build_flags = -O3
50000回計測
結果は78.9 MIPS
platformio.iniに下記のオプションを指定
build_unflags = -Os -march=rv64imafc
build_flags = -O3 -mabi=lp64f -march=rv64gc
50000回計測
結果は216.3 MIPS
Maixduinoは
build_unflags = -march=rv64imafc
build_flags = -mabi=lp64f -march=rv64gc
のオプションを指定しないとdouble型に関してはFPUの命令を使わず
ソフトウェアで倍精度浮動小数点を計算するようです Dhrystone 2.1もArduinoで実行できるようにしてみました(PlatformIO IDE用)
Dhrystones per Secondを1757で割るとDhrystoneMIPSが出ます
Teensy 4.0
60000000回で計測
platformio.iniに下記のオプションを指定
build_unflags = -Os
build_flags = -O3 -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16
Microseconds for one run through Dhrystone: 0.4
Dhrystones per Second: 2642939.0
DMIPS 1504.2
Maixduino
30000000回で計測
platformio.iniに下記のオプションを指定
build_unflags = -Os -march=rv64imafc
build_flags = -O3 -mabi=lp64f -march=rv64gc
Microseconds for one run through Dhrystone: 0.8
Dhrystones per Second: 1279372.2
DMIPS 728.1
ESP32DevModule
15000000回で計測
platformio.iniに下記のオプションを指定
build_unflags = -Os
build_flags = -O3
Microseconds for one run through Dhrystone: 2.4
Dhrystones per Second: 410666.4
DMIPS 233.7
ソースコードは後で貼ります Arduino IDEでも試してみました
Arduino IDEでもmain.cppを.inoのファイルにすることで
そのまま動くようです
デフォルトのオプションのままで実行してみました
Teensy4.0
dhrystone
60000000回で計測
Microseconds for one run through Dhrystone: 0.4
Dhrystones per Second: 2642938.5
whetstone
Loops: 500000, Iterations: 1, Duration: 31.532001 sec.
C Converted Double Precision Whetstones: 1585.7 MIPS
Maixduino
dhrystone
30000000回で計測
Microseconds for one run through Dhrystone: 1.5
Dhrystones per Second: 650801.5
whetstone
Loops: 7000, Iterations: 1, Duration: 23.251999 sec.
C Converted Double Precision Whetstones: 30.1 MIPS
Teensy4.0はArduino IDEでもほとんど性能は変わらないです
Maixduinoは大幅に性能が低下します
最適化オプションによってかなり性能が変わってしまうようです Arduino互換機用Dhrystone 2.1のソースコード(PlatformIO IDE用)
main.cpp
https://pastebin.com/r4apdxaA
mylib.cpp
https://pastebin.com/MRkdRitB
dhry.h
https://pastebin.com/cwTrL2Ex
dhry_1.c
https://pastebin.com/n2AbNiRc
dhry_2.c
https://pastebin.com/TusHM9X6
ターミナル上で小文字の"s"キーを押すとスタートします
Arduino IDEでもmain.cppを.inoファイルにすることで
そのままで動作するようです ESP32DevModuleのdhtystoneとwhetstoneを
Arduino IDEでビルドして計測してみました
オプションはデフォルトのままです
ESP32DevModule
dhrystone
15000000回で計測
Microseconds for one run through Dhrystone: 3.5
Dhrystones per Second: 284203.9
whetstone
Loops: 20000, Iterations: 1, Duration: 125.021996 sec.
C Converted Double Precision Whetstones: 16.0 MIPS
こちらもPlatformIOで-O3のオプションをつけたときと比べると
性能が大きく落ちてるようです Aruino IDEでコンパイラオプションを変更して
Maixduinoでdhrystoneとwhetstoneを実行してみました
(オプションを変更したら一度ソースファイルすべてを保存して保存日時を更新してください、
そうしないと再ビルドされないかもしれません)
オプション変更前(-mabi=lp64f -march=rv64imafc -Os)
dhrystone
Microseconds for one run through Dhrystone: 1.5
Dhrystones per Second: 650801.5
whetstone
Loops: 7000, Iterations: 1, Duration: 23.251999 sec.
C Converted Double Precision Whetstones: 30.1 MIPS
オプション変更後(-mabi=lp64f -march=rv64imafc -O2)
dhrystone
Microseconds for one run through Dhrystone: 0.8
Dhrystones per Second: 1279344.9
whetstone
Loops: 50000, Iterations: 1, Duration: 23.533020 sec.
C Converted Double Precision Whetstones: 212.5 MIPS
大幅に実行速度が速くなりました
Arduino IDEでMaixシリーズのコンパイラオプションを変更する方法はこちらです
(自己責任でお願いします)
https://pastebin.com/E66j9e7f LGT8F328PのSSOP20買った人はちゃんと使ってるのかなぁ?
Lチカの少しステップアップしたやつやってみたら出力できるポートとそうでないポートがある
こりゃ全部調べないといきなり完成形に持っていくのはリスクがあるな >>459
それなりに使ってるつもりだけど、まだ問題らしい問題にぶち当たってない
Lチカのステップアップて何なの SWDを使ってデバッグしたい俺は
SparkFun RedBoard Turbo (SAMD21)を買ったの! >>464
(・∀・)格好イイ!
できればソケット使わずに直付けしてほしいな。