X

Arduino初心者熱烈大歓迎質問スレ part28

レス数が1000を超えています。これ以上書き込みはできません。
2020/06/10(水) 05:28:40.57ID:B1nfFGXL
http://www.arduino.cc/

【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
 詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね

前スレ
Arduino初心者熱烈大歓迎質問スレ part27
http://rio2016.5ch.net/test/read.cgi/denki/1585316143/

Arduino初心者熱烈大歓迎質問スレ part26
http://rio2016.5ch.net/test/read.cgi/denki/1579146318/

過去スレ


Arduino初心者熱烈大歓迎質問スレ part25
http://rio2016.5ch.net/test/read.cgi/denki/1568358922/
Arduino初心者熱烈大歓迎質問スレ part24
http://rio2016.5ch.net/test/read.cgi/denki/1554776918/
Arduino初心者熱烈大歓迎質問スレ part23
http://rio2016.5ch.net/test/read.cgi/denki/1541233445/
Arduino初心者熱烈大歓迎質問スレ part22
http://rio2016.5ch.net/test/read.cgi/denki/1534549073/
Arduino初心者熱烈大歓迎質問スレ part21
http://rio2016.5ch.net/test/read.cgi/denki/1527252804/
Arduino初心者熱烈大歓迎質問スレ part20
http://rio2016.5ch.net/test/read.cgi/denki/1514503488/
Arduino初心者熱烈大歓迎質問スレ part19
http://rio2016.2ch.net/test/read.cgi/denki/1500745528/
Arduino初心者熱烈大歓迎質問スレ part18
http://rio2016.2ch.net/test/read.cgi/denki/1485192244/
Arduino初心者熱烈大歓迎質問スレ part17
http://rio2016.2ch.net/test/read.cgi/denki/1471967293/
2020/06/10(水) 05:28:53.15ID:B1nfFGXL
建てた
2020/06/10(水) 05:29:03.43ID:B1nfFGXL
たった
2020/06/10(水) 05:29:18.67ID:B1nfFGXL
クララが立った
2020/06/10(水) 07:17:58.02ID:3cXQHaYa
ハイジ乙
2020/06/10(水) 11:22:34.99ID:xk2LHFn1
ArduinoIDE で ツール->ボード->ボードマネージャ を起動すると
package_index.json と package_index.json.sig が壊れる不具合が出てる模様。
バックアップして元に戻せば治る。

まだ原因が追求できた所なので、世間の情報は検索してないのですが、
おま環であれば良いですが、zip展開版の 1.8.12 です。
同様の方はご注意ください。
2020/06/10(水) 12:51:56.57ID:GAF2Kznt
了解(`・ω・´)ゞ
2020/06/10(水) 15:04:51.50ID:Wy7fINcD
>>6 GJ!
2020/06/11(木) 02:00:34.16ID:feOf2YY9
巣から出て来ないでね
2020/06/11(木) 10:14:20.97ID:Cwla3DNJ
了解(`・ω・´)ゞ
2020/06/11(木) 10:17:02.14ID:DLM3tjCb
>>6
最新版1.9βだと問題ないらしい(うちもこれで治った)
根本解決ではなく、javaエラーある程度無視する仕様らしい?
なんかaeduino/javaともプログラム更新してない人含め、昨日突然同時多発的に始まったみたいね?
何があったのだろう?

https://github.com/arduino/Arduino/issues/10332
2020/06/11(木) 10:39:07.62ID:Cwla3DNJ
同時多発といえばWin10のアプデが関係してるじゃないの?
2020/06/11(木) 11:50:08.86ID:AgCKQ8TZ
WindowsUpdateはいろいろやらかしてくれるからな
1909入れてみたけどなんとなく変だったから1903に戻したし
2020/06/11(木) 12:28:04.96ID:O8ld7V1e
これとは違う話?
https://www.facebook.com/156088694417458/posts/4717076978318584/
2020/06/11(木) 12:45:18.32ID:jbJ4e/J5
スレ乙
16774ワット発電中さん
垢版 |
2020/06/11(木) 12:49:01.99ID:Hc8hHSls
前スレでSeeeduino Xiao買ったって人、消費電力はどのくらいですかねえ 特にスリープモードではどうか気になる…。
2020/06/11(木) 13:42:02.32ID:QyXma9ob
今日になって、Arduino IDEが起動しなくなった!
Windows10で、Arduino IDEのバージョンは1.8.12
会社でも自宅でもダメだから、PC側の問題じゃなさそうだ。
困ったなぁ。
ひとまず>>11を試してみよう。
2020/06/11(木) 15:25:08.53ID:Gxc4jURp
>>14
最初の言い出しっぺですけど、この対策で問題解決できることを確認しました。
WindowsUpdate とは関係ないと思われます。

具体的なことがリンク先に書かれてますけど、package_index.json.sig を削除
するだけで良いみたいです。
起動時に警告が出るので、その通りにボードマネージャを起動するだけです。
次回以降は、警告が出なくなり、普通にボードマネージャも使えます。
2020/06/11(木) 16:06:00.43ID:tz3o3be3
>>17
me too
2020/06/11(木) 16:20:19.25ID:YSBgWE88
屋外BOXを設置して、中に温湿度センサー等を置いて
ファンで通風しながらの気象ロガーを考えています。
現在湿度96%なんですが、センサーの基板等が心配です。
端子部や半田の部分にサビ止め等吹き付けたほうがいいんですかね?
kure5-56ならあるんですが。
2020/06/11(木) 16:28:23.52ID:tz3o3be3
>>20
直接雨があたったりしなけりゃ大丈夫じゃないかな。
この前森の中で3年働かせたセンサーの基板はピカピカだったよ
2020/06/11(木) 16:35:51.28ID:YSBgWE88
>>21
大丈夫そうですかね。一応ファンのフードを工夫して、
予備のセンサーも用意しておきます。
2020/06/11(木) 18:52:06.11ID:QyXma9ob
>>18で動くようになりました!
2020/06/11(木) 19:28:23.79ID:t7S5iCEW
>>22
サンハヤトのハヤコートを塗る
2020/06/11(木) 19:55:24.35ID:DLM3tjCb
>>18
うち、それだけでは解決しなかったな。
ジェイソン撃退で治るのは今までもちょくちょくあったけど、今回のはそれだ治らなかったから最新版再インストールやらjava更新やら色々やったわ。
26774ワット発電中さん
垢版 |
2020/06/11(木) 21:35:05.35ID:FQ0OyqbP
>>24
やべぇ。
サンハヤトをサンハトヤと読んじまった。
関東ローカルネタですまん。
2020/06/11(木) 22:12:58.52ID:yYb498iZ
>>26
あるある
2020/06/11(木) 23:43:23.65ID:3JWOyUT4
見積書がFAXで送られてきて「社員旅行ですか?」って総務の子に聞かれたのは懐かしい思い出。
2020/06/11(木) 23:46:54.22ID:mcDNLUYu
♪伊東に行くならハトヤ♬
♫電話は4126 ♪
2020/06/12(金) 08:34:28.14ID:1YYyeCTB
ちょっとでも面白いと思って書き込んだの?
2020/06/12(金) 08:49:36.49ID:yiqVD8H5
腹かかえて笑ったんだが
2020/06/12(金) 09:13:26.05ID:1YYyeCTB
箸が転んでも笑ってそう
2020/06/12(金) 09:59:51.04ID:a8d7TP+O
このスレで「4126」を「良い風呂」と読めるの何人くらいだろう?
2020/06/12(金) 10:01:43.08ID:7QnSDP8G
37564
2020/06/12(金) 10:21:38.73ID:7cpMbZI+
114106
2020/06/12(金) 11:46:26.55ID:bBDHD+UO
電子工作関連の8割はオッサンやろ
2020/06/12(金) 12:08:20.50ID:CAnCG+3m
JKです
思う存分崇め奉りなさい
2020/06/12(金) 15:11:48.90ID:LTUmJlg4
残り2割は
J-isan
K-a
39774ワット発電中さん
垢版 |
2020/06/12(金) 15:32:57.87ID:EC7rM4z4
DFPlayerでmp3playerを作りたいんですがどなたか私にスケッチ教えてください!
一般的なplayerと同じ動作させたいんですが・・・

全曲順番に再生する
STOP押したら停止、STARTしたら続きから再生
NEXT,PREVIOUSも欲しい

よろしくお願いします
2020/06/12(金) 16:11:58.29ID:bdOBXvO/
>>39
いくら出す?
2020/06/12(金) 16:28:57.18ID:+eD1SXD0
>>39
そんだけなら抵抗とボタンだけでできるんじゃないの?
マイコン不要で
https://i.imgur.com/ict7FG5.jpg
42774ワット発電中さん
垢版 |
2020/06/12(金) 16:38:01.01ID:QBjz7oLO
>>40
Arduinoありきでお願いします!
勉強のために

よろしくお願いします。
2020/06/12(金) 16:44:54.00ID:7zsFSko7
>>42
https://make-muda.net/2016/09/4585/
2020/06/12(金) 17:58:37.14ID:bdOBXvO/
>>42
いやだからそのArduinoのコードを書く依頼料だよ
2020/06/12(金) 18:16:11.72ID:jGGdzkFP
なんで見ず知らずのやつに書かないといけないんだよw
2020/06/12(金) 18:20:53.40ID:45G9wZNq
もう、夏休みの宿題が出たのか
早いな
2020/06/12(金) 19:01:25.23ID:LcFaMt0z
まるっきり素からってすごいな
2020/06/12(金) 19:03:56.47ID:05zyOK3a
String a = " ABC";
のように書いてもStringの先頭に空白が入りません。
どうすれば出来るようになりますか?
2020/06/12(金) 19:18:21.74ID:xAu9C0sG
>>48

printf("%1s¥n", "ABCDE");
printf("%10s¥n", "ABCDE");
\sとか¥sとか駄目かな?
2020/06/12(金) 19:34:38.07ID:05zyOK3a
>>49
\sは駄目でした
¥sの使い方がわからなかったです。
2020/06/12(金) 19:47:39.12ID:CAnCG+3m
パソコン連携のシステム作ってもらうのって
いくらくらいかかるの?
2020/06/12(金) 20:28:12.58ID:05zyOK3a
String a = String(" ABCD");

↑これで出来ました。
ありがとうございました。
53774ワット発電中さん
垢版 |
2020/06/12(金) 21:17:40.45ID:oNiZPzaZ
>>43
ライブラリが古い

誰も知らなそうですね 残念
2020/06/12(金) 22:09:08.42ID:4gBxE4bS
>>53
ググれカス
2020/06/12(金) 22:53:29.52ID:CAnCG+3m
>>53-54
流れが全然分からない
誰か解説おね
56774ワット発電中さん
垢版 |
2020/06/12(金) 23:18:55.44ID:Glv2it7J
USBのシリアル1とソフトウェアシリアルを繋げて、USB->シリアル変換ケーブル的な物を作りたいんだけども、
よくある↓みたいなやつでXmodemとかYmodem転送をすると失敗するのはなぜなんです?
レートを遅くしてもダメ。
Teraterm To Teratermで試してて、普通のキー入力とかは双方やり取りできてる。

void setup() {
Serial.begin(9600);
Serial2.begin(9600); // ソフトウェアシリアル
}

void loop() {
if (Serial2.available()) Serial.write(Serial2.read());
if (Serial.available()) Serial2.write(Serial.read());
}
2020/06/12(金) 23:23:51.47ID:bdOBXvO/
それってマイコンいらなくてTXピンとRXピンから信号取るだけでいいんじゃね
まぁそれってただボードに乗ってるUSB-TTLUART変換チップ使ってるだけになるけど
58774ワット発電中さん
垢版 |
2020/06/12(金) 23:24:32.79ID:Glv2it7J
今試してる接続はこんな感じです
Port1(usb) -> Arduino → TTL-USB変換 -> Port2

Teratermを二個開いてそれぞれPort1とPort2をオープン
Port1から2、または逆方向にてキー入力などが送信されることを確認
Port1からPort2にXmodem転送すると途中でこける
59774ワット発電中さん
垢版 |
2020/06/12(金) 23:25:38.63ID:Glv2it7J
>>57
いやもちろんほんとにシリアル通信だけならおっしゃる通りなんですが、
実際はもうちょっと多機能なもので、そのうちの1機能としてシリアルケーブルモード的なのを実装したいんです。
2020/06/12(金) 23:33:01.56ID:bdOBXvO/
>>58>>59
ソフトウェアシリアルあんま処理能力高くないしどっかで処理が重なってこけてんじゃない?
実際のデータのやり取り見た?なんかロジックアナライザもってない?800円くらいの中華品でも十分
61774ワット発電中さん
垢版 |
2020/06/12(金) 23:33:18.36ID:Glv2it7J
ちなみにその別機能ってのは、ArduinoとSPIで繋がるSDカード内のファイルを、Xmodem(正確にはYmodem)でPort1またはPort2に送信するって機能なんですが、
これは動いてます。
つまりArduinoからのファイル送信はうまくいってます。
おまけでSDカードを使わないPort1→2スルーモードみたいなのが作りたいんですよね
62774ワット発電中さん
垢版 |
2020/06/12(金) 23:38:06.89ID:Glv2it7J
>>60
アナライザはあるにはありますが電池で動くような中華おもちゃです・・・
パケットキャプチャ的なものを間に入れるのが必要そうですね。

Port1と2のTeratermでパケット数がずれて止まるんで、処理能力不足は疑いましたが、
20MhzのNanoで4800bpsでもコケるって変ですよね…

転送先のMacPlusの方が遅い8Mhzですよw
2020/06/12(金) 23:40:53.22ID:bdOBXvO/
もしくは素直にUSARTを2つ以上装備したマイコンを搭載したモデルに変える
他に使ってるライブラリ等の関係でアーキテクチャを変えたくないならmega328PBとかmega2560とかそのへんが載った奴に
ちょっと変わってもいいならmega4809の載ったNanoEveryとか、だいぶ変わってもいいならSTM32F103C8T6にするとか
2020/06/12(金) 23:49:28.79ID:bdOBXvO/
>>62
SoftwareSerialの中身見たらわかるけどリソースをピンチェンジ割込みだけで済ませてタイマを一切要求しない仕様で
タイミング取るのにビジーウェイト使ってるからボーレートが遅いとCPUの拘束時間が長いし割込みが関わるとぶっ壊れやすいぞ
2020/06/13(土) 00:11:24.50ID:26a5jPQM
トライステートバッファを追加して御希望のピンをUSBシリアルのTXピンとRXピンと繋いじゃえば?
普段はバッファをハイインピーダンスにしておいてモードチェンジ時には逆にマイコン側のピンをINPUTでハイインピーダンスにして
そしたらUSBシリアルと直接繋がるしCPUの介在がいらない

トライステートバッファの制御に1ピン要るけども
66774ワット発電中さん
垢版 |
2020/06/13(土) 02:10:21.53ID:a5IgSs+K
>>54
一通り調べましたよ

ここにいる人は詳しい人ばかりだから知ってる人がいると思ったんですけど

誰かDFPLAYER詳しい人いませんかー?
2020/06/13(土) 04:52:45.94ID:hCLop/F9
お前には教えない
と言うオチになりそうな予感
2020/06/13(土) 07:34:45.04ID:LdAtWWLp
だな
そして質問者本人が成り済まして正解のレスをする、いつものバターン
2020/06/13(土) 07:38:11.55ID:akgie4nK
途中に別の質問レスが挟まれてちゃんと消化されてるのがなんかウケる
70774ワット発電中さん
垢版 |
2020/06/13(土) 07:57:52.00ID:NlfBoNGx
>>63-65
やはりソフトウェアシリアルで連続送信は無茶かもしれませんね・・・
NanoかProMicroの標準的な構成だけで簡単に実現したかったのですが、ちょっとあきらめモードです。

無くてもいい機能だし。
NanoEveryいいですね!
ねだんが高い以外はさいこうです
2020/06/13(土) 08:33:03.27ID:LgvPDcs0
>>66
上から目線で教えろで、調べたけどここには俺より詳しいヤツがいないってことですね。
わかります。
72774ワット発電中さん
垢版 |
2020/06/13(土) 08:33:56.75ID:a5IgSs+K
>>67
質問の仕方が悪かったですか?

じゃあそのスケッチの書き方も教えて下さい
2020/06/13(土) 08:39:07.53ID:LgvPDcs0
>>72
「Arduino 開発 あなたの住んでいる市町村」
これでググると、対応する会社が見つかるので、電話かメールして見積もりしてもらいなさい。
2020/06/13(土) 08:49:50.37ID:A//2C5aH
>>70
安くてNanoがいいならこういう中華クローンで328PBが載ってる奴は?>>63でも書いたけど328Pと328PBは違うモノだぜ
https://www.aliexpress.com/item/32818544709.html
画像は328PになってるけどタイトルにPBとあって、実際にPBが載ったのが届く(レビューの一番上にあるウクライナ人の写真を参照)

328PBならUSART2つついてるし328Pで動くコードはまるっとそのまま移植できる

ただ、USART1のTXDとRXDはSPIのMISO、MOSIと被る・・・
しかしコイツはSPIも2つ持っててSPI0じゃなくSPI1を使えばUSART0、USART1、SPI1でピン被り無しで使える
2020/06/13(土) 08:53:11.45ID:PIaWSUtu
今は職業訓練所でもArduinoやってるとこあるから入学して教わればいいな
2020/06/13(土) 09:00:01.12ID:O7e5GJFA
>>72
残念ながら君より詳しい人がいなかった
がんばってくださいね
2020/06/13(土) 09:03:17.15ID:PIaWSUtu
>>70
片方がUSBつなぎでよけりゃ 32u4 のproMicroでいいじゃないのかね
クローン品がいっぱい安く売ってるし
2020/06/13(土) 09:12:54.94ID:xcgJ5muc
>>72
悪いどころの話じゃない、悪すぎる
お前が掲示板で質問に答えるとして
パソコンの使い方教えてください?
どうこたえるよ?
2020/06/13(土) 09:17:30.94ID:A//2C5aH
>>77>>70
そういやProMicro(32u4)でもいいならSerial1でUSART0使えるわ
デフォルトのSerialは内蔵USBのだし
80774ワット発電中さん
垢版 |
2020/06/13(土) 09:40:53.91ID:a5IgSs+K
>>76
がんばります

>>78
しらねーよ お前がよくできた回答を提示しろよ
2020/06/13(土) 10:02:10.27ID:BwC+KKIW
>>80
少しはググれよ
2020/06/13(土) 10:13:17.51ID:3dvF/EkW
>>80
Lチカは出来た?
83774ワット発電中さん
垢版 |
2020/06/13(土) 10:43:13.35ID:a5IgSs+K
>>81
色々ググってるんですが
基礎も含めて勉強中です

>>82
Lチカはできます!簡単な音楽再生もできるんですがplayerのように全曲通しで再生、前の曲、次の曲、停止、再生など駆使したいんです・・・
2020/06/13(土) 10:44:49.03ID:3dvF/EkW
使ってるライブラリは?
85774ワット発電中さん
垢版 |
2020/06/13(土) 10:47:49.85ID:a5IgSs+K
>>84
DFRobotDFPlayerMiniです
86774ワット発電中さん
垢版 |
2020/06/13(土) 10:50:41.32ID:a5IgSs+K
https://raw.githubusercontent.com/DFRobot/DFRobotMediaWikiImage/master/Image/adkey_control.png

ちなみに単体で動かすには上の画像のADKEY1で必要なスイッチだけ作れば動くてことですか?
スイッチには各容量の抵抗が必要になるんですよね?
2020/06/13(土) 10:51:11.93ID:3dvF/EkW
49行目から118行目までライブラリの全機能が書いてあるよ
https://github.com/DFRobot/DFRobotDFPlayerMini/blob/master/examples/FullFunction/FullFunction.ino

例えば、
次の曲の再生は77行目 myDFPlayer.next(); //Play next mp3
前の曲の再生は79行目 myDFPlayer.previous(); //Play previous mp3
2020/06/13(土) 10:54:00.78ID:3dvF/EkW
>>86
出来るよ。Arduinoもいらない
2020/06/13(土) 11:03:03.86ID:xcgJ5muc
>>87
>>41
おい!
2020/06/13(土) 11:05:10.80ID:O7e5GJFA
>>80
乱暴な言葉はいけませんよ
91774ワット発電中さん
垢版 |
2020/06/13(土) 11:10:42.45ID:a5IgSs+K
>>87
はい 全機能の存在は知っているのですが例えば「再生中の曲を停止する」というようなことが全然できなくて

例えばスイッチ押してmyDFPlayer.next()で曲が変わっていきますよね
でもこれを一時停止する、ってのができないんです


>>88
ありがとうございます 単体動作もやってみます
2020/06/13(土) 11:11:43.10ID:O7e5GJFA
>>91
良かったね
93774ワット発電中さん
垢版 |
2020/06/13(土) 11:12:22.50ID:a5IgSs+K
>>90
すみません 気を付けます
94774ワット発電中さん
垢版 |
2020/06/13(土) 11:15:21.38ID:a5IgSs+K
>>92
は?
2020/06/13(土) 13:08:04.41ID:SYilNLYi
↓関数を1つにすること出来ますか?

uint32_t dpll_number;
uint8_t dpll_number_0;
uint8_t dpll_number_1;
uint32_t dpll_number_2;
uint32_t dpll_number_3;

Wire.beginTransmission(Address);
Wire.write(66);
Wire.endTransmission(false);
Wire.requestFrom(Address,4,true);
dpll_number_0 = Wire.read();
dpll_number_1 = Wire.read();
dpll_number_2 = Wire.read();
dpll_number_3 = Wire.read();
Wire.endTransmission();

dpll_number = (dpll_number_0 + (dpll_number_1 << 8) + (dpll_number_2 << 16) + (dpll_number_3 << 24));

よろしくお願いします。
2020/06/13(土) 13:28:24.37ID:VdOz+qug
>>95
自分で関数書けば?
2020/06/13(土) 13:36:19.92ID:olKXhnGt
>>83
そうか、ここは、Lチカすらできない人の集まりだな。
2020/06/13(土) 13:38:39.86ID:Xpyg5CdM
>>93
反省だけなら猿でもできる
2020/06/13(土) 14:19:49.67ID:SYilNLYi
>>96
すみません。変数を一つにしたいです。
2020/06/13(土) 14:30:00.68ID:VdOz+qug
>>99
日本語でおk。
101774ワット発電中さん
垢版 |
2020/06/13(土) 14:39:22.24ID:a5IgSs+K
YouTubeで人気ないジャンルなのがよくわかるわw
2020/06/13(土) 14:40:20.50ID:A//2C5aH
>>99>>100
そういうのは共用体にするんだ
http://wisdom.%73akura.ne.jp/programming/c/c39.html
2020/06/13(土) 14:42:39.80ID:VdOz+qug
readの戻り値を操作してuint32に加えていけば使う変数は減るが、
2020/06/13(土) 16:04:11.11ID:SYilNLYi
>>103
ありがとうございます。
使う変数を減らしたいです。

uint32_t dpll_number;

Wire.beginTransmission(Address);
Wire.write(66);
Wire.endTransmission(false);
Wire.requestFrom(Address,4,true);
dpll_number = Wire.read();
dpll_number = Wire.read(); + dpll_number << 8
dpll_number = Wire.read(); + dpll_number << 16
dpll_number_= Wire.read(); + dpll_number << 24
Wire.endTransmission();

こんな感じはむりなんですか?
2020/06/13(土) 16:06:36.95ID:PIaWSUtu
>>104
自分で答え書いてるじゃねーか
+ の前の ; を取れよ。
2020/06/13(土) 16:12:02.38ID:NdEIekvu
= も += に変更ね
2020/06/13(土) 16:15:09.83ID:VdOz+qug
+=のほうが読みやすいと思う。容量がかつかつでもない限り、変数へらすより自分が解りやすいコードにしたほうがよいんじゃねーかな。
2020/06/13(土) 16:40:07.53ID:PIaWSUtu
この人はおいくつなのかな。 70くらい?
2020/06/13(土) 16:50:47.72ID:A//2C5aH
なんかスルーされた…?
共用体にすれば余計な変数も余計なビットシフトもいらずメモリはおろかCPUサイクルさえ節約できるのに
2020/06/13(土) 16:58:46.25ID:SYilNLYi
uint32_t dpll_number;

Wire.beginTransmission(Address);
Wire.write(66);
Wire.endTransmission(false);
Wire.requestFrom(Address,4,true);
dpll_number = Wire.read();
dpll_number = (dpll_number + (Wire.read() << 8));
dpll_number = (dpll_number + (Wire.read() << 16));
dpll_number = (dpll_number + (Wire.read() << 24));
Wire.endTransmission();

でやると>>95の出力と答えが違ってしまいます・・・
2020/06/13(土) 16:59:24.42ID:SYilNLYi
>>109
そうなんですか・・・
共同体の勉強してみます。
2020/06/13(土) 17:03:56.57ID:NdEIekvu
俺もスルーされた
何度も = で上書きされてまっせ
2020/06/13(土) 17:07:35.29ID:SYilNLYi
>>112
ごめんんなさい。
+= がわからないのです。
調べてみます。
2020/06/13(土) 17:09:29.98ID:akgie4nK
>>111
共用体な

たとえばその32bitの変数を、4つの8bit変数としても同時に定義できる
そんでどちらかを書き換えればどちらも書き換わる(同じメモリアドレスなので)

4つ順番に1バイト入れてけば自動的に32bitとしても読める
2020/06/13(土) 17:14:25.73ID:gcrSmY5O
なんでこの手の人は結果だけを得ようとして基礎知識をちゃんと身に付けようとしないんだろう
いくらArduinoがHALやらラッパーやらで簡単に書けるように作られてるとはいえ
演算子も知らず式の書き方もわからないのにどうする気なのか…
2020/06/13(土) 17:26:52.53ID:w8WEaEKo
横からだけどドットマトリクス LED を連ねて使うのにビデオ RAM みたいな変数を使っていたから共用体のことは参考になったどうもありがとう
ビットシフトしなくていいしすっきりしそう
随分昔にCの勉強した時に共用体って見たような気がしないでもないが、今となってはまったく思いつかなかった
2020/06/13(土) 17:27:52.84ID:SYilNLYi
>>114
ありがとうございます。何となく理解できました。試してみます。

>>115
すみません・・・

dpll_number = Wire.read();
dpll_number += (Wire.read() << 8);
dpll_number += (Wire.read() << 16);
dpll_number += (Wire.read() << 24);

で、4294941493
>>95だと7510805になってしまう…
自分で調べてみます…
汚してすみませんでした。
2020/06/13(土) 17:44:03.16ID:VdOz+qug
変数へらして数バイトあけても、デバッグしにくくなってたら意味が無いような。
2020/06/13(土) 17:49:49.62ID:O7e5GJFA
共用体って考え方がすごい
初心者でビットの取り扱いに慣れてないせいもあると思うけど
慣れてないとビットがごちゃまぜになって分からなくなりそう
2020/06/13(土) 17:57:58.01ID:O7e5GJFA
単純に配列じゃダメなの?
2020/06/13(土) 19:38:25.55ID:w3ZnVMgY
ビットシフトいらないのが利点だったのでは?
2020/06/13(土) 21:33:49.78ID:oW0nVJFI
>>111
4バイトlongと1バイトbyte[4]が同じ場所を占めるような変数宣言がunionでできる。
これやると、配列にreadデータを次々に4回入れたらその時点でlongの変数が出来上り。
まあ、変数のサイズやフォーマット依存なので、時間やメモリの制限きつくなければ普通にそのままでもいいような気も。
変数減らすだけなら、
uint8_t dpll_number[4];で。
ループもポインタも使えるし。
2020/06/13(土) 21:51:08.15ID:ocgOOkf1
>>122
横からすみません。読み出しまで含めたサンプルコードいただけませんか?
興味はあるのですが書き方がわかりません
2020/06/13(土) 21:58:30.24ID:VdOz+qug
>>123
初期化するだけだからコードも何もない。配列いじったら変数の対応するbitが変わる。逆もしかり。
2020/06/13(土) 22:02:53.69ID:O7e5GJFA
>>123
分からない事を聞くならまだしも
1から全部面倒見ろって
なんか違うんじゃない?
やってくれる人がいればいいけど
126774ワット発電中さん
垢版 |
2020/06/14(日) 02:08:46.27ID:fy+dRD3W
>>125
うざっ
2020/06/14(日) 05:33:32.78ID:8Srsi5FR
>>117
これじゃ、ダメ?
おそらくArduino Unoとかだとint型が16bit整数なので値が変わるのだと思う
16bit整数だとWire.read() << 16やWire.read() << 24は0になるからね
だからuint32_tでキャストして32bit整数として扱うようにする

dpll_number = (uint32_t)Wire.read();
dpll_number += ((uint32_t)Wire.read() << 8);
dpll_number += ((uint32_t)Wire.read() << 16);
dpll_number += ((uint32_t)Wire.read() << 24);
2020/06/14(日) 07:33:05.23ID:8Srsi5FR
あと、>>95のは
dpll_number = (dpll_number_0 + ((uint16_t)dpll_number_1 << 8) + (dpll_number_2 << 16) + (dpll_number_3 << 24));
もしくは
dpll_number = (dpll_number_0 + ((uint32_t)dpll_number_1 << 8) + (dpll_number_2 << 16) + (dpll_number_3 << 24));
こうしないと
(dpll_number_1 << 8)
の部分がint型(符号付16bit整数)に1度変換されてからuint32_tに変換される
その時に符号拡張されて値がおかしくなる
2020/06/14(日) 07:40:15.96ID:13MxaMmL
>>128
今度はキャストの解説を求められるぜ!
多分、unisigned も単に符号なしで、ビット演算とか?
>>95 のコードで
--
uint32_t dpll_number;
uint8_t dpll_number_0;
uint8_t dpll_number_1;
uint32_t dpll_number_2;
uint32_t dpll_number_3;
変数名に無意味な number とか付いてる時点で察し
2020/06/14(日) 07:57:06.05ID:13MxaMmL
途中でポストしちゃいましました。

何故 _0 _1 が 8ビット で _2 _3 が 32ビットなんだろう?
元々のコード自体がきちんと動いてないんだろうな。

まず Wire.read() を全てシリアルに出力して、紙に書きだして
電卓使って、正しい答えを知らない限り、コードが正常動作してるか
分からないぜ!

共用体は有用だし、使いようによっては凄く便利なのだが、
たぶん多くが挫折するポインタの概念が分かってないと無理。>>123 がその例。
>>95 には程遠い世界だよ。
* と & の違いになり、void* が何故必要になったかまで、おんぶに抱っこ。

可読性が犠牲になったり、いずれ何処かででインディアン問題も出てくる。
2020/06/14(日) 08:07:28.30ID:8Srsi5FR
共用体の例
union {
uint32_t dpll_number;
uint8_t byte[4];
} a01;
a01.byte[0] = Wire.read();
a01.byte[1] = Wire.read();
a01.byte[2] = Wire.read();
a01.byte[3] = Wire.read();
Serial.print("uint32_t dpll_number = ");
Serial.println(a01.dpll_number);


>>177
>>95の例だと7510805になってしまうと書かれてるが
試してるコードではバイト順が逆になってない?
今までに付いてるレスは全部リトルエンディアンが前提になってて
Serialから送り出されるバイト列もリトルエンディアン前提なのだけど
実際はどうなの?
リトルエンディアンというのは最下位のバイトが最初に来て
最上位に来るバイトが最後に来るやつ
その反対でビッグエンディアンというのがあって最上位のバイトが最初に来て
最下位のバイトが最後に来るのがある
最近のマイコンはどれもリトルエンディアンに統一されつつあるが
2020/06/14(日) 08:08:29.81ID:8Srsi5FR
アンカ間違い>>117でした
2020/06/14(日) 08:25:20.98ID:13MxaMmL
>>122
文句ばかりで申し訳ないけど、>>115>>125 の意見がもっとも
と、個人的に思ってる。

> uint8_t dpll_number[4];で。
同じことを char で文字列扱って [5] が必要になる所で詰まる。
たまたま現在の処理系の long が 32ビット だってことに依存してる。
2020/06/14(日) 08:26:20.75ID:8Srsi5FR
シリアルじゃないかI2Cね
具体的にどのデバイスなのかな?
2020/06/14(日) 08:36:24.97ID:8Srsi5FR
longとかintは処理系依存なんでマイコンではなるべく
int32_t、uint32_t、int16_t、uint16_tなんかを使うわけだけどね
AVRだとint型はint16_tでunsigned intがuint16_t
なので代入文で右辺が-32768から32767までの範囲を超えてしまうとおかしくなるので注意
int32_t hogehoge;
hogehoge = 1000000L;
とかしないといけない
最近はM5Stick VやMaixduino、Maixbitなんかの64bitのArduinoも出てきてるので
longはあまり使わないほうがいいね
2020/06/14(日) 08:43:20.12ID:8Srsi5FR
そういえば、Arduinoでビッグエンディアンの製品ってあるのかな?
I2CやSPIではビッグエンディアンでデータ送ってくるものはありそうだけど
Arduinoが出だした頃は古いものは除いて新規のマイコンはみんなリトルエンディアンになってるし
Arduinoが対応してるマイコンは比較的新しいものが多いと思うのだけど
2020/06/14(日) 09:00:07.60ID:8Srsi5FR
64bitのLinuxなんかでもx86_64との互換性を考慮してリトルエンディアンばかりになってるね
64bitのPOWERもPOWER8からバイエンディアンになって
UbuntuやDebianでは64bitではリトルエンディアンのものしか出さなくなった
ARMもLinuxではリトルエンディアンだし、RISC-Vもリトルエンディアン
2020/06/14(日) 09:02:11.04ID:13MxaMmL
>>136
どうなんでしょう?
スイッチサイエンスの製品説明にも RISCチップ、ビット数 などは書かれているが、
インディアンは、データシートの後方にしか書かれてないんじゃないのかな?

数行で確認できるので、GitHub にあるかもしれないけど、
Serial.bigin(9600) を 115200 に変更する面倒を考えたら自分で書くよねw

モトローラーと共にビッグエンディアンも終わったんじゃないかな?
個人的には、バイナリのみのリバースエンジニアに、ビット長が不明で、
リトルエンディアンとか面倒で嫌いなんだけど。
2020/06/14(日) 09:14:46.05ID:8Srsi5FR
バイト長が不明な変数の場合はリトルエンディアンの方が扱いやすい
なにせバイト長に限らず下位バイトが同じ場所にくるからね
たとえば32bitの整数の0x76543210の場合
0x10 0x32 0x43 0x54 0x67
と格納される
これが16bitの整数の0x3210の場合でも
0x10 0x32
と格納される
下位のバイトの格納位置は変わらない
ビッグエンディアンだと
0x76 0x54 0x32 0x10
0x32 0x10
とバイト長が変わると下位バイトが同じでも下位バイトの格納位置が変わってしまう
2020/06/14(日) 09:20:08.80ID:8Srsi5FR
デバッガが高機能だとリトルエンディアンでも混乱することはないし
数のバイト列として扱う場合はリトルエンディアンの方が楽
マイコンとして扱う場合でも下位ビットが揃ってた方が楽
2020/06/14(日) 09:41:47.04ID:8Srsi5FR
話を戻して
>>94の方法で
1番目のバイトが53、2番目が155、3番目が255、4番目が255だとすると
結果が4294875957

>>128の方法でやると
これだと4294941493

Pythonで
(255<<24)+(255<<16)+(155<<8)+53を計算してみると
4294941493
(255<<24)+(255<<16)+(155<<8)+53+(255<<24)+(255<<16)-2**32は
4294875957

>>94のは明らかに(dpll_number_1 << 8)の部分が
符号拡張されて上位バイトに0xffff0000が追加されて値がおかしくなってます
2020/06/14(日) 09:44:20.65ID:8Srsi5FR
アンカ間違えました>>94のアンカは>>95の間違いです
2020/06/14(日) 10:53:47.88ID:kaLugr/R
>>133
よくわからないが、配列が4つなのはlongの仕様ではなく、そのセンサが8bitずつ4回に分けてデータを取得することに依存してると思うが。

おっしゃるように、longのサイズやバイト順なんて決まっているとは言えないので、>>122に書いたように、配列使って扱いやすくするのは良いが結合するのにunion使うのは勧めない。
2020/06/14(日) 10:57:03.48ID:UQdTBfRU
ライブラリでポインタ渡しの定義がされてない場合がかなりあってめんどい
まぁ書きゃいいんだけど
2020/06/14(日) 10:59:57.75ID:kaLugr/R
>>141
uint32_t、uint8_t型で符号拡張されるの?
2020/06/14(日) 11:06:31.75ID:8Srsi5FR
>>145
(dpll_number_1 << 8)の部分は
2項演算子( << )で1項目のdpll_number_1がuint8_tで2項目の8のがint型
なので8のint型に合わせて結果がint型になる
一度int型に変換されるのでuint32_tに変換されるときに符号拡張される
2020/06/14(日) 11:09:48.07ID:8Srsi5FR
なので
((uint16_t)dpll_number_1 << 8)
もしくは
((uint32_t)dpll_number_1 << 8)
とやれば結果は正しくなる
2020/06/14(日) 11:14:09.46ID:8Srsi5FR
>>143
longじゃなくてuint32_tとやれば32bit確定なのでunionでも問題ない
マイコンの世界ではbit長が確定する場合は
なるべくint32_tやuint32_t、int16_tやuint16_tを使うほうがいい
2020/06/14(日) 11:20:13.12ID:8Srsi5FR
まあ、AVRは8bitCPUでその8bitでuint32_tを扱うわけで
共用体使った方が断然速いコードになるけどね
2020/06/14(日) 12:12:48.64ID:8Srsi5FR
と思ったけど
アセンブラ出力して比べてみたら全く同じコードだったw
2020/06/14(日) 12:16:02.35ID:UQdTBfRU
>>150
バイト単位のビットシフトは結構ちゃんと吐いてくれるよ
volatileじゃない仮変数も必要なければRAMに置かないし

ビットシフトとアセンブラで思い出したけどAVRGCCてswapを吐かない?

uint8_tのhogeに>>=4すると回数のカウントに別のレジスタ使ってループでlsrを回してるんだけど
lds ldi lsr subi brne stsで16バイト喰って20サイクルも使っている(しかも余計にレジスタ1つ使う)

andi swapなら4バイト2サイクルで済むのに
2020/06/14(日) 12:19:28.48ID:UQdTBfRU
>>151
ごめんロードストア入ってるのと入ってないのを比較した

後者は lds andi swap sts で12バイト6サイクル の間違いです
2020/06/14(日) 13:22:11.72ID:8Srsi5FR
違った
やっぱりunion使った方が速かった
unionを使って関数にした場合の該当コード
mov r14,r24
mov r15,r22
mov r16,r20
mov r17,r18
レジスタをコピーしてるだけ

シフトでやるとこんなになる
.LVL11:
mov r12,r20
mov r13,__zero_reg__
mov r14,__zero_reg__
mov r15,__zero_reg__
movw r14,r12
clr r13
clr r12
mov r16,r18
ldi r17,0
ldi r18,0
ldi r19,0
.LVL12:
mov r19,r16
clr r18
clr r17
clr r16
.LVL13:
add r12,r16
adc r13,r17
adc r14,r18
adc r15,r19
add r12,r24
adc r13,__zero_reg__
adc r14,__zero_reg__
adc r15,__zero_reg__
.loc 1 65 0
mov r24,r22
.LVL14:
ldi r25,0
ldi r26,0
ldi r27,0
mov r27,r26
mov r26,r25
mov r25,r24
clr r24
add r12,r24
adc r13,r25
adc r14,r26
adc r15,r27
15495
垢版 |
2020/06/14(日) 13:33:48.91ID:irae7Z5M
みなさんありがとうございます
>>117でおかしかったので、
dpll = Wire.read();
dpll += (Wire.read() * 256);
dpll += (Wire.read() * 65536);
dpll += (Wire.read() * 16777216);

昨日、↑のようにしたら正確な値を得ることが出来るようになりました。

>>128 >>141
ありがとうございます。納得できました。
dpll_number_1の値がおかしいことまでわかったいたのですが、
なぜおかしくなるのか理由がわかってスッキリしました。
こっちに書き換えます。
15595
垢版 |
2020/06/14(日) 13:34:18.45ID:irae7Z5M
>>130
ビット数が違うのは正常な値が出ているときに8ビットにしても大丈夫だったので小さくしました。

>>131
バイト順は正常でした。

>>134
ES9038Q2Mです
2020/06/14(日) 13:48:24.45ID:aWhROlXe
初心者でES9038Q2Mを扱ってるの?
2020/06/14(日) 14:04:08.22ID:8Srsi5FR
>>154
>>127で書いたようにこうすればシフトでもうまくいくと思うよ
dpll = (uint32_t)Wire.read();
dpll += ((uint32_t)Wire.read() << 8);
dpll += ((uint32_t)Wire.read() << 16);
dpll += ((uint32_t)Wire.read() << 24);
158774ワット発電中さん
垢版 |
2020/06/14(日) 14:16:29.43ID:kaLugr/R
>>146
シフト演算子もそれあるのか・・・
というかそれ以前に定数のintにならないならuint8_tのままだから
(dpll_number_1 << 8)
(dpll_number_2 << 16)
(dpll_number_3 << 24)
とかはまともに動かないよな。

<<するのはuint32_t変数だけにして
for (i=0;i<4;i++) {
dpll_number <<= 8;
dpll_number |= hogehogeread()
}
4つくらから上なら、自分はこのあたりがすき。
これはOK?

>>154
まちがいが起こりにくいように16進にしといたほうがいいよ
2020/06/14(日) 14:19:08.85ID:8Srsi5FR
節約したいならこんなコードでもいいかも
アセンブラコードみたらこっちの方が命令数が少なかった
dpll = Wire.read();
dpll += ((uint16_t)Wire.read() << 8);
dpll += ((uint32_t)Wire.read() << 16);
dpll += ((uint32_t)Wire.read() << 24);
2020/06/14(日) 14:24:05.87ID:8Srsi5FR
ちなみに私の環境とテストコードでは
>>154>>157はアセンブラコード確認してみたけどほぼ同じコードになるね
gcc、頭いい
2020/06/14(日) 14:42:42.85ID:8Srsi5FR
と思ったら
dpll = (uint32_t)Wire.read();
dpll += ((uint32_t)Wire.read() * 256);
dpll += ((uint32_t)Wire.read() * 65536);
dpll += ((uint32_t)Wire.read() * 1677216);
でテストしてた
そりゃ、157と同じになるわ

で、>>154で試したら間違った値出たよ
162774ワット発電中さん
垢版 |
2020/06/14(日) 14:45:37.63ID:kaLugr/R
>>158
あ、下位から先に得られるんだから、これじゃ逆だorz
忘れてください・・・
2020/06/14(日) 14:53:59.51ID:8Srsi5FR
>>117も違う値になるね


まとめ

dpll = (uint32_t)Wire.read();
dpll += ((uint32_t)Wire.read() * 256);
dpll += ((uint32_t)Wire.read() * 65536);
dpll += ((uint32_t)Wire.read() * 1677216);

もしくは
dpll = (uint32_t)Wire.read();
dpll += ((uint32_t)Wire.read() << 8);
dpll += ((uint32_t)Wire.read() << 16);
dpll += ((uint32_t)Wire.read() << 24);

もしくは
dpll = Wire.read();
dpll += ((uint16_t)Wire.read() << 8);
dpll += ((uint32_t)Wire.read() << 16);
dpll += ((uint32_t)Wire.read() << 24);

でやれば正しい値になるはず
2020/06/14(日) 14:59:21.26ID:8Srsi5FR
共用体使うのが一番速いけどね
2020/06/14(日) 15:01:23.33ID:irae7Z5M
>>153
共同体も試してみます。ありがとうございます。

>>156
はい

>>163
ありがとうございます。
これで解決できました。

みなさん重ね重ねありがとうございます。
>>154が間違っていたんですか…
2020/06/14(日) 15:11:54.20ID:wLAiYoY5
あんたさぁ まじめにやれよ
2020/06/14(日) 15:23:01.06ID:13MxaMmL
まぁ。。。思った通りの結果なんだけど、質問者は 実数(マジックナンバー) を掛けて終わり。
その数字に L を付けなくても気持ち悪くないんでしょうね。

初心者歓迎なので、結果 OK なんでしょうけど、.s の内容にまで発展したのは、
全体的に良かったのかな?w

途中で gcc の動作について出てたけど、rms の過去の発言でオプティマイズに
関する物が参考になる。また gcc のコードを読むと中間言語に落とす所のツリー
構造解析などは、非常に美しい。

for(int i = 0; i < 100; i++){} がオプティマイズレベルを上げて行くと
アセンブラを空にする、しない、議論まであった。結果は後者だったけど、
オプションで指定できる議論に発展した。

中間コードから先の .s はターゲット依存なので、それぞれのインプリ依存だけど。
2020/06/14(日) 15:47:52.92ID:8Srsi5FR
偉そうなこと言ってるくせにインディアンには笑ったわ
2020/06/14(日) 16:47:22.49ID:PQU3aZYq
無知にマウント取りたがるやつって恥ずかしい。
赤ん坊の頃に泣いているのを放置されて育つとこいつみたくなるって育児書に書いてあった。
こういう同級生が社会で孤立して自殺している。
勝手に死ぬならいいけど自分の子供には同じようにしないで欲しい。
2020/06/14(日) 17:59:57.05ID:3rCM2Ugl
速さや美しさのレベルには全然到達しない
とにかく動かすだけでいっぱいいっぱい
2020/06/14(日) 18:48:57.20ID:+O/SLCi0
一つ前の関数と比較したいときに入れておく関数名を何にしています?
aの場合は、a_tempやa_dmpでいいですか?
2020/06/14(日) 18:56:17.96ID:5vjIp6bz
>>171
SaveA, SaveB
2020/06/14(日) 19:49:18.67ID:Dtn62OI4
a_old
2020/06/14(日) 20:38:36.07ID:qnxxHyJ0
a_bak, a_last
2020/06/15(月) 12:37:30.63ID:3IamyBtA
a_rduino, b_rduino
2020/06/15(月) 23:36:38.56ID:QXOcqp1o
UNOを使ってて割込みハンドラを書いてるんだけど、インラインアセンブラでグローバル変数のアドレスを取得したいときはどうしたらいいですか?

例えばhogeというuint8_tのグローバル変数がすでに定義されているとします(volatile uint8_t hoge = 0xAA;)
このとき割込みハンドラのインラインアセンブラで lds r16,hoge と書くと値の取得が出来ます(レジスタ16に0xAAがロードされる)
しかし当然これはSRAMに保存された変数の値です(ちなみにこの時コンパイルされたコードを見るとちゃんとhogeのアドレスが即値で入っています)

今回はレジスタペアにhogeのアドレス(16bit)をldiで取得したいのですが書き方がわかりません(C言語でいう*hogeがしたい)
コンパイル後にbssセクションを見てhogeに割り当てられたアドレスを調べてldiの即値を書き換えれば当然得られるのですが
これだとグローバル変数の数や宣言の順番などによって毎回hogeのアドレスが変わってしまいそれに対応するために毎回この作業が必要です

前述の lds r16,hoge のようにコンパイル時に該当のグローバル変数に割り当てられたアドレスを ldi で用いる方法はありますか?
177774ワット発電中さん
垢版 |
2020/06/16(火) 06:12:56.15ID:6vOgoD2d
ない Lならある もういい?
2020/06/16(火) 07:16:43.22ID:WBzOf6m0
>>176
AVRのアセンブラ全然わからんがこんな感じかな?

uint8_t hoge = 100;

void func21(void){

uint8_t ret1;
uint8_t addr_l, addr_h;
asm volatile (
"ldi XL, lo8(%3)\n\t"
"ldi XH, hi8(%3)\n\t"
"ld %0, X\n\t"
"mov %1, r27\n\t"
"mov %2, r26\n\t"
:"=r"(ret1), "=r"(addr_h), "=r"(addr_l)
:"memory"(hoge)
:"r27", "r26"
);

Serial.print("ret1 = ");
Serial.println(ret1);
Serial.print("addr_h = 0x");
Serial.println(addr_h, HEX);
Serial.print("addr_l = 0x");
Serial.println(addr_l, HEX);
Serial.print("&hoge = 0x");
Serial.println((unsigned int)&hoge);
}
2020/06/16(火) 07:19:16.99ID:ILfYHoUG
>>176
うろ覚えだけど、
ldi r16,lo(hoge)
ldi r17,hi(hoge)
だっけ?
180774ワット発電中さん
垢版 |
2020/06/16(火) 07:20:53.91ID:WBzOf6m0
一番最後の行は
Serial.println((unsigned int)&hoge);
ではなく
Serial.println((unsigned int)&hoge, HEX);
でした
ごめんなさい
2020/06/16(火) 07:36:50.99ID:LeZzu/Dz
アドレス割り当てはアセンブラの仕事ではない。
182774ワット発電中さん
垢版 |
2020/06/16(火) 08:26:38.79ID:WBzOf6m0
変なレス付いてるのでわかりやすく解説
>>178

"ldi XL, lo8(%3)\n\t"
"ldi XH, hi8(%3)\n\t

の部分はインラインアセンブラによってこうなる

ldi XL, lo8(hoge)
ldi XH, hi8(hoge)

つまり、
labelをlo8()で括れば下位8bitのアドレスが即値として取得できる
labelをhi8()で括れば上位8bitのアドレスが即値として取得できる
ただそれだけ
2020/06/16(火) 08:39:16.45ID:WBzOf6m0
ARMなんかの32bitのRISC CPUでも同様の演算子が用意されてるね
ARMのThumb-2だと
movw r0, :lower16:label01
movt r0, :upper16:label01
こんな感じでアドレスを読み出せる
ARM64で48bitの仮想アドレス空間全体だと
movz x0, :abs_g2:label01
movk x0, :abs_g1_nc:label01
movk x0, :abs_g0_nc:label01
下位33bitのアドレスだと(ARM64のgccではデフォルトではlabelの範囲は下位33bit(8GB)まで)
adrp x0, :pg_hi21:data_label
add x0, x0, :lo12:data_label
2020/06/16(火) 09:23:17.22ID:n+Efu2ke
>>176です
lo8とhi8は知ってたんですが基本インライン構文だとコンパイルエラーになってしまって使えないものだと思っていました
拡張アセンブリ構文で入力オペランドなどをちゃんと宣言しないと駄目だったんですね

解決しました、皆様ありがとうございました
2020/06/16(火) 09:48:15.41ID:Pgkr833L
>>184
>>181も言ってるように、これはアセンブラにlo(),hi()を与えてるのではなく、プリプロセッサか何かがうまく変換して、アセンブラに与えられるのは単なるldiによる8bit即値代入に置き換えられたもの、って話だと思う。
2020/06/16(火) 10:05:35.34ID:bIWFLl3d
>>185
それがやりたくて、その書き方を知りたかったって話だと思うが…
2020/06/16(火) 14:04:56.40ID:WBzOf6m0
>>185
残念でした
>>178をコンパイルしてアセンブラリストを出力すると
インラインアセンブラ部分はこう出力される
ldi XL, lo8(hoge)
ldi XH, hi8(hoge)
ld r17, X
mov r29, r27
mov r28, r26

知らないなら変な横槍入れない方がいいよ
2020/06/16(火) 15:01:45.76ID:14w852a6
>>187
最終的にそのhi8やlo8のマクロを展開したあとの話だよ
要するにelfをダンプしたとき
そもそもldiの第二オペランドは即値しか入らないわけで
189774ワット発電中さん
垢版 |
2020/06/16(火) 16:14:39.28ID:3qqBIzJo
リンカの仕事だと思うんだけど。
そりゃ実行可能オブジェクトにはアドレスが設定されてるでしょう。
2020/06/16(火) 16:19:54.10ID:WBzOf6m0
どこまでがアセンブラかという話になるけど
stringsで調べるとavr-as.exe自体にlo8とかhi8なんて文字列が含まれてる
hi8()やlo8はアセンブラ自体の演算子だよ?
AVRにはアドレスのlabelの種類はないかも知れないが
elfにはアドレスのlabelの種類の情報や値の情報なんかも入ってるはず
じゃないとバイナリを再配置するときにlabelの値を書き換えるときに問題になる
単なる即値とは意味が違うよ
2020/06/16(火) 17:25:46.21ID:WBzOf6m0
>>189
AVRのelfのシンボル情報見たけど、hogeの値は確定されてた
アセンブラが出力してオブジェクトファイルのシンボル情報を見たらまだ確定されてないね
リンカの仕事だね
2020/06/16(火) 19:25:53.57ID:WBzOf6m0
LinuxもelfだけどLinuxの場合だとロード時に実際のアドレスが決まるんだよね
だから実行時のアドレスは実際に実行するまでわからない
2020/06/16(火) 20:13:38.30ID:8lNhHbVh
リロケータブルなだけじゃないかな?
2020/06/17(水) 00:06:43.52ID:nBQOFkep
絶対アドレス指定じゃダメなの?
2020/06/17(水) 05:43:11.18ID:c/IWDanQ
実アドレスがどこになるのかなんて、プログラムの中の人には関係ないことです
2020/06/17(水) 05:58:09.13ID:q4kXx66X
64bitLinuxのgccで-mcmodel=largeを指定するとグローバル変数にアクセスするときに
リテラルプールから64bitの絶対アドレス読み込むようになるけど
実行時のアドレスはelfのシンボルテーブルの値と違うね
gccでデフォルトのオプションでfPIC、fPIEが指定されてる場合もあるのでその場合は
-fno-pic -mcmodel=largeとか-no-pie -mcmodel=largeとやらないといけない
2020/06/17(水) 06:50:07.08ID:q4kXx66X
Linuxは-fPICや-fPIEオプションをを指定しない実行ファイルは
ロード時にアドレス情報書き換えてるようだね
http://0xcc.net/blog/archives/000107.html
2020/06/17(水) 08:09:08.81ID:TFYxlnn5
1.8.13 が出てるね。
199774ワット発電中さん
垢版 |
2020/06/17(水) 09:53:00.58ID:0do6ad+8
で結局アホ毛のアドレスはプログラム内で求められるん?
2020/06/17(水) 10:10:14.18ID:Yg5ARl5E
おめーの毛のアドレスなんて分からなくても値はわかるから即値で0入れとけや
2020/06/17(水) 14:23:43.63ID:pRjaPZfn
ARDUINO 1.8.13 2020.06.16

[ide]
*複数のモニター設定でMacOSX> = 10.15でクラッシュする問題を修正しました。
*「ツール」メニューのボードリストにあるボードは、プラットフォームごとにグループ化されています。これは選択を行う必要があります
IDEに多数のボードがロードされていると、より簡単です。(ありがとう@matthijskooijman)
*「手動プロキシ」セクションのプロキシユーザー名/パスワード設定の保存を修正しました。
*「ツール/プログラマ」メニューでは、現在選択されているボードに関連するプログラマのみが表示されます。(ありがとう@matthijskooijman)
*修正:外部モニターを削除した後にIDEを再起動すると、スケッチウィンドウが表示されなくなる。
*シリアルモニター/プロッターが無効になっているときに、ボーレート/構成の変更を許可します。(ありがとう@matthijskooijman)
* jmdnsを3.5.5に更新しました。ネットワークボードの検出を改善する必要があります。
*起動時のライブラリスキャンの最適化。(@ricardojlrufinoに感謝)
*タブ内のファイル名の垂直方向の中央揃えが改善されました。(@ricardojlrufinoに感謝)
*アップロード中の進行状況バーのコンソールレンダリングが改善されました。(ありがとう@matthijskooijman)

[arduinoビルダー]
*修正後退:一緒にコンパイルする必要のある「ラッパー」コードを含むプリコンパイル済みライブラリを修正
プリコンパイルされた部分。
* Atmega2560 MCUでのコンパイル用の自動「--relax」を削除
*ブートローダーが.bin形式の場合のskethbook + bootloader hex mergerを修正しました。
*異なるパーティションをトラバースするときの相対パスエラーを修正しました(特に大きなスケッチのmacosxで)
*ライブラリ検出フェーズ中に#define変数を追加
*コンパイルからの改善された進捗レポート

[コア]
* AVRコアを1.8.3に更新:
-Wireクラスがタイムアウトをサポートするようになりました
-avr-gccを7.3.0-atmel3.6.1-arduino7にアップグレードしました
2020/06/17(水) 15:46:16.08ID:shPdxOmS
初心者だ
来てやったぞ
早く歓迎しろ
2020/06/17(水) 16:01:45.70ID:IbgtmBQZ
>>202
( ´・ω・`)_且~~オチャデモイカガ?
2020/06/17(水) 16:24:18.78ID:Yg5ARl5E
> *「ツール」メニューのボードリストにあるボードは、プラットフォームごとにグループ化されています。
> *「ツール/プログラマ」メニューでは、現在選択されているボードに関連するプログラマのみが表示されます。
> *シリアルモニター/プロッターが無効になっているときに、ボーレート/構成の変更を許可します。
> *起動時のライブラリスキャンの最適化。

このへん嬉しい
2020/06/17(水) 20:53:50.52ID:pRjaPZfn
ボードメニュー良き!
https://i.imgur.com/5XWp7NZ.jpg

でもプログラマのとこはいちいち選択しないといけなくなったわ
2020/06/17(水) 23:30:24.06ID:g1z1pArk
IDE1.8.13を早速使ってみたら、なんかおかしい。
1.8.13でコンパイルしてみたら、BME280で計測した室内の温湿度気圧が、湿度だけいきなり100%になった。
同じスケッチで1.8.12でのコンパイルだと40%くらいだったのに。
ちなみにBME280のライブラリはAdafruitの2.0.2。(使ってるBME280はスイッチサイエンス製だけどw)
IDEを1.8.12に戻してコンパイルし直したら、もとの40%台に戻った。
2020/06/18(木) 13:08:20.52ID:7M7zqFR5
今作ってるプロジェクトでBMP280使ってるから
その情報こわい・・・
2020/06/18(木) 16:19:24.62ID:QrMx/UiE
IDE1.8.13に更新したらDS1307+を使った時計の動作がおかしい
バッテリーバックアップしてるのにマイコン起動するたびに必ず2006/02/06 6:28:00で時間が上書きされてしまう
一字一句全く同じスケッチをIDE1.8.12で書き込むと正常に動作する(上記のせいで変わってしまった時刻は直したとして)

なんかI2Cが変だな?
2020/06/19(金) 10:12:05.07ID:5LW+tsbG
Arduino Pro Miniを基板に実装しよとしているのですが、ICピンヘッダーを使っても大丈夫でしょうか?
足が多くて取り外しの時に折れそうで怖いです。
2020/06/19(金) 10:13:31.49ID:5LW+tsbG
丸ピンの方です
2020/06/19(金) 10:17:18.65ID:NE0MOKec
ヘッダーって言うとだいたいオスのほうの事だけど(メスはピンソケット)
丸ピンていうとメスの方(丸ピンICソケット)を思い浮かべるが

ともあれオスメスが正しい組み合わせのソケット使ってればなんでもいいでしょ
丸ピンソケット使いたいならそれ用のヘッダをはんだ付けすればいい
2020/06/19(金) 10:32:52.25ID:5LW+tsbG
>>211
ありがとうございます。
抜き差しできるようにしたいのですが足が多いので折れないか心配です。
2020/06/19(金) 10:38:17.37ID:NE0MOKec
真っ直ぐ真上に抜け

丸ピン↓
http://akizukidenshi.com/catalog/g/gP-01591/
使いたいならオス側をこういうのに
http://akizukidenshi.com/catalog/g/gP-01382/
2020/06/19(金) 11:02:27.47ID:5LW+tsbG
>>213
ありがとうございます
2020/06/19(金) 11:35:38.36ID:U4bIgPcP
ブレッドボードでも真っ直ぐ上に引き抜かないとピンが曲がるよね
2020/06/19(金) 16:16:59.06ID:LXA81rUn
入門しようといろいろ調べて、いざボードを購入しようと思ってるんですけど
どれを選べば良いですかね?
互換機は大量だし、書籍のお勧めが廃版だったりで悩んでます。
2020/06/19(金) 16:25:37.14ID:NE0MOKec
>>216
とりあえずATmega328P載ってる奴でいいんじゃないの?それが書籍でもwebでも一番日本語の情報が多いでしょ
つまりまぁUnoかNanoだな

形は好きな方でいいが(シールドが多いUnoかブレッドボードで使いやすいNanoか)最初は余計なトラブル(ハンダ不良とか)が無いように純正品を買っとけば?

https://www.switch-science.com/catalog/789/
ちなみにスイッチサイエンスでUnoを買うと永久保証がついてるよ
http://trac.switch-science.com/wiki/warranty
何か分かんねえけど動かなくなった!とか、ジュースこぼしてダメにした!とか、変な風にショートさせて壊したっぽい!とかでも新品に交換してくれるぞ
2020/06/19(金) 16:33:16.73ID:fEHKnFP3
>>216
アリエキで180-700円位の奴

値段重視 ATmega328P+CH340
https://a.aliexpress.com/_dVeW8T2

互換性重視 ATMEGA16U2 + MEGA328
https://a.aliexpress.com/_dVKKi5W

サイズ重視 CH340 ATMEGA328P
https://a.aliexpress.com/_dSiwFTq

安いから上から2個ずつ合計6個買うとかどお?
2020/06/19(金) 16:36:36.27ID://Ji0owY
往復の送料で中華Nanoが2台買えるけどな。
2020/06/19(金) 17:07:59.24ID:xqFvxaUk
最近、Aliexpres経由で注文したものが、中国内でのトラッキングを最後に行方不明になることが多い。
2020/06/19(金) 19:52:46.87ID:DyjTsEiy
そう?
俺が注文したのは全部ちゃんと届いてるけどな。
2020/06/20(土) 05:42:37.64ID:nvOoggEZ
初心者にAliexpress勧めるなんて頭おかしいだろ
2020/06/20(土) 07:49:51.04ID:ZIwBI1oQ
>>221

220です。

アリのスタンダードとかシンガポールポスト便で連敗中。
空港までいって送り主へ返送とか、航空会社引き渡し後行方不明とか。
どちらも返金してもらった。
2020/06/20(土) 14:09:28.95ID:ILQB0Sav
>>222
別に誰に勧められたわけでもないが最初からAliExpressやeBay以外で買ったことが無い。
つまり純正品は一つも持ってないが不良品だったことも無い。
2020/06/20(土) 14:25:50.96ID:xolsFD+/
いまは時期が悪いね
アマゾンで国内発送ならすぐ着くから、Aliの3倍くらい出せば?
2020/06/20(土) 15:58:45.56ID:5eL2Ss9N
>>224
LEDがもげてるとか、promini3.3V版注文したのに5V版が来るとか日常茶飯事だぞ
更に裸TinyをArduinoで使おうとか生チップ買うと
平均して1割くらいは偽者とか高電圧リセットしても動かないものがある
2020/06/20(土) 16:47:16.99ID:o8Zf8UU1
>>226
ちょっと話を盛ってるよねw
2020/06/20(土) 16:49:20.45ID:jmLmJ40s
セラーの選び方が悪いんだろ
ピンからキリまであっての海外通販なんだから
そのクソのようなセラーを示しもせずにただ語られても困る
2020/06/20(土) 17:34:29.25ID:G5Oy5ryJ
これから始めよう!って初心者にAliexpressでセラーの目利きして買うとか届いたチップの真贋なんてわかるわけないんじゃ…?
2020/06/20(土) 18:46:28.07ID:jmLmJ40s
>>229
Arduino初心者が中華通販も初心者とは限らん
チップの真偽など素人でなくても届いてからじゃなきゃわからん
まだ食い下がる気ならもっと説得力のあるレスをしな
2020/06/20(土) 18:53:32.23ID:S/YoEd/e
相変わらず初心者歓迎感ゼロのスレだな
2020/06/20(土) 19:04:50.83ID:cX5F6jsR
やっぱり問題の切り分けが出来ない馬鹿だったか
2020/06/20(土) 19:38:39.58ID:nvOoggEZ
日本の公安当局、中国主導とみられるネット工作を確認 日本国内の協力者や協力組織との関係も含めて監視を…★5
http://asahi.5ch.net/test/read.cgi/newsplus/1592525494/l50
2020/06/20(土) 20:08:30.35ID:cX5F6jsR
監視して遺憾砲撃つだけの簡単なお仕事です
島取られても人拉致されても何もしないからなこの国の公務員は
235216
垢版 |
2020/06/20(土) 23:14:51.55ID:wPYF9l73
使い勝手の良さそうなUnoで試作してみて、動かすの安価なボードって方向で行きたいと思います。
レスありがとうございました。
236774ワット発電中さん
垢版 |
2020/06/21(日) 06:19:55.55ID:9pf8xlRs
まずはUNOで、何か作るならナノだな
この二つは素直に動く

他はクセが強い
2020/06/21(日) 07:16:13.37ID:4ZFhfR3e
クセがすごいんじゃ
2020/06/21(日) 07:41:16.75ID:1s87hKuj
ワシはpromicroのクローンばかりつこてる
ちょっと高いけどUSBシリアル内蔵で迷わずに済む
2020/06/21(日) 09:45:58.48ID:3CVn3jBa
unoから入るとそう思うのかもしれねーけんど
特にクセなんか感じねぇ、そんなもんでしょ
2020/06/21(日) 10:27:27.84ID:IC/J2ytr
OUTばかりで自己主張が激しいとか
アナログ多めで繊細とかw>クセ
2020/06/21(日) 11:16:43.95ID:ha6J7LD5
いろいろなんでも気にせず使える方が自由だとは思う。
2020/06/22(月) 06:15:37.42ID:ibnC1bZx
Arduino Nano 33 IoTはなんで日本で売ってるところないの?
2020/06/22(月) 08:19:29.28ID:ibnC1bZx
Teensy 4.0がパワーアップしてTeensy 4.1になって帰ってきましたよ

Teensy 4.1
https://www.switch-science.com/catalog/6377/
2020/06/22(月) 08:28:47.10ID:ibnC1bZx
Teensy 4.1は価格が上がってるのでTeensy 4.0もまだ扱ってるようです
いろいろ盛り込んだ分、価格が上がったんだろうね

Teensy 4.1
https://www.switch-science.com/catalog/6377/
税込単価 4,177 円

Teensy 4.0
https://www.switch-science.com/catalog/5877/
税込単価 3,192 円
2020/06/22(月) 08:29:13.63ID:SwBlZkRB
4.0の頃からそうだけど
クロック設定によっては1GHzで動作し64bit浮動小数点演算をハードウェアでサポート、もはやオーバースペック
…から繰り出されるLチカ
2020/06/22(月) 12:38:13.06ID:jMNihNUe
技適が通ってないからじゃなくて?
2020/06/22(月) 12:39:18.00ID:jMNihNUe
>>264
>>242宛てでござる
248774ワット発電中さん
垢版 |
2020/06/22(月) 12:50:43.54ID:NaHOgblR
Teensyって凄いスペック・・・
趣味で使うとしたら、これどういった用途に使うの?
2020/06/22(月) 14:49:16.11ID:ibnC1bZx
スイッチサイエンスはTeensy 4.1売るならこのLAN用のケーブルも売ればいいのにね
https://forum.pjrc.com/teensy41_ethernet2.jpg
2020/06/22(月) 14:57:06.24ID:dvGfeTCw
>>248
すげえな。
GHzが近いクロックで100mAしか食わずにヒートシンク要らんのか。
比べるものじゃないんだろうけど、PentiumやK6の時代に持っていったらひっくり返るな
2020/06/22(月) 17:28:22.78ID:qoJNyLhx
スマホよりはまだ理解できる
2020/06/22(月) 21:44:30.93ID:i0VLyW/l
>>245
Arduinoでマイコン性能の壮大な無駄遣いって胸熱じゃwwwん!
2020/06/22(月) 21:45:54.71ID:i0VLyW/l
>>250
当時の自分が見たら腰抜かしそう。。。
2020/06/22(月) 21:58:54.14ID:NaHOgblR
夜ちょっと夜食買いにコンビニ行くのにフェラーリ乗っていく感じ!
2020/06/22(月) 22:06:47.99ID:aS3K3Uh8
486DX2は一応ヒートシンク付いてたけど別にグリスとかも塗ってなかったし、ずらしたらすぐ外れたな
2020/06/22(月) 23:04:15.84ID:izoCb4Mu
>>255
それでもFPUは別チップだし、クロックも数10MHzだったでしょ?
2020/06/22(月) 23:19:06.84ID:aS3K3Uh8
いやコプロ内蔵で66Mhzだよ
2020/06/23(火) 07:14:20.62ID:nqVjLTks
MaixduinoならWiFi使えて、CPUは400MHzの64bitRISC-Vが2コア
CPUが64bitなだけではなくて、Arduinoでも64bitで開発できる
浮動小数点演算は倍精度に対応
Flash 16M(Arduinoでは8MBをプログラムに使用できる)
RAM 8MB(うち2MBはAIプロセッサで使うのでArduinoでは6MB)
Arduinoも性能の幅ができたね

Sipeed Maixduino
https://www.switch-science.com/catalog/5707/
2020/06/23(火) 19:50:21.07ID:3nm9ohE6
どうしても行き詰ってしまったのでお知恵をお貸しください。

https://pastebin.com/n1nH1uks

内容としては
・Switch Caseで条件分岐している
・その中の一つのCase(今回はCase5)に IDEのライブラリ管理からインクルードしたST7032(LCD)用のライブラリを使用したを記載したコードを挿入
・表示桁数をそろえたいのでfprintを使用(unsigned longの変数表示今はテストのため99を表示)
・同じCase内のfprint以降のコードは実行されている(シリアルモニタで”5”が表示され、LCDには”99”が表示されている)
・なぜかそれより後のCase6以降が選択できなくなる


という状況になっています。
ループで回しているのでシリアルモニターで見ると0〜9まで表示されるはずなのですが上記LCDコードが入っているCase6より後ろのものが選択できないので0〜5までの表示になってしまいます。
これは何が起こってしまっているのでしょうか?

条件に応じて表示や動作を変えるように作りたいのですがこれだと複数の表示パターンなどを入れることが来ません。

どうにかCase5以降も正常に選択できるようにする方法をご伝授ください。
2020/06/23(火) 20:15:49.81ID:UcBOUudG
>>259
省略されると5が終わらないのか6の途中で異常が出てるのかわからん。異常の出てる当たりの前後にSerial入れて問題箇所特定して。
2020/06/23(火) 20:17:51.81ID:3nm9ohE6
>>259
もう少し切り分けできると思いLCD関係を外してみたところやはり同じような状態が再現されたのでLCDは関係なかったみたいです。

改めまして、LCD関係を除外したコードを用意させていただきました。

https://pastebin.com/z8855K86

こちらのように途中のCase内でfprintを使用するとそれ以降のCaseが機能しなくなってしまいます。
シリアルモニタで観察すると
0
1
2
3
4
05               <-fprintで成形されたi = 5の変数
0
1
と繰り返し表示されCase6以降が選択されません。
(期待動作として0〜4,05,6〜9を繰り返す)

fprintを使用したcase5より後ろのCaseも動作するようにするにはどうしたらよいのでしょうか?


ちなみにですがこのコードは問題再現のために作ったコードなのでforで変なループ回すなとかそういったツッコミはご遠慮ください。
単純にCase6以降が機能しなくなる原因とその解決方法をお伺いするために作ったものです。
2020/06/23(火) 20:18:12.48ID:B5pu82Jl
とりあえず char Val[2] = ""; をswitchの外に出してみ
forの1行上(loop直後)とか

switchのcase内で変数の初期化するなって赤字でwarning出てない?
2020/06/23(火) 20:24:20.26ID:Tfs6OtvI
>>261
コンパイルした時点でwarning出るだろそれ…

warning: jump to case label [-fpermissive]

note: crosses initialization of 'char Val [2]'


コンパイラがおかしいっつってるのにまずそこを解消しろよ
2020/06/23(火) 20:28:48.64ID:yRqnHefN
>>261
25、26行目削除
27行目 Serial.println(i); に変更
7行目8行目の間に Serial.println(i); 挿入

でやって
2020/06/23(火) 20:29:25.33ID:UcBOUudG
2桁だとサイズも足りてない
2020/06/23(火) 20:32:33.14ID:Tfs6OtvI
なんかごちゃごちゃ書かれてるけどcaseで変数をローカル初期化したらダメ
そこ直せば問題なくループが回るはずだが
2020/06/23(火) 20:33:09.05ID:B5pu82Jl
>>263
なぜ毎行に行間をつけるんだw
初心者は「コンパイル出来た=プログラムに問題は無い」と思ってる節があって(偏見)
コンパイル成功したときはコンパイラが出すメッセージを一切読まない…気がする
例えコンパイルが成功したとしてもwarningが出たらチェックしないといけないのだけどね
そしてできれば初心者のうちは表示される警告は全部潰していくべき
当然無視してもいいものもあるんだけどそれはもっと自分で動きが把握できるようになってからだと思う
2020/06/23(火) 20:40:50.75ID:aPDpEoRD
>>261
PreferencesでCompiler warningsのレベルを変更してね
んでここら
https://www.chihayafuru.jp/tech/index.php/archives/2990
2020/06/23(火) 20:41:16.74ID:Tfs6OtvI
まぁ狙った動作になってるからwarningが出るやり方でも問題なしとしていてcase fall throughとかunused variableとか出しまくるライブラリがあったりするからな
ライブラリの中で出てる警告なのか自分で書いたプログラムで出てる警告なのかわからんくなるんじゃねーの
それでも「こういう警告が出てる」って事実は質問に書くべきだと思うが
2020/06/23(火) 20:43:05.12ID:Tfs6OtvI
ちなみに jump to case label はArduinoIDEの警告レベルが初期値でも出るゾ 全てに設定すべきってのは完全に同意だが
2020/06/23(火) 20:56:03.38ID:3nm9ohE6
>>268
教えられた通り環境設定から警告レベルの変更を行いようやく>>262>>263でいわれたワーニングの意味が分かりました。
デフォルト設定ではコンパイル警告のチェックがOFFになっていたので今まで表示すらされてなかったので気づきもしませんでした…

なるほど、コンパイルは通るけどアラートが出まくるというのがあるんですね。



教えられた通り
>とりあえず char Val[2] = ""; をswitchの外に出してみ
を実行してみたところ確かに動くようになりました。

また、
>https://www.chihayafuru.jp/tech/index.php/archives/2990
の情報でも対策することができました。

ありがとうございます。
設定でアラートも表示するようになりましたのでこれからはもう少し原因究明に繋げられるように注視いたします
2020/06/23(火) 20:57:09.49ID:aPDpEoRD
>>271
2020/06/23(火) 20:57:56.94ID:xEqeDlGB
while(1){寝る; 起きる; 仕事行く; 家に帰る; 寝る;}
2020/06/23(火) 21:09:49.29ID:Tfs6OtvI
寝るが2回呼び出されてるぞ
2020/06/23(火) 21:15:03.44ID:B5pu82Jl
>>271
ArduinoIDEってデフォルトでwarning完全無視なの?ひでえw
まぁ解決してよかったな
これで次からは赤文字出てたらしっかり読んで自分で解決できるぞ!
2020/06/23(火) 21:26:58.37ID:FG8Sks1n
>>275
ちゃんと出るよ
2020/06/23(火) 21:43:38.62ID:Tfs6OtvI
>>276
設定すると出るが
試に設定ファイル消してデフォルトに戻してみたら今は最初は「なし」になってたわ
インスコ仕立てで設定も何もしてないと一切出ない
2020/06/24(水) 00:13:40.94ID:3kVavPtt
>>261
char Val[2]="";
じゃないの?
これにsprintfでゼロフィル2桁数字文字列入れたら3文字目の末尾ゼロが溢れて変なところに書かれるのでは?
char Val [4]="";
くらいでどう?

こういうのは大きめにしたほうがいいと思う。sprintfも想定外数値入ったら二文字以上出力しちゃうだろうし。
2020/06/24(水) 03:20:32.19ID:3kVavPtt
>>273
ループカウンター入れて一定数超えたら餓死とリセット転生呼び出してください
2020/06/24(水) 06:12:15.39ID:DQPPXy0R
>>261
素直に考えれば、スタックにまず i が取られて、その上にVal[2] が載るだろうから
Valをオーバーフローさせたら i が書き換わるという現象は不思議じゃないね

ArduinoはC言語だから、Cのメモリ管理や文字列について学ぶべし。
マシン語の知識もある程度は必要なので、ちょっとやったほうがいい。

sprintf と fprint を書き間違いしてるところからして、コードを書くときは
スペルやらをもっと注意深く扱うべし
2020/06/24(水) 08:08:00.10ID:z2yFpll5
>>280
もう解決したことにたいして的外れなしかも間違ってることを堂々と書けるバカって幸せそうだな
2020/06/24(水) 09:20:16.81ID:3kVavPtt
>>281
そっちの問題もまだあるから間違いでもないのでは
283774ワット発電中さん
垢版 |
2020/06/24(水) 09:56:34.11ID:rPSr9p/c
>>282
いつも出てくる煽りだから気にしない。
c++ではcaseブロック内の変数宣言は可能。初期化が実装依存なので注意/避けるべきだけど。
直接の原因は文字列のオーバーフロー説に同意
2020/06/24(水) 11:04:35.02ID:idx4ocmc
どうして間違った知識の奴ほど自身満々に書き込むんだろう

avrgccではcase内でローカル変数の新たに宣言して使ってはいけない
オーバーフローは全く関係ないし、ただcase内で変数を初期化するだけで正常に動作しなくなる
簡単に確かめられるのになぜ間違ったことを書き込むの?

もう一度書くが、オーバーフローは関係ない、avrgccにおいてcase内でローカル変数を宣言してはいけない

↓実行してみろ
https://pastebin.com/YK0TEBc2
2020/06/24(水) 11:14:14.83ID:Vxo/5Ezr
流し読みしてたからどっちが正しいか判らんけど

>どうして間違った知識の奴ほど自身満々に書き込むんだろう

これって自分にも当てはまってるって気づいてるのかな
2020/06/24(水) 11:25:24.76ID:YGubf9lW
まぁ今回に限って言えばはオーバーフローは確かに関係ないが…
そもそもまず何でいつもすぐ下らないマウント合戦になるのさ
しかも質問者は解決しててもう居ない終わった話でさ
他のスレでも基本そんな感じだけど…初心者熱烈大歓迎の看板は外した方が良いんじゃない?
2020/06/24(水) 12:11:44.80ID:TNszv/W3
初心者マウンティング一本勝負スレにしたらwww
2020/06/24(水) 12:46:47.09ID:U47H57SE
>>285
両方あってると思う。
問題が2つあるってこと。
宣言場所を移動して動いているのもたまたまかと。
289774ワット発電中さん
垢版 |
2020/06/24(水) 13:30:09.46ID:WFSUppZy
a = 10u * 1000u;

10uとか、1000uの「u」ってなんすか?
2020/06/24(水) 13:37:32.55ID:Y6sk5iyG
>>289
http://www.musashinodenpa.com/arduino/ref/index.php?f=0&;pos=1657
2020/06/24(水) 14:14:13.93ID:QQu+61sY
>>289
Unsigned の 頭のu
2020/06/24(水) 14:16:48.29ID:WFSUppZy
thank u
2020/06/24(水) 14:26:33.93ID:PQIjKxUd
今回の例はループカウンタはレジスタ上に取られてchar配列はRAM上に取られる予感
2020/06/24(水) 14:42:34.47ID:Y6sk5iyG
誰も口ばっかでオーバーフローのこと検証しないのな
さすがマウントスレ
295774ワット発電中さん
垢版 |
2020/06/24(水) 15:05:18.60ID:YF0uttow
>>265>>278が書いてることは最低限修正がいるよね。
2文字の文字列のためには3文字分のエリアが必要なのに、2文字分しか確保してないし、
sprintfで2文字書いたら、どこかを壊して0を書き込んでる恐れがあるわけだし。
2020/06/24(水) 15:38:57.51ID:QQu+61sY
だが今回の05で止まる件とは無関係
[4]にしてやっても止まり、外で宣言すれば[2]でも止まらない

何で無意味に食い下がるんだかw>>278,280,295
2020/06/24(水) 15:39:50.87ID:QQu+61sY
>>293
同意
298774ワット発電中さん
垢版 |
2020/06/24(水) 17:23:21.48ID:YF0uttow
>外で宣言すれば[2]でも止まらない

すみません。
スコープの問題はすでに解決ずみだと思っていました。
↓これでもダメだろか。

case 5:
{ //スコープをくくる
char Val[4] = ""; //2で動くのは運がいい
sprintf(Val, "%02d",i);
Serial.println(Val);
} //スコープをくくる。ここまで
break;
2020/06/24(水) 17:53:09.38ID:adoH+goR
IDEをダウンロードするとこから寄付金送ったことある人いる?
2020/06/24(水) 18:17:19.06ID:Y6sk5iyG
あるよ
2020/06/24(水) 19:32:15.25ID:adoH+goR
なんかお礼のメールくるくらい?
2020/06/24(水) 19:54:38.03ID:Y6sk5iyG
なんも来ないよ
つかアカウント作らんでPayPalで払ったし
2020/06/24(水) 21:12:21.89ID:55CIDkq9
当方Arduino初心者です。
サブPCでArduinoIDE環境が整わなく困っています。

有志から提供されたライブラリを使おうとするがコンパイルエラー。
提供されたライブラリがHID.hを参照しているがそれが見つからないとのこと。
メインPC https://imgur.com/uKwEapW
サブPC https://imgur.com/s7whb1f
確かにHID.hがなさそうですが、メインPCでインストールした記憶がなく、標準ライブラリだと思っております。
メインPC側のHID.hをディレクトリごとコピーしようとも考えたましたが、ライブラリディレクトリ内にHID.hが見つからず。

原因と解決方法をご教授頂きたく。
2020/06/24(水) 21:27:18.22ID:vk06cEyW
HIDって32u4が載ったデバイス用のライブラリでしょ?
ボードマネージャでサブの方にだけインストールされてないボードとかがあるんじゃない
2020/06/24(水) 22:10:10.14ID:QQu+61sY
>>303
arduino.ccからもらって来たarduino-1.8.12-windows.zipの中を見をてみたけど、
arduino-1.8.12\hardware\arduino\avr\libraries\HID\src
に入ってる。
306774ワット発電中さん
垢版 |
2020/06/24(水) 22:31:36.94ID:55CIDkq9
>>304
>>305
返答ありがとうございます。
HID.hをコピーして 早速つぎの壁にぶち当たりました。
ディレクトリごと丸々コピーしたのが原因でしょうか。

〜以下エラーメッセージ〜

Arduino:1.8.10 (Windows 10), ボード:"Arduino Leonardo"

C:\Program Files (x86)\Arduino\libraries\src\del_opnt.cpp:25:56: error: 'nothrow_t' in namespace 'std' does not name a type

_UCXXEXPORT void operator delete(void* ptr, const std::nothrow_t& ) throw() {

^~~~~~~~~

C:\Program Files (x86)\Arduino\libraries\src\del_ops.cpp:25:50: error: 'std::size_t' has not been declared

_UCXXEXPORT void operator delete(void* ptr, std::size_t) throw(){

^~~~~~

「yuushi.h」に対して複数のライブラリが見つかりました
使用済:C:\Program
「HID.h」に対して複数のライブラリが見つかりました
使用済:C:\Users\usename\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\libraries\HID
exit status 1
ボードArduino Leonardoに対するコンパイル時にエラーが発生しました。

「ファイル」メニューの「環境設定」から
「より詳細な情報を表示する:コンパイル」を有効にすると
より詳しい情報が表示されます。
2020/06/24(水) 22:32:49.35ID:55CIDkq9
連投と下げ忘れスミマセン

当方Cの知識もかじる程度で、引数の考え方すら曖昧なほどです。
エラーメッセージの解読すらままならない状況です。
2020/06/24(水) 22:36:26.01ID:wetK6tmH
あるべきライブラリが見つからなくて失敗してたんだから手動コピーで状況をややこしくするよりIDEをアンインストールしてインストールし直した方が良いと思う
2020/06/24(水) 23:05:51.10ID:Y6sk5iyG
元から入ってるって>>305で示されたわけだが
なぜコピーしてしまうのか
2020/06/24(水) 23:09:15.79ID:uDR729Y2
ボードメニューからArduino Leonardoとか選べば、HID.hがメニューに現れるね
ボードメニューからESP8266を選べば、ESP8266用のライブラリが現れる
ArduinoIDEはそういう仕様になってるね
2020/06/24(水) 23:23:36.33ID:QQu+61sY
>>306
とりあえず、どのサイトを参考にしてるかを明確にすることです。
にしても、参考にしているサイトに書いてる通りの場所に書いてる通りのフォルダをコピーするのが鉄則ですよ。
>>305に書いたやつは>>305に書いた場所に無けりゃダメだし、重複してもダメです。
2020/06/24(水) 23:33:58.86ID:55CIDkq9
>>308
再インストールしてことなき得ました。
ありがとうございます。

>>309
なかったのでコピーしました

>>310
303のサブPC画像の右下でLeonardoを
選択していることがわかると思いますが、
HID.hが見つからない状況でした。

>>311
目的がグレーゾーンなのでなるべく表記しませんでしたが、
こちらのサイトを参考にしています。
https://qiita.com/sobassy/items/cb707e50f2f27a851886
2020/06/24(水) 23:36:33.10ID:QQu+61sY
>>312
解決して良かったですね。
2020/06/24(水) 23:36:46.54ID:55CIDkq9
みなさまありがとうございました。
動作まではうまくいっていませんが、コンパイルまではうまくいきました。
しばらく試行錯誤してみようと思います。

連投スマソ。
315774ワット発電中さん
垢版 |
2020/06/24(水) 23:50:16.23ID:6aMbygFJ
>>303
前スレの852です。
私も似た様なコンパイルエラーが起こり、どうにもならなくなりました。
お使いのIDEはインストーラー版でしょうか?
そうでしたら、とりあえずzip版を使って見て下さい。私はそれでとりあえず一時凌ぎができました。

根本解決したかったのですが、インストーラー版の再インストールでは症状が治らなかったので、HDDの交換容量アップも兼ねて、OSのインストールし直し→IDEのインストールし直しになりましたけど。(メンドクサカッタ…。)
2020/06/25(木) 00:11:26.08ID:9i1Cxcli
重ね重ね申し訳ない。 >>303 です。
コンパイルと書き込みまでうまくいきましたが動作しない状況です。

https://qiita.com/sobassy/items/cb707e50f2f27a851886
上記参考サイトの下部
>SwitchはデバイスのIDが登録外だった場合、信号を受け付けなくなるので、ArduitnoのデバイスのIDをSwitchが認識できるものに変えてあげる必要があります。
とありますが、borads.txtを書き換えてボードに書き込みましたが動作せず。
LEDランプが光らないことから認識されていないと判断して、IDEでボード情報を取得。
BN: Arduino Leonardo
VID: 2341
PID: 8036
と表示され、VIDとPIDがboards.txtを書き換える前の数値と変わっていません。

度々申し訳ないのですが、原因と解決方法ご教授頂けませんか。
2020/06/25(木) 00:13:39.22ID:7iiqvs3S
まず自分で解決しようと試みたことを書いてください
318774ワット発電中さん
垢版 |
2020/06/25(木) 00:17:12.58ID:9i1Cxcli
>>317
サイトを参考している為、予備知識等ゼロに等しい状態です。

>>303時点でにわか知識を色々こねくり回して皆様にご迷惑おかけした末
状況把握のみを...と思ったのですが。
2020/06/25(木) 00:18:15.93ID:LMqpIkqU
変わってないってことはVIDとPIDを盗用するために書き換える箇所が間違ってるんでしょ
2020/06/25(木) 00:20:49.48ID:Q2psGCq3
一旦IDEを終了してファイルを書き換えてIDE再起動とか、そういうレベルの話?
2020/06/25(木) 00:26:08.09ID:9i1Cxcli
>>319
パスの確認と、
うまくいっているメインPCとの比較確認を行いましたが、間違いなさそうです。

>>320
盲点でした!と思って試してみましたが改善に至らず。
2020/06/25(木) 00:31:37.67ID:XuO2+NbX
すんません IDEって細かいコンパイルログとか出ないんですよね
usbconfigいじっても、それ関係がコンパイルにかからないような気がしてるんですが
2020/06/25(木) 00:34:56.48ID:iNWtj8eH
コンパイラの警告レベルは設定できるよ
2020/06/25(木) 00:35:32.41ID:iNWtj8eH
より詳細な情報を表示するってのもある
2020/06/25(木) 00:41:07.09ID:Q2psGCq3
https://i.imgur.com/zq5fle4.jpg
赤丸のとこらへんよ

そんで、バージョンアップで項目増えてた
use アクセサリーふぃゆーちゃーってなんだ!
2020/06/25(木) 00:42:59.68ID:9i1Cxcli
https://imgur.com/WIcjQ72

参考になるか分かりませんが、
書き換えたBords.txt と 書き込んだあとのボード情報の
スクショをあげてみます。

VID: 2341
PID: 8036
は選択した2行分の書き換える前の数値です。
2020/06/25(木) 00:43:10.52ID:Q2psGCq3
間違えたこっちだ
https://i.imgur.com/unzdKL0.jpg
2020/06/25(木) 00:46:31.85ID:iNWtj8eH
>>326
元々のと二つあるけど、もともとの数値の行は消したの?
2020/06/25(木) 00:50:06.11ID:7iiqvs3S
www
2020/06/25(木) 00:50:14.08ID:iNWtj8eH
ごめん
0、1といくつかあるんだな

328は無視して
2020/06/25(木) 00:51:48.46ID:9i1Cxcli
>>328
読解力がなく申し訳ない...。
書き換える行周辺のビフォーアフターが以下になります。

ビフォー
leonardo.vid.0=0x2341
leonardo.pid.0=0x0036
leonardo.vid.1=0x2341
leonardo.pid.1=0x8036
leonardo.vid.2=0x2A03
leonardo.pid.2=0x0036

アフター
leonardo.vid.0=0x2341
leonardo.pid.0=0x0036
leonardo.vid.1=0x0f0d
leonardo.pid.1=0x0092
leonardo.vid.2=0x2A03
leonardo.pid.2=0x0036

真ん中の2行を書き換えています。
とんちんかんな返答していたら申し訳ない...。
2020/06/25(木) 00:52:51.55ID:iNWtj8eH
>>331
ごめんなさい
私の早とちりなので気にしないで
2020/06/25(木) 00:54:49.11ID:7iiqvs3S
>>331
https://contentsviewer.work/Master/Arduino/ArduinOS/SetupBoard
メモ帳で編集するとアカンらしいで
2020/06/25(木) 00:55:13.66ID:Q2psGCq3
leonardo.vid.0
leonardo.Pid.0
は書き換えちゃダメなの?
2020/06/25(木) 01:02:42.78ID:9i1Cxcli
>>332
いえいえ、ご丁寧にありがとうございます。

>>333
メモ帳ダメなんですね
一度メモ帳で保存したらアウトっぽいので...
再インストですかね...

>>334
やってみましたけど変わらずですね
(エディタはメモ帳でしたが。)
ボード情報を読み込むと、
書き換え前の数値になっていた為、
~~~.1を書き換えるのは間違えなさそうです。
>>326 スクショと >>331 コピペ参照
2020/06/25(木) 01:09:49.57ID:9i1Cxcli
>>333
再インストしてVScodeで編集してみましたが
やはりダメみたいです。
情報ありがとうございました。
2020/06/25(木) 01:18:27.39ID:7iiqvs3S
ArduinoIDEインストールするのは初めて?
別バージョンを入れたことがあるならインストールされるフォルダが変わってる可能性がある
つまり別バージョンのboards.txtを編集してるかもしれん
2020/06/25(木) 01:20:28.11ID:9i1Cxcli
>>337
私もそれを危惧して、
ショートカットからファイルの場所へと飛んで編集したので
おそらく間違いないと思います。
2020/06/25(木) 01:21:26.65ID:CL4wdfWO
>>335
参照サイトの下の方、zenito9970氏のコメントも見た方がいいかも
違うこと書いてある
2020/06/25(木) 01:28:11.46ID:H6dUDwI1
leonardo.build.vid=0x2341

leonardo.build.pid=0x8036

こっちもだ!
2020/06/25(木) 01:28:12.66ID:iNWtj8eH
build.pidとbuild.vidが使われてるのかもね
2020/06/25(木) 01:39:14.43ID:9i1Cxcli
>>339
情報ありがとうございます。
試してみましたが、ダメでした...。
https://imgur.com/a/GyyVGB0
2020/06/25(木) 01:45:03.28ID:7iiqvs3S
参考サイトには本分とは別のboards.txtのパスが書かれてるけど
そっちは存在したの
2020/06/25(木) 01:46:19.65ID:7iiqvs3S
つーかめんどいからboards.txtでファイル検索してみたら
2020/06/25(木) 01:48:10.06ID:9i1Cxcli
みなさまご協力ありがとうございました。

Arduino Leonardo のボードマネージャをバージョンダウンしたら
書き換わりました。
最新のver1.8.3 からメイン環境と同じ 1.6.2 にして解決しました。

大変長い時間お付き合い頂きありがとうございました。
2020/06/25(木) 01:49:19.58ID:9i1Cxcli
>>343
お伝え忘れてました。
ありましたね。

バージョンダウンしたあとは
どちらも書き換えたので、結局どちらが影響してるのか分からず仕舞いです...。
2020/06/25(木) 05:58:51.17ID:h8Owpytb
Arduino Microか互換で、汎用ICでデジタル入力の足増やすのを計画してます。
74HC165
74HC153
74HC157
等の使い方調べてるんですが、他にも似た用途のものってありますか?
一応ダイオードマトリクスも検討してます。
348774ワット発電中さん
垢版 |
2020/06/25(木) 08:36:29.29ID:BKQUCvDb
>>347
74HC597。ホールドレジスタとシフトレジスタを組み合わせたもの。8ビット入力
2020/06/25(木) 10:16:58.06ID:UELIEP5v
>>347
>>348
お前らロジックICの使い道を俺に教えてくれてありがとう
2020/06/25(木) 11:52:44.11ID:DTsVQRBs
>>347
I2CのPCF8574が楽でいいんでない
http://nopnop2002.webcrow.jp/WeMos/WeMos-25.html
2020/06/25(木) 12:48:59.19ID:h8Owpytb
ごめん、ちょっと脱線するけどダイオードマトリクス?の一応確認で、
3本の入力線を、1,2番のポートに、1と2と1+2っていう風にそれぞれつないで、間にダイオードを入れておけば、
入力がどれか一個しか来ない時に検出出来るって事でいいのかな?
あとは、NOT二回入れればダイオードの代わりになる?
2020/06/25(木) 15:53:48.04ID:I4KX0NN2
>>351
https://synapse.kyoto/blog/electronic_handicraft/key-matrix
2020/06/25(木) 18:16:19.87ID:e/ydeB9B
抵抗値を何段階かでADCする方式も、IOポートの節約の目的には捨てがたいな
2020/06/25(木) 18:45:04.19ID:h8Owpytb
ふむふむ。
2020/06/25(木) 20:32:16.95ID:XuO2+NbX
>>322 です コメントありがとね 試してみるっす

「マウスをちょっと動かして離席状態を避ける」ってやつを焼いてみたが、
会社から借りてるシンクラだと、idVendorがちゃんと
してないとハネるんだよねー で書き換えしたいなーと いう話
2020/06/25(木) 21:02:47.34ID:e/ydeB9B
ちょっと動かすなにかを作るほうが簡単そう
2020/06/25(木) 22:48:24.07ID:7iiqvs3S
マウスの方式にもよるけど赤外線LEDチカでええんちゃうん
2020/06/25(木) 23:07:26.87ID:roz2US3E
振動モーターを貼り付けちゃうとかw
2020/06/25(木) 23:30:30.95ID:XuO2+NbX
100均のプラレールもどきは、とりあえず買ってみたが
どう振動を与えたらいいのかよくわからんw
赤外線側に着目するのはスゲエ発想 それは気づかんかった できるのか

とりあえずdigisparcが4回に1回ぐらいしか書き換わらないのなんでだろー なんでだろー
2020/06/25(木) 23:42:40.09ID:7iiqvs3S
じゃあマウスがトンネルの天井になるような形でいいんじゃね
マウスを動かすんじゃなくてマウスパッドを動かすんだ
列車が通過するたびマウスが動いたことになると思うぞ
2020/06/25(木) 23:48:45.84ID:aQpTdzcv
秒針のある時計の上にマウスを乗せておく…とかっていうのがどっかにあったような
2020/06/26(金) 05:15:34.94ID:7tM7IEr+
>>361
それ
って1ヶ月前にもやってたよね?この話し。
厳密に言うと詐欺行為になるよ。
363774ワット発電中さん
垢版 |
2020/06/26(金) 05:59:07.73ID:dMrzXwkz
Arduinoの*.hexはそのままAVRに書き込んでも動作しますか?
しますよね?
2020/06/26(金) 06:15:39.58ID:LZTMupFO
>>347
MCP23017なんてどう?

16bit I2C I/Oエキスパンダー MCP23017
http://akizukidenshi.com/catalog/g/gI-09486/
1個 ¥110(税込)

MCP23017 Raspberry Pi用GPIOエクスパンダ
https://www.switch-science.com/catalog/1650/

Arduinoのライブラリもあるよ
https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library
2020/06/26(金) 06:18:51.66ID:LZTMupFO
MCP23017の使い方が解説されてる

デジタルピンを増設する「IOエキスパンダー」の使い方 [Arduino]
https://www.petitmonte.com/robot/howto_io_expander.html
2020/06/26(金) 07:41:38.57ID:AHDrIAPS
>>356
給油許可ボタン押す機械思い出した
2020/06/26(金) 08:12:56.96ID:HrG2M/5d
マウス警察きてんね
368774ワット発電中さん
垢版 |
2020/06/26(金) 12:17:02.75ID:spk0+KMx
>厳密に言うと詐欺行為になるよ。
マウスを時計に乗せたら詐欺行為? なんで?

「マウスが動いていることをもって働いていることを監視している職場において、マウスを時計の乗せてマウスを動かしているふりをする」
みたいな条件が付かない限りは詐欺にならないのでは?
2020/06/26(金) 12:34:44.71ID:aG2kDJ2l
マウスが問題じゃなくてサボってるのが問題なのw
2020/06/26(金) 12:42:19.21ID:84No5qWx
WTERMの「ボスが来たキー」を思い出した。
371774ワット発電中さん
垢版 |
2020/06/26(金) 13:56:11.23ID:kFj7Cjr2
で、でたー!
厳密に言うと犯罪奴ー!
2020/06/26(金) 17:22:46.97ID:j7TO5T+I
>>363
ヒューズ設定が違うと動作しない
2020/06/26(金) 18:23:29.46ID:jBXTathb
PICはhexの中に設定入ってるけどArduino(AVR)は入ってないんじゃね
2020/06/26(金) 23:05:50.90ID:MfF5Dasj
何か懐かしいと思ったらアイコン警察と勘違いしてたw
2020/06/27(土) 00:22:37.39ID:Q9dAdFtp
>>355
鏡があればいいみたい

https://sechi-blog.com/mouse_purupuru_using_mirror/
2020/06/27(土) 00:36:51.89ID:VySODFn4
C#なら2行でマウスプルプル

while(true){
System.Random rand = new System.Random(1000);
System.Windows.Forms.Cursor.Position = new System.Drawing.Point(rand.Next(-10, 10), 0);
}
2020/06/27(土) 01:31:39.24ID:ou8Na+cd
だっさwww
2020/06/27(土) 08:07:12.76ID:WyTQAT6n
>>375
なにそれすごい
379774ワット発電中さん
垢版 |
2020/06/27(土) 09:54:31.65ID:GqiAma5x
>>372
ありがとうございます
やっぱ動作するんですね
Arduinoのボードは大きくて邪魔なのでAVR単体にしたかった
2020/06/27(土) 10:02:17.31ID:VySODFn4
>>377
どこがダサいの?
2020/06/27(土) 10:39:26.78ID:286JbQyE
毎回固定のシード値で初期化していいものなんかな?
382774ワット発電中さん
垢版 |
2020/06/27(土) 10:44:35.75ID:286JbQyE
System.Windows.Forms.Cursor.Position は画面全体の座標だっけ?
だとしたら、だけど、Xのマイナスってどうなるんだっけか。
383774ワット発電中さん
垢版 |
2020/06/27(土) 10:46:57.93ID:286JbQyE
>>355
>会社から借りてるシンクラだと、idVendorがちゃんと
そもそも Thin Client だと、自作プログラムは実行できないかも。
2020/06/27(土) 11:07:09.90ID:ou8Na+cd
>>375
俺のマウスだとできなかったなー
2020/06/27(土) 11:15:15.68ID:286JbQyE
>>384
俺のマウスでもできなかった。なにかのザラザラをレンズを通して結像してそれの移動を見てるんだと思うけど、鏡を使ったら何を見てることになるんだろう。
昔のロータリーエンコーダのマウスならこういう改造は簡単にできたかな。
2020/06/27(土) 13:11:02.28ID:NR/yP7Qb
マウスの動きを監視されてるってこと?
2020/06/27(土) 15:25:25.05ID:kukwGZsd
思考盗聴されてる
2020/06/27(土) 18:25:37.90ID:Ib1cQ0+F
Arduino IDEの新バージョンはボード選択メニューが階層になって選びやすくなったけど
ライブラリのメニューは変更なしか
次のアップデートで、ライブラリは別ウィンドウのダイアログで管理できるようになれば良いのにな
こんなにライブラリが増えるとは当初思っても見なかったわ
2020/06/27(土) 21:40:56.48ID:ou8Na+cd
んなことよりあの低能エディタなんとかしてくれや
2020/06/28(日) 00:40:35.00ID:WkujcDTE
使わないボードは追加したくないなぁ…
391388
垢版 |
2020/06/28(日) 00:43:43.51ID:m28ss3hN
あ、今でも別ウィンドウで管理できるけど
自分でフォルダー作って好きに纏めたりとか出来たら良いんだけどな
2020/06/28(日) 00:57:59.79ID:0PMyvakQ
VScodeなり使ってPlatformIOとかで開発したらええんじゃない
2020/06/29(月) 20:54:56.97ID:Q45+zktt
それがなんかうまく行かなくて、ArduinoのIDEじゃないと動かない場合がある
2020/06/29(月) 20:57:17.98ID:ANAJ3kDu
同じgccでビルドしてるんだからどっか構築が間違ってるだけだよ
2020/06/29(月) 21:46:26.35ID:Q45+zktt
でも直らないんだわ。
2020/06/29(月) 21:54:36.68ID:sTpgrg8y
何がどう動かないのかを書かないとなあ
ま、書けないから、直せないんだろうけど
2020/06/30(火) 06:43:40.29ID:X3AZeJaJ
PlatformIO IDEだと純粋なC++になる
Arduinoは純粋なC++じゃなくて特殊なことをやってるC++もどき
だからArduino IDEでコンパイルが通るのにPlatform IOだと通らないこともある
一番目立つ違いはPlatform IOだと
関数はその関数を使う関数よりも先に宣言しないと使えないのに
Arduino IDEでは宣言しなくても使えること
Platfom IO IDEを考慮してないArduino IDE用に書かれてるサンプルは
ほぼ間違いなく修正なしに動作しない

Platform IO IDEを使ってる人はその辺はなれてるから
簡単に修正して動かすことはできるけどね
2020/06/30(火) 06:52:56.00ID:X3AZeJaJ
たとえばPlatform IO IDEだと
こうしないとコンパイルが通らないが
#include <Arduino.h>

void func01(void);
void func02(void);

void setup() {
Serial.begin(115200);
func01();
}

void loop() {
func02();
delay(10);
}

void func01(void) {
Serial.println("func01");
}

void func02(void) {
Serial.println("func02");
}
2020/06/30(火) 06:53:47.21ID:X3AZeJaJ
Arduino IDEだとこれでコンパイルが通る

void setup() {
Serial.begin(115200);
func01();
}

void loop() {
func02();
delay(10);
}

void func01(void) {
Serial.println("func01");
}

void func02(void) {
Serial.println("func02");
}
2020/06/30(火) 07:04:47.80ID:X3AZeJaJ
あと、Platform IO IDEだとVScodeは自体は軽いのだろうけど
Platform IO自体がPythonで書かれてるようでかなり重い
2コアのCPUだと重すぎて裏で何か動かすこともかなり辛い
2020/06/30(火) 07:09:58.84ID:X3AZeJaJ
Platform IOのいい点は#include文が<>でも""でも
srcフォルダの直下を最初に見に行ってくれるので
ライブラリを毎回修正してる場合、
srcフォルダの直下にライブラリのソースファイルを入れておけばいい点
2020/06/30(火) 07:44:59.50ID:X3AZeJaJ
あと、Platform IOはフレームワークのバージョンをプロジェクト毎に指定してビルドできたり
FlashやRAMの多いマイコンならサイズ重視の最適化オプションではなく
速度重視にしたい場合もあるが
Platform IOなら、プロジェクト毎に最適化オプションを変更できたりいろいろ便利ではある
2020/06/30(火) 11:14:32.69ID:grdMHqDh
>>397-402
非常に参考になった
ありがとう!
2020/06/30(火) 12:35:55.74ID:XnR/d/s2
最適化はまぁpragmaでもよくね
2020/06/30(火) 14:04:39.09ID:dPolC2AY
初心者スレなんで簡単に>>397-402の要点を書くと
初心者はPlatform IOに手を出さなくていいということ

で>>ID:Q45+zkttはどうなった?
2020/06/30(火) 17:35:46.62ID:NICbj4Sd
おおざっぱな質問なんですが
arduinoのadってどれくらい電力を消費しますか?
2020/06/30(火) 17:54:55.16ID:XnR/d/s2
>>406
大雑把過ぎるぞ
どのArduinoかによって載ってるマイコンが違うのに
あとADてなんだADCのことか?
とりあえずUnoとかNanoに載ってるATmega328PのADCの消費電力ならデータシートの522ページに載ってる
2020/06/30(火) 17:55:40.53ID:NICbj4Sd
>>407
ありがとう
流石です
2020/06/30(火) 17:58:03.44ID:NICbj4Sd
データシートが258ページしかないんですが甘えないで探します
2020/06/30(火) 18:02:59.30ID:CAWqQqNN
マイコンは大抵データシートは2種類ある
2020/06/30(火) 18:08:33.58ID:NICbj4Sd
本物と偽物(・_・?)
奥が深い…
2020/06/30(火) 18:08:55.63ID:2789xb1F
>>409
勝手に日本語にした奴は公式じゃないから使うのやめとけ
あれたまに間違ってるし
ちゃんとMicrochip公式のデータシートを見ろ
2020/06/30(火) 18:11:41.87ID:zzJGHOCJ
>>411
これが本物
http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf
日本語のは偽物
2020/06/30(火) 18:12:22.66ID:NICbj4Sd
>>412
公式のやつも294ページしかありませんでした
他のやつもあるかもしれないのでサイトほってみます
2020/06/30(火) 18:13:03.44ID:NICbj4Sd
>>413
ありがとう
見てみます
2020/06/30(火) 18:13:49.54ID:zzJGHOCJ
拾うのは製品ページからね
https://www.microchip.com/wwwproducts/en/ATmega328p
2020/06/30(火) 18:15:21.39ID:NICbj4Sd
判明しました
みなさまありがとうございました
思っていたより結構消費するんですねー
2020/06/30(火) 18:17:27.97ID:zzJGHOCJ
バッテリープロダクトならあらゆる周辺回路は使うとき以外極力オフにしておこう
ADCは違うけど中には明示的に止めないとスリープしても動いてるのもあるし
2020/06/30(火) 18:28:38.99ID:7ZWaxe46
AVRのADCは0.2mA弱喰った記憶がある、そんで16MHzの本体が15mAとかだったような
たまに中華クローンで電源LEDがバカみたいな明るさになっててお前が光るだけでマイコン並みじゃねえかみたいの有って笑う
2020/06/30(火) 18:28:56.25ID:st8CDjCG
>>418
すごいそんな事できるのか
2020/06/30(火) 18:31:45.74ID:70L6Pwaf
>>419
スイッチのプルアップがおかしくて
スイッチ押すと異様に電力食うESP32中華製品とかあるし
2020/06/30(火) 18:33:53.04ID:7ZWaxe46
>>420
>>413の51pあたりから消費電力削減のための設定が書いてある
2020/06/30(火) 18:34:04.01ID:st8CDjCG
なんか自分で中華製買うの怖くなってきた
おススメ中華UNO教えて
2020/06/30(火) 18:38:52.05ID:5ZR+hHdP
中華UNOはでかくて高いだけの能無しだぞ
2020/06/30(火) 18:41:00.48ID:7ZWaxe46
まぁDIPがいいって人とかこのシールドが使いてえって人もいるかもしれないし
esp32とかでもわざわざUnoの形にしてるのあるしね
2020/06/30(火) 20:20:00.22ID:KAxA4iTJ
もっと小さいのがいい miniとかmicroがいい
2020/07/01(水) 02:30:31.96ID:ri8kc3n0
完成したらUSBシリアルは不要なのでprominiでもいいんだけど
不思議とNANO互換のほうが安かったりするんだよな

純正ProMiniはA4-A7がボードの中央にあってピッチもずれてて使いにくいんだけど
中華ProMiniは端っこに修正されてる
https://www.aliexpress.com/item/33026933494.html
これはクリスタル交換も容易、16MHz←→8MHzや20MHzもできる
なんせ安いから躊躇無くコテ入れられるわ
LDOも交換しないと3.3V発生してくれないけどこれは外付けでもいいだろう
2020/07/01(水) 02:52:25.87ID:ri8kc3n0
LDOはピン互換じゃない場合があるので回転したり裏返したりしないと大惨事になるよ

クリスタルとLDOを交換した例
https://i.imgur.com/CCXHiG3.jpg
2020/07/01(水) 04:06:13.32ID:Tp3Vaevp
>>397
単なるプロトタイプ宣言。gcc ならオプションで制御できる。
-Wimplicit-function-declaration
ArduinoIDE と PlatformIO で同じオプションを付けないと全く動作が変わるし、
生成されるコードも大きく変わる。
2020/07/01(水) 06:08:41.98ID:weKOVamu
>>429
他人の作ったプログラムをコピペするなら必要かもしれないが
自分で作る場合はわざわざArduino IDEに合わせる必要ないと思うけど
ライブラリでトラブルにあったことは今のところないし
それに関数で使う前にプロトタイプ宣言が必要ないのは.inoのファイルだけだぞ
.cppや.cだと必要
2020/07/01(水) 11:07:20.72ID:Tp3Vaevp
>>430
> それに関数で使う前にプロトタイプ宣言が必要ないのは.inoのファイルだけだぞ
> .cppや.cだと必要

-Wimplicit-function-declaration って書いたのが見えてない?
プロトタイプ宣言無しでもコンパイル通る
もちろん .c でもな

ただそれを標準装備の ArduinoIDE のように常用するのは、どうかとは思うよ
ArduinoIDE使ってる人と、emacs+PlatformIO 使いが同じコードを書くとは思ってない
2020/07/01(水) 13:49:01.33ID:weKOVamu
>>431
だからArduino IDEがプロトタイプ宣言がいらないのが.inoだけで
.cや.cppはプロトタイプ宣言がいるんだよ
だからライブラリとかはプロトタイプ宣言がいる使用なの、Arduino IDEはね
2020/07/02(木) 05:07:34.15ID:Wa1cLL4t
32bitのArduinoはたくさんあるが
よく考えてみると16bit CPUのArduinoはあまりないね
全くないわけじゃないけど、どれも普及してない
ARMが8bit、16bitマイコンの置き換えを狙ったCPUコアのCortex-M0+を使った
SAMD21みたいなマイコンがあるから必要ないのかな?
2020/07/02(木) 06:38:37.47ID:wI0+UcHK
>>428
早く言ってくれよ
どれも2番が出力じゃないのかよ
マジックスモークだよ
2020/07/02(木) 07:47:48.55ID:JPU+wjPu
>>434
データシートを読むのは基本だぞ
いい勉強になったな
2020/07/02(木) 22:01:36.35ID:xSHw87wU
要は、PIC
2020/07/02(木) 22:55:26.98ID:UBcCm4go
>>436
要はYo!
2020/07/03(金) 04:52:23.30ID:tI5PBwNB
MicrochipとしてはArduinoはAVRやARMのSAMで押さえてるから
あえてPICでArduinoやろうとはしないだろうね
PIC32のArduinoはあるようだけど
2020/07/03(金) 08:59:05.90ID:gNUxlcuO
>>433
精神的な要因が多いのでは?
16bit位が丁度いいと思ってるけど、8bitで作れるようなものを16bitで作ると貶される(気がする)
コストを求める業務用ならともかく、趣味の世界では8ビットを16ビットに置き換えたほうが幸せになれる気がする
(主張はともかく家に在庫してるマイコンは8bitか32bitが大半を占めてる)
440774ワット発電中さん
垢版 |
2020/07/03(金) 09:32:29.19ID:c1L+OymY
>>434
マジックスモーク…良いな
2020/07/03(金) 15:08:44.69ID:5wVu6GjW
リソースを節約する古き良き職人気質は、マシンパワーでぶん回す時代の流れに押しつぶされるんだね。
2020/07/03(金) 15:58:23.00ID:7bLglRdX
使い分けできてこそ真の職人ですよ
2020/07/03(金) 22:51:25.50ID:4gbI3DFc
>>442
個人レベルだと学べることに限界はあるからなあ。
2020/07/03(金) 23:02:53.16ID:9SDhQQDo
今どき薪割りして風呂沸かしてる家なんか無い
やってるとしたら趣味の領域
それと同じだ
2020/07/04(土) 00:25:48.94ID:GOz77qVv
>>433
>全くないわけじゃないけど、どれも普及してない
あったのか…
2020/07/04(土) 00:27:04.52ID:euFOav16
>>444
Arduinoを趣味意外で使ってる企業(個人)ってあるの?
2020/07/04(土) 00:31:21.26ID:576uIAg1
セコセコしないで技術革新によるパワーの恩恵を十分に堪能すればいい
2020/07/04(土) 02:59:36.28ID:5z89IDr3
>>444
フツーにいる
https://youtu.be/pn39e3A74Ak
2020/07/04(土) 04:47:35.60ID:DpJ1TLQ/
>>444
うち薪だけど
ばかにしてる?
2020/07/04(土) 08:04:46.73ID:FURSp6sw
さばいどるかと思ったら、さばいどるだった。
2020/07/04(土) 09:17:17.95ID:GOz77qVv
近所の銭湯の何軒かは薪、おがくずが燃料だ。昔からのところだけど。

乗り換えるだけのメリットがなければそれでもいいわけで、それはマイコンの選択も同じ。
2020/07/04(土) 14:35:40.59ID:eRJvJ6dq
我が家の近くの銭湯も解体現場から持ち込んだと思われる廃材が庭に積んである。
経費が安く済むからだろうな。
個人の家で薪の風呂は「ポツンと一軒家」くらいだと思う。
2020/07/04(土) 15:46:26.17ID:os/OaE39
京都の洛中にある銭湯でもいまだに薪
2020/07/04(土) 16:21:49.54ID:fGiDx5i7
久しぶりに行きたくなっちゃったじゃないかw
2020/07/04(土) 19:41:28.18ID:fEZ4iF/q
家庭で使われてる洗濯機の95%は全自動だ
洗濯板の方が隅々まで汚れが落ちるんだとか
二層式の方が洗浄力が高く、洗い・すすぎと脱水が同時に出きて
短時間に大量に選択できるんだとか言ってるが、それらの利点は業務用に於いてだ
それと同じだ
2020/07/04(土) 23:07:43.58ID:RSAH7SwQ
会社の制服は洗濯機禁止で手洗いせよと書いてあるので
帰ってそれだけ手洗いしてる

そのあと脱水は洗濯機
乾燥機もダメ
2020/07/05(日) 19:00:12.56ID:FJr2K4gK
>>456
どんな制服なんだろ
o(^o^)o
2020/07/05(日) 23:07:46.09ID:iE/zESjH
ネクタイ&靴下
2020/07/06(月) 00:21:34.31ID:BifOsr1y
ちんこ丸出し?
2020/07/06(月) 01:10:50.96ID:80eu3K+Q
お盆で隠す
2020/07/06(月) 09:57:15.44ID:CesM4cYd
Arduino100%
2020/07/07(火) 21:09:36.95ID:mE3g/Mn8
スマートハレタの話題って、このスレで大丈夫ですかね
2020/07/07(火) 23:13:14.03ID:RHt37uVE
>>461
なんだっけ?そんなタイトルのゲームがあった気が
2020/07/07(火) 23:27:58.54ID:8tTRl88F
アキラ100%
2020/07/08(水) 00:26:07.50ID:LsAbi4TJ
>>463
ゲーム製作集団のことかな?
タイトルの前にロゴが出てくるんで覚えてるんだろうと思う

Bio_100%
ttps://ja.wikipedia.org/wiki/Bio_100%25
2020/07/08(水) 00:29:19.30ID:8bsRq4Ni
Bio_100% はWinGXで抜け作のゲーム遊んだわ
2020/07/08(水) 10:17:33.98ID:trzlPcxa
どちらも同じWIZnet社製W5500チップを使ってるやつなんだけど
3.3VのArduinoで使いたいんだけど、どっちがいいのかな?

WIZ550io v1.3
https://www.switch-science.com/catalog/2382/
税込単価 1,980 円

WIZ850io
https://www.switch-science.com/catalog/3683/
税込単価 2,442 円
2020/07/08(水) 14:25:08.69ID:fp4BoZkv
>>465
あーそれだ
kanimisoとか
2020/07/08(水) 20:24:07.10ID:nJBYCwt0
>>467  送料足しても500円しないぞ
https://www.aliexpress.com/item/33007886028.html
2020/07/08(水) 22:15:02.95ID:trzlPcxa
>>469
1ヶ月、2ヶ月待てるかよw
しかし、毎回中華の回し者が来るな
2020/07/08(水) 22:27:34.00ID:/UJdmssE
>>470
などどswitchscienceの回し者じが吠えております。
2020/07/09(木) 04:14:48.94ID:gUwXHLKx
>>471
日本の公安当局、中国主導とみられるネット工作を確認 日本国内の協力者や協力組織との関係も含めて監視を…★5
https://asahi.5ch.net/test/read.cgi/newsplus/1592525494/l50?v=pc
2020/07/09(木) 04:53:09.86ID:ktcmP2Jy
>>472
ソースすら読まずにニュー速のスレタイだけを見て脊髄反射するから
何の関連も無い場所で何の関連も無い流れでクソレスw
まあ、ウヨさんの無能さにも最近は慣れて来たけど、一応言っておこう
文字読めますか、理解力ありますか、馬鹿ですか、と
2020/07/09(木) 05:14:07.53ID:gUwXHLKx
アリババを利用するなんて中国政府に個人情報渡すような行為誰がするんだよ
2020/07/09(木) 05:37:21.10ID:gUwXHLKx
アリババ元会長は中国共産党員

アリババ会長も中国共産党員......「赤い資本家」がIT企業に潜む
https://www.newsweekjapan.jp/youkaiei/2018/12/post-30.php
> そのような政治的洗礼を受けていたならば、
> マーは一企業人として資本主義風に金を稼いできたのではなく、
> 隠れ共産党員として市場原理を利用し、党と政府のために工作してきた、と言えよう。
> 日米の政財界と太いパイプを築いたのも、
> リベラルな企業人として世界経済に貢献したというよりも
> 「高級スパイ」として潜入したとみたほうがいいかもしれない。
>
> そもそも中国ではアリババほどの規模になると、
> 政府や共産党の触手から逃れて市場原理だけで経営などできない。
> 改革開放を掲げた政府の「社会主義市場経済」は建前。
> 実際の中国経済は共産党員である「赤い資本家」が国家資金を駆使して、
> 国民を搾取する官営資本主義だ。
2020/07/09(木) 08:17:38.69ID:wj6fZoUu
ネトウヨも 履いてるパンツは 中国製
2020/07/09(木) 08:25:16.60ID:LOXJc3+i
俺はどちらかというとリベラルでネトウヨではないからな
2020/07/09(木) 08:25:44.09ID:LOXJc3+i
IDが変わったようだ
479774ワット発電中さん
垢版 |
2020/07/09(木) 11:55:13.43ID:6o1vgENl
俺aliexpress派
最近大分まともに届くようになった
物流が回復してきている
2020/07/09(木) 13:38:09.09ID:/P3fRpqs
ラズパイzeroはswitchscienceで買ったけど
Arduinoは全部中華互換機だなあ、
最初は尼で買ってあとはずっとAliexpress

switchscienceで面白そうなもの探してAliexpressで互換品買うといのもよくある
倒産すると困るので、俺以外の人はswitchscienceで買ってあげてください。
2020/07/09(木) 15:13:46.25ID:KSzrPGZH
習近平に忖度した安倍晋三が春節にコロナ満載の中国人観光客に熱烈ウエルカム
こういう事実は見えないふりなんだよね、こういうヤツって>>ID:gUwXHLKx
自分の都合のいい方向から見た都合のいい側面しか語らない便利な価値観の持ち主
2020/07/09(木) 21:53:39.57ID:rx/D8dtB
すぐ政治ネタ持ち込むやつは頭おかしいって気づけよ
483774ワット発電中さん
垢版 |
2020/07/10(金) 15:08:55.26ID:OA3fuZmD
格安wifiモジュール「esp8266」「esp32」 が落ちてるみたいなので、ここで質問します

ESP8266でスマホのLINE通知を受信できますか?
通知があればESP8266でLEDとかを光らせたいです。
2020/07/10(金) 16:56:13.87ID:BMsaBw/G
>>476
中国批判するなら中国製品を着用するな、なんて考える方がいかれてるだけなw
ソ連誕生間もない頃、資本主義国家と貿易すべきかどうかが問題になったことがあった
レーニンはこう言った
資本主義者から買ったロープで彼らの首を絞めればいい
ということで貿易することになったとさ
2020/07/10(金) 17:09:46.01ID:gwGw4rpP
中国製、コストのみならずパフォーマンスも上がってきてるからな。
20世紀からアップデートしたほうがいい。

民生品だったら、日本製は C/P 悪すぎて話にならなくなってるし
486483
垢版 |
2020/07/10(金) 17:59:24.30ID:OA3fuZmD
本スレが建ったようなので、質問を取り消します。
487774ワット発電中さん
垢版 |
2020/07/11(土) 10:54:42.92ID:GiBOEFmg
>>483
出来る方法はあるけど、そういう質問をしてるレベルだと難しいと思う。

「なんとかのスケッチを書き込めば出来る」
っていう感じではなくて、いくつかのサービスを組み合わせてシステムを実現するかんじ。
2020/07/11(土) 23:40:59.23ID:SQsIxAJk
思うように動かず質問です。
Aruino nano互換機とPIRセンサーとサーボモーターを組み合わせ、
PIRに手をかざした時にサーボモーターが決められた角度動いて元に戻るようにしたいと考えています。


#include <Servo.h> //サーボモーター用ライブラリを読み込み


const int PIR_ON = HIGH; // PIRセンサーが反応しているとピンの値はHIGH
const int PIR_OFF = LOW; // PIRセンサーが反応しているとピンの値はLOW

const int PIN_PIR_SIG = 12;
const int PIN_Servo = 8;

Servo myservo;

void setup() {

pinMode( PIN_PIR_SIG, INPUT_PULLUP );
pinMode( PIN_Servo, OUTPUT );

myservo.attach(12);//servo変数をピンに割り当てる、ここでは12番ピン

}

void loop() {

int i = digitalRead( PIN_PIR_SIG );
if (i == PIR_ON) { // PIRセンサーが反応していたら
digitalWrite(PIN_Servo, HIGH);  
}
else {
digitalWrite(PIN_Servo, LOW);
}

}

Void loop中のサーボを動かすコードはどうすればよいでしょうか?
また、コードの中でおかしい箇所(たくさんあるかもしれません・・・)ありましたらお教えください。
2020/07/11(土) 23:48:17.09ID:5kBEjbAG
サーボライブラリの使い方調べて出直してきて
2020/07/11(土) 23:50:43.33ID:sGhP0v53
とりあえず、これくらい読もう
http://www.musashinodenpa.com/arduino/ref/index.php?f=1&;pos=712
2020/07/12(日) 00:01:21.25ID:XyJwxr8v
>>488
まずここやって
https://www.denshi.club/cookbook/output/motor/servo/1-arduino-uno.html
それでまだ疑問点あったらまた質問してね
2020/07/12(日) 00:39:38.04ID:NunQkGrW
>>488
サーボは8番ピンじゃないの
const int PIN_Servo = 8;
と設定したんなら
myservo.attach(PIN_Servo);
と書きましょう
2020/07/12(日) 00:47:37.13ID:9wYOH1hV
もう間違い探しクイズになってんじゃんw
494488
垢版 |
2020/07/12(日) 06:43:28.85ID:KNKmkzUW
皆さんありがとうございます!
再度見直してみます。
495488
垢版 |
2020/07/12(日) 09:27:38.33ID:KNKmkzUW
出来ました・・・!
感動です!
LEDも組み合わせましたが動作しています。
皆様のおかげです、ありがとうございました。
2020/07/12(日) 17:17:23.11ID:TvDsybsh
最初はそんなもんだ

初めてfortranで書いたプログラムが動かなくて先輩に相談したら
カンマがピリオドになってただけ。
自分じゃ半日眺めても分からなかった
2020/07/12(日) 17:20:27.31ID:RnLWy+FD
ELEGOOのMEGA2560スターターキット買ってチュートリアルどおりにやってるんですが、Lesson30のリレーが作動しません。
直前のLesson29で電源モジュールつけて、L293Dというドライバつけてモーターを動かすのはできたのでそれら部品は問題ないです。
Lesson30はリレーが加わっただけなのでリレー部品が壊れているのかと思いますが、壊れているかの確認方法がわかりません。
確認方法等なにかありますでしょうか。
2020/07/12(日) 17:28:32.15ID:TvDsybsh
リレーはコイルと接点でできている
コイルに電流流すと接点が閉じたり開いたり。

電池と豆電球があれば機能確認できるでしょ。
499774ワット発電中さん
垢版 |
2020/07/13(月) 10:43:17.62ID:giIfGvY9
Arduino UNOを書き込み装置としてブレットボード上の328Pにブートローダを書き込みたいのですが、
avrdude: Device signature = 0x000000となりうまくいきません。
どういう手順で確認したらよいでしょうか・・・
2020/07/13(月) 10:55:17.88ID:5O/ADP7c
>>499
ArduinoISPのスケッチ・書き込み装置の選択までは有ってるので
結線ミスか配線の不良かブレッドボードの不良を疑ってみる
501774ワット発電中さん
垢版 |
2020/07/13(月) 11:19:49.50ID:giIfGvY9
>>500
そうですよねぇ・・・
さんざん確認したんですが。

もうちょっとやってみてダメならUNOを2台使用する方法を試してみます。
ありがとうございます。
2020/07/13(月) 11:31:33.75ID:fMkVp/8x
動作しないの?
エラー出ても実際の動作には支障ありませんって書いてるホームページあったけど
あとAtmega328Pがブレッドボードにちゃんと刺さってなかったって人もいた
2020/07/13(月) 11:46:50.91ID:5O/ADP7c
>>501
なにか足りないのかも
写真とかアップすれば他にもアドバイスできるかも

https://i.imgur.com/T0vDehI.jpg
こんな感じで

↓正常に書き込みできた時の出力
Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of lock verified

avrdude done. Thank you.
2020/07/13(月) 11:54:35.61ID:fMkVp/8x
とりあえず、スケッチ>>書き込み装置を使って書き込む からLチカのスケッチでも書き込んでみて
書き込めるか&動作するか確認してみたら?
505774ワット発電中さん
垢版 |
2020/07/13(月) 11:57:37.65ID:giIfGvY9
>>503
わざわざ写真までありがとうございます。
同じ配線はできているようなので、ブレットボードと配線の接触とかかもしれません・・・

ちょっと急ぎだったのでUNO2台を使用するやり方で1発成功しました。
お騒がせしました。ありがとうございました。
506774ワット発電中さん
垢版 |
2020/07/15(水) 10:43:54.65ID:qAKj+IKE
Arduino NANO の3.3Vはどこで作られてますか?
FT232RLまたはCH340?
裏についてる3端子レギュレータじゃなさそうに見えます…
2020/07/15(水) 10:52:33.95ID:vjiBDLwz
>>506
回路図によれば純正のはFT232RLの3V3OUTピンから出てる。
2020/07/15(水) 11:41:35.77ID:qAKj+IKE
>>507
ありがとうございます
やっぱそうですよね
いまいち自信がなかったもので
インターフェイスICなのにレギュレータも付いてるなんて
2020/07/15(水) 12:04:57.07ID:zlMOgAMo
>>508
3.3Vは内部で使うから、ついでに他にも使えるよう外部出力してるのかと
ただし、最大電流は50mAなのが留意点ね
https://www.mouser.jp/datasheet/2/163/DS_FT232R-11534.pdf
2020/07/15(水) 13:15:54.86ID:qAKj+IKE
>>509
FT232RLでもそんなもんなんですね
今、CH340使ってて3.3Vモジュールの動きがおかしいもので
FT232RLのやつに換えたらなんとかなるかと思ったんですが
3.3Vはオマケですねぇ
2020/07/15(水) 19:31:46.57ID:XvPe24I7
んなもん電池2個直列3Vで普通に動いておるぞ
2020/07/15(水) 19:58:32.01ID:GfuhjTks
電池はモーター回せるくらいパワーあって短時間なら1Aとか取り出せるよ
513774ワット発電中さん
垢版 |
2020/07/16(木) 00:50:14.27ID:v7h+UjFN
そういや外部からの5V入力は5Vにつないでいいの?
まぁつなげばわかるんだけどそれはナシということで
514774ワット発電中さん
垢版 |
2020/07/16(木) 08:21:43.82ID:DD0zY5gm
>>513
大丈夫では。
レギュレータのLM1117はVOUT>VINでも大きい電流が流れない限りは保護ダイオードはいらないことになってるし。
2020/07/16(木) 08:31:08.58ID:v7h+UjFN
>>514
サンクスです
ボクはそういうのがわからないレベルですw
2020/07/16(木) 11:54:38.54ID:/rSRCvh+
保護ダイオードというのはコレ
https://i.imgur.com/ETqO9ZC.jpg

AMS1117の場合はD1不要と書いてある
2電源になる場合はあったほうがいい
2020/07/19(日) 21:07:26.39ID:85sYLCJn
アメちゃんが中国と取引すんなボケーって言い出した
アリは引き上げかも知れんね
2020/07/19(日) 21:11:05.05ID:1Sx7pPvj
いつかこうなると思ってた
買い溜めしておいてよかった
あ、今のうちにハンダ大量に買っとこうかな
2020/07/20(月) 14:22:15.14ID:02EmJ5gw
トランプ(共和党)が大統領選で負けても、香港の状況を考えると、バイデン(民主党)新大統領も掌返したように、中国に擦り寄る事もできないよね
その前に、軍事オプション実行の話も出てきてるみたいだし
520774ワット発電中さん
垢版 |
2020/07/20(月) 14:28:31.06ID:GBRVMnCj
> 軍事オプション実行の話も出てきてるみたいだし
米国の空母艦載機で南沙諸島の中国軍基地を攻撃、とかやってくれないかな。
521774ワット発電中さん
垢版 |
2020/07/20(月) 14:44:35.16ID:TtbRuQc+
米中戦争・米朝戦争を対岸の火事だと思ってる日本人!
戦争景気で儲かるとか、空母やら戦闘機がちょこちょこと交戦するだけだろと思ってる日本人!
今の戦争はミサイル攻撃だぞ!

中国が何万発のミサイル・何万発の核弾頭を配備してるか調べろ!
米軍基地はどこにある!?開戦即、数千発のミサイルが飛んで来るんだぞ!
日本が戦場になることを自覚しろ!
2020/07/20(月) 16:27:03.35ID:+8HMuZfg
米中が軍事衝突したらよっぽどじゃない限り第三次になるんだよなぁ…
2020/07/20(月) 16:59:21.20ID:GJKV7xuK
激突しないために日本はもっともっと中国にすり寄り媚を売り言いなりになろう
要するにこう言いたい訳だが、ハッキリ言うと流石にバカでも、それはおかしい
と気づいちゃうんで、平和万歳、命は何より大切、ミサイル怖いですねぇ、核は怖い怖い
と少し婉曲に言ってますw
2020/07/21(火) 14:21:57.36ID:9NSFg/c4
しかし中国ってどうしようもない独裁国家だよな。
シューキンペー見てると、総統を続けられるように憲法を改正した第二次大戦前のヒトラーを思い出す。
ヒトラーのポーランド侵攻のようにチベット、内モンゴル、ウイグル自治区を侵攻、占領して
悲惨なジェノサイドをやり、俺のもんだと勝手に宣言して、所有権が無い南沙の島々に基地を作った。
国民は金のためなら何でもやる金の亡者だし、
とにかく中国は世界平和のために一刻も早く滅んで欲しい。
2020/07/21(火) 16:23:39.60ID:ko9+s83f
>>524
その習近平に忖度しインバウンドを見込んで春節に中国人ウェルカムの安倍晋三にもひと言どうぞ
2020/07/21(火) 16:28:11.54ID:3WC4JOP6
そんなナチスと手を組んだ日本とイタリア
何考えてたんだか

今はアメリカに付いてるけど、これも逆張りかもねw
2020/07/21(火) 16:42:09.13ID:kE9rIfuI
石油資源の有無だね
アメリカべったりから抜け出そうと画策した田中角栄はハメられた
その意思を受け継いだ石破の息子は未だに冷や飯喰ってる
ボンボン育ちの無能安倍がでかい面して担がれて日本は亡国の憂き目
2020/07/21(火) 17:04:49.85ID:fnT69Ed0
君たち中国好きすぎだろwww
日本のマスゴミも大使呼んで映像見ながらインタビューすれば良いのにw
好きだかだぁ、絶対やりません、ってか
https://youtu.be/DwBaL-5o1oc
2020/07/21(火) 17:08:38.78ID:9NSFg/c4
毛沢東と紅衛兵で懲りたはずなのに、アホは過去から学ばないみたいだな。
とにかく諸悪の根元<中国帝国>が滅べば世の中は平和になる。
2020/07/21(火) 17:08:59.85ID:oDMByfky
ええと、どこに中国好きが?
2020/07/21(火) 17:13:16.70ID:fnT69Ed0
えっ? 好きじゃないの? オレも結構好きだけどな
歴史、兵馬俑、謎の遺跡、大陸ロマン、なんだかんだ言っても良いところはたくさんある
嫌いなのは数々の拷問や残虐な刑罰にかける情熱と発想力、人を美食で食してたり
今は何より偽物の多さ。パクるのはまだ許せるけど偽物多すぎ
2020/07/21(火) 17:17:18.87ID:NrZzgBuj
それ過去の中国文化ね
わざわざ大雑把な定義持ち出して、後出しじゃんけん好きそうだな、あんた
2020/07/21(火) 17:20:23.66ID:t6RjnoNC
チャーハンとギョーザは許す
2020/07/21(火) 17:22:29.88ID:+G1ybzKz
どっちも跡形も無く日本製じゃね?
2020/07/21(火) 17:27:52.23ID:fnT69Ed0
そりゃ歴史も長いし広いし大雑把にくくらなきゃ話できないだろ
あと年寄りと話すとわかると思うけど中国マジで好きな人多いよ
むしろ嫌いって人に会ったことないかも、、、公言しないだけかもしれないが
2020/07/21(火) 17:32:36.61ID:fnT69Ed0
あ、食べ物だけは別というか特におばちゃんは中国産と聞いただけで
やめた方がいいんじゃない?、って感じの反応する、まあわかるけどw
2020/07/21(火) 17:40:33.37ID:fnT69Ed0
しかしArduino全然関係なさすぎて酷いなw
ここがどうかは知らないが、けっこうマイナーなスレでも工作員だかシンパだかすぐ湧くけど
それだけ色々浸透してる。技術も向上も中国に献上して、安いよ、と喜んでたら
その安物さえ買えなくなって中国人をインバウンドでおもてなし、酷いよなw
お返しはコロナで色々壊滅、なんてこったい
2020/07/21(火) 17:52:58.47ID:+G1ybzKz
中国のせい、で済まそうとするのは
無能な政権を擁する国の無能な政権の常とう手段
迎え入れてんのは安倍晋三
2020/07/21(火) 18:01:16.42ID:TsnyhxnL
>>537
おまえがな
2020/07/21(火) 22:15:04.87ID:GB9jCOxA
>>525
はい、アドルフ・ヒトラー総統に対するヨーゼフ・ゲッベルス首相みたいなのが、安倍晋三ですwww
2020/07/22(水) 15:27:45.18ID:EIvibuvv
>>538
トランプにハブられた習近平が何とかしてと泣きついてきたので、
阿倍総理が「じゃ国賓招待するから日本においで」と助け船を出した。
昔、天安門事件の後、世界で孤立した中国を助けるために
海部首相が訪中したのと同じ。
その後の東シナ海の石油掘削問題や尖閣諸島の中国軍艦の領海侵入を見てると、
中国政府がどんなに悪逆非道かがよ〜く分る。
絶対に信用してはいけない国だ。
2020/07/22(水) 15:46:03.96ID:EIvibuvv
昔、ベトナムがアメリカを追い出して一息ついている時に、
中国軍がベトナムに侵攻した。
 エ?ベトナムが米軍と戦っている時はベトナムをサポートしてたじゃないか?
 中国は領土拡張のためなら何でもやるんだな、しかも相手が弱っている時を狙って。
とビックリした。
中国は絶対に信用してはいけない国だ。
2020/07/22(水) 15:50:25.66ID:EIvibuvv
こんな話はいくらでも有るけどスレチだよね、悪いね、終わりにする。
2020/07/22(水) 15:51:34.01ID:o6ZkPee8
14億のうち10億人が死んでも、アメリカの人口を1億以下にして
まだ核攻撃の余力を持っていれば勝ちっていう、人命無視の共産主義国家って怖いな
でも戦争になったら共産国って強いんだよね
2020/07/22(水) 15:52:07.55ID:CtAHfKQX
>>541
絶対に信用してはいけない国に助け船を出したマヌケな安倍晋三のせいで国民大迷惑ってことですねわかります
2020/07/22(水) 15:54:47.68ID:o6ZkPee8
Pro Mini互換ボード200円
https://www.gdm.or.jp/crew/2020/0717/355970

もう値上げされてるAliで買うのと値段が変わらなくなってない?
2020/07/22(水) 15:54:51.71ID:HEsJXCQa
>>541
野良犬にお手して噛まれたら「野良犬の野郎けしからん」とは言わない、お手した奴がバカ
自分の手をかまれるのは勝手だけど国民犠牲にした安倍晋三の罪は万死に値する
そういう現実を見据えた議論しないと日本が滅びるぜ
2020/07/22(水) 16:02:09.68ID:Guq5+ldd
>>546
今Aliで2個買えば送料込み194円

もっとも、1個だけとかいうバカな買い方すると230円なので
徒歩でその店に行って水分も取らずに帰ってくれば確かに安いね
549774ワット発電中さん
垢版 |
2020/07/22(水) 20:36:58.89ID:wsDQ8PjS
先輩方お世話になりますm(__)m

砂時計を2分ごとに180度回転させて、自動で砂時計を
上下回転させる
物を組んだのですが

サーボモーターが正確に180度回転してくれないんです_| ̄|○

170度くらいです。いろいろな数値を確認したのですがNGです

先輩方どの様な原因方法があるか教えてくださいませm(_ _)m

パルスモーターでやろうかも検討してます。
2020/07/22(水) 20:38:50.47ID:wIPlZaiY
>>549
センサー使うのが照っとり
551774ワット発電中さん
垢版 |
2020/07/22(水) 20:40:05.29ID:wsDQ8PjS
それと先輩方m(__)m

パルスモーターの先に付ける、ギヤなどの頭はどこに売っているのでしょうか?
いろいろとググったのですがダメです。

デカイ十字やデカイ円形の物を装着して、砂時計やオイル時計を
自動で回転させたいんです
552774ワット発電中さん
垢版 |
2020/07/22(水) 20:59:09.63ID:xczfcZ0M
Ali なら gear で検索したら山ほど歯車が出てくるけど、
それは、俺の環境(過去の検索履歴)の影響?
553774ワット発電中さん
垢版 |
2020/07/22(水) 21:03:39.12ID:xczfcZ0M
国内でバリエーションが多いのは協育歯車かな。ずいぶん昔に買ったきりだけど
https://www.kggear.co.jp/
2020/07/22(水) 21:04:38.20ID:wECwVSqI
>>549
そもそも180度も回るっけ?
いっぱいいっぱいじゃないの?
ステッピングモータにするか改造して連続回転する。


http://akizukidenshi.com/catalog/g/gP-12488/
2020/07/22(水) 21:08:48.56ID:wECwVSqI
頭2
https://www.aliexpress.com/item/4000208248034.html
2020/07/22(水) 21:09:36.27ID:ETtUvr91
>>549
サーボモーターってメカニカル的にリミットがあるんだよねー
SG90の正規版もそう
それでも200度くらいは行けるけどね、おかしいな
そして「DM」ってマークのパチもんSG90にはリミットが無い
記憶ではメカニカル的に360度回ってたと思う
これでどう?
557774ワット発電中さん
垢版 |
2020/07/22(水) 21:12:07.02ID:wsDQ8PjS
皆さま
ありがとうございます

少しの間にこんなにサポートが
ありがとうございますm(__)m

360回転するサーボで試したのですが、180度正確に回転しないんですよ_| ̄|○

ステッピングモーター ですね。わかりました。
2020/07/22(水) 21:13:47.62ID:JdlKLg5q
使ってるモーターの型番ぐらい書いたら?
それと波形は?正確に出てんの?
2020/07/22(水) 21:15:26.04ID:ETtUvr91
ああ、毎回正確に180度じゃないわなサーボは
2020/07/22(水) 21:17:18.71ID:wECwVSqI
>>557
それなら正確なパルス幅が出てるか確認するしかない
様子見ながら微調整
再現性が無いなら高いモーターに変える
561774ワット発電中さん
垢版 |
2020/07/22(水) 21:36:14.69ID:wsDQ8PjS
>>558
サーボはSG90と言う、サーボモーターです。

360回転すると言う、サーボモーターも購入したのですが、ラベルが剥がされているのか、外観は全くSG90と同じです。
2020/07/22(水) 21:43:20.30ID:o6ZkPee8
原始的だけど、リミットスイッチを付けるっていうのは?
0度と180度につけて、押されたらモーターを止めるっていう感じで
563774ワット発電中さん
垢版 |
2020/07/22(水) 22:15:27.24ID:wsDQ8PjS
>>555

ありがとうございます
欲しいのはこれです!

正式名称はなんて呼ぶのでしょうか?
カップリング?
2020/07/22(水) 22:47:49.74ID:ETtUvr91
>>563
ステップモーターの先につけてそれに砂時計を取り付けるの?
おもちゃレベルかと思ったけど違うの?
いやまあ詮索する気は無いけどさ
そりゃキッチリ180度だったらステップが一番さー
2020/07/22(水) 23:29:07.73ID:vytfHjrA
ラジコンサーボはローテーションサーボとか言われる一方向に回転し続けられる奴もある
だいたい型番が違うが(SG90Rとか)まぁ中華品なら同じままでも不思議じゃないな

あとSG90はパルス幅450us〜2550usまで受け付けるから190度くらい回転するはずだぞ

Arduinoのサーボライブラリだとデフォルトで544〜2450までになってるからそこまで回らないかもしれない
最少パルス幅と最大パルス幅をいじってみ
2020/07/22(水) 23:34:20.19ID:aznnPIb/
後から来て既出ネタを上から語りだすヤツw
2020/07/22(水) 23:38:38.52ID:vytfHjrA
誰もライブラリのパルス幅設定について触れてねーじゃんよ
>>556だってSG90は180度以上回るはずだけどなって言ってるけど対処方法触れてないし…
2020/07/22(水) 23:47:35.55ID:TnBNE9hE
>>549
libraries\ESP32-Arduino-Servo-Library\src\Servo.h
のMIN_PULSE_WIDTHとMAX_PULSE_WIDTHを探して値の範囲を広げてみたら?
2020/07/22(水) 23:54:09.07ID:TnBNE9hE
じゃねえ
libraries\Servo\src\Servo.h
2020/07/23(木) 00:36:55.04ID:Blul4NCS
そもそもライブラリ使ってるとも一言もいってねーんだが
「僕の書いたコードでサーボがきちんと回転しません。なぜでしょう」
しか質問してねーから
2020/07/23(木) 00:46:37.26ID:vU1WSvVe
確かにそうだが
いくらなんでも
使ってなかったらアホだで
2020/07/23(木) 01:12:41.59ID:OP30JYQ5
ライブラリ使わないで自分で制御してる人はこんな事で躓かないんじゃね
2020/07/23(木) 02:49:29.24ID:hS2Qeown
メカ方面はタミヤのキットばかりだ(´・ω・`)
574774ワット発電中さん
垢版 |
2020/07/23(木) 08:54:07.27ID:wjqev0Ma
>>570
俺も今見たがそれを最初に聞かない回答者と、言わない質問者どっちもイマイチだなって思った。

つまりどっちも同じレベルの奴らなんだなって。

で、ライブラリはつこてんのか?
普通に考えてつこてんだよな。

となるとうえでかかれたとおり、ライブラリ内の最小、最大パルス定義の問題の可能性が高い。

変えすぎるとサーボぶっ壊れるから、少しずつ様子を見ながら変えるように。
2020/07/23(木) 16:18:20.71ID:vU1WSvVe
結局ステッピングモーターにするってこと?
2020/07/23(木) 16:19:40.81ID:23Alny8U
今度はそういうマウントできたか(´・ω・`)
ライブラリ使ってんならそれくらいは知ったうえで質問してるという見方もあるぞ
2020/07/23(木) 16:30:05.24ID:bPn2xUsA
話引っ張ってるけどそういやもうサーボ関係ないんだな
2020/07/23(木) 18:02:52.25ID:StxwTMyc
>>573
ギアプリントしてるのよく見かける
2020/07/23(木) 19:08:44.58ID:vU1WSvVe
質問者もこないしおしまいだね
2020/07/24(金) 01:43:36.32ID:bqB3vBt5
俺達の連携が勝利したな
2020/07/24(金) 06:50:30.53ID:xcBzROrR
質問です
ピンの出力がでません
原因はなんでしょうか
2020/07/24(金) 08:05:36.80ID:9u7OdQ8r
>>581
故障ですかね?
もう少し詳しい状況と、スケッチを教えてくださいませんか?
2020/07/24(金) 08:14:50.09ID:xcBzROrR
>>582
配線は間違ってないしスケッチも大丈夫なんです
やっぱアマゾンの安物は壊れてるんですかね
もうちょっと高いのを買ってみます
584774ワット発電中さん
垢版 |
2020/07/24(金) 08:30:47.99ID:24j1+SRr
>>583
間違ってない、っていう意識がおかしい。そんなことだと、自分ではなくほかに原因を求めてしまう。
習慣的に、見落としや未熟のせいで何かおかしいことをしているかもしれない、って考える方が問題解決しやすい。

スケッチ、配線がわかる図、実際の配線の写真を質問に添えるといい。
2020/07/24(金) 09:03:03.29ID:iPnipTei
>>583
おまえ頭悪いんだろ? 自分でわかってるからそういうバカな文章書くんだ。
2020/07/24(金) 10:36:28.19ID:Wure39K8
>>584
ほんと、>>583 こう言う奴は、企業組織では、絶対に採用しちゃイケないタイプだな
2020/07/24(金) 10:37:37.36ID:kKn0MV2i
アマの安いのでも壊れてた事は今までなかった
半田付けがひん曲がってたことはあるが
2020/07/24(金) 10:38:11.37ID:KiWMHOmY
節度ある初心者には優しくね
2020/07/24(金) 11:26:12.27ID:9u7OdQ8r
>>583
サンプルのblink.inoすら動かない、となったら初期不良でしょうね。私も、よく安物買いますが、初期不良はなかなか無いですよ。
ピン入力は動きますか? ボード上のパワーオンled(あれば)は、光りますか?
2020/07/24(金) 11:26:57.78ID:aV/BHYzW
583の行動自体は間違ってないと思う
>配線は間違ってないしスケッチも大丈夫なんです
これは配線やスケッチを疑って何度も確認したという意味だと思う
>やっぱアマゾンの安物は壊れてるんですかね
上の事からボード不良を疑ったと思われる

経験上マイコンの不良の可能性は低いが、ボードのピンヘッダの不良や配線不良(ブレッドボードの場合)は多く考えられる
結線場所が有ってるとして、配線自体の不良やブレッドボード不良には気づきにくい
マイコンボードを追加購入すること自体は不具合の検証方法としては悪くない
2020/07/24(金) 13:25:18.43ID:fSbbh/sb
最初に買う1個目くらいは正規品を買うべきだと思うんだよね
正規品だとまず初期不良は無いだろうから
後からパチモノ買って動かなかった時に原因の究明に役立つからね
2020/07/24(金) 13:30:56.10ID:U3CeIVnB
>>590
なんかね、そもそも転送に成功していなくてエラーメッセージも見ていない 気がする。
2020/07/24(金) 13:31:59.68ID:SGCdprH5
中華互換機で不良品に当たったことは無い。
初心者の場合人為的なミスの方が圧倒的に可能性が高いので
安い分複数台購入できるメリットの方が大きい。
2020/07/24(金) 13:50:55.07ID:k+h3iYOe
>>592
これ
アマで合計10数枚のArduino互換機買ったけど、ハードウェア不良は無いな
ファームが書いて無いボードが3枚あり、自分で書き込んだが
595774ワット発電中さん
垢版 |
2020/07/24(金) 13:53:36.93ID:24j1+SRr
相談している本人が詳しい状況を開示したくないなら、手の出しようがない。
確実に間違ってなくて、それでも動かないなら、故障しかないでしょう。

たいていどこかで間違ってるわけですが。
2020/07/24(金) 13:54:04.23ID:k+h3iYOe
>>593
法規知らずに赤信号で走って、交通事故起こして、俺の責任じゃ無いと言ってるようなもんだな
597774ワット発電中さん
垢版 |
2020/07/24(金) 13:56:20.56ID:24j1+SRr
もっとも、最初の1枚は、互換品じゃなく純正を選ぶ方がいいと思う。
動かないときに、より強く自分のせいにできるわけだし。

もしかして
>ファームが書いて無いボードが3枚あり、
↑これに当たったんだろか、って思うだけで、自分のせいじゃなく、ボードのせいかもって疑うわけだし。
2020/07/24(金) 14:04:59.09ID:k4tQ/Wq8
>>ID:xcBzROrR
>>591
正規品を扱うショップのステマかな?
中華互換機のせいで商売あがったり

>>596
この場合、相手もいない自爆だし公共物への被害も無いので、勝手に事故っててって感じね
2020/07/24(金) 14:07:37.95ID:k4tQ/Wq8
>>597
ファーム書いて無きゃスケッチ書き込めないんですって言うだろ
1台目正規品説に何の根拠も無し
初心者のうちは同じものを複数買うが鉄則
600774ワット発電中さん
垢版 |
2020/07/24(金) 14:09:16.72ID:24j1+SRr
こんなところで嫌儲ふりまわす人ってめんどうくさい。
2020/07/24(金) 14:10:30.28ID:HFPATn7I
>>600
ん?図星だったかw
602774ワット発電中さん
垢版 |
2020/07/24(金) 14:11:55.05ID:24j1+SRr
>初心者のうちは同じものを複数買うが鉄則
これも一つの道。
2020/07/24(金) 14:12:20.25ID:hL8FZyFI
こんなところで擁護ふりまわす人ってめんどうくさい。
2020/07/24(金) 15:15:52.71ID:fSbbh/sb
>>598
>正規品を扱うショップのステマかな?
>中華互換機のせいで商売あがったり

なんだこの人妄想癖でもあるのか
2020/07/24(金) 15:21:03.03ID:FYYGIMnm
>>604
あまりムキになるとホントだったんだと思われるぜ
他にムキになる理由でもあるなら別だが
2020/07/24(金) 15:24:23.11ID:Gu0+XCbD
1台目は純正品買えって人が必ず登場するけどそういうことだったのか
数十台全部中華互換機な俺の経験で言えば不良品は1台も無いけどな
607774ワット発電中さん
垢版 |
2020/07/24(金) 16:17:02.59ID:24j1+SRr
問題解決の力がある人は、それで良いんだ。

次のような人には純正の方が良いと思う。
・自分を疑う代わりに、これが互換基板だからダメなのかな? と考える人。
・構成部品(特にレギュレータ)の定格が純正品と違う場合に問題解決ができない人。
・ドライバーで引っ掛かったら困る人。
・掲示板で質問するときに、自分の使っているデバイスを説明できない人。

逆に
・互換基板だからって滅多に不良はない。おかしいのは何かが間違ってるからだ。
・構成部品の違いが問題になりそうなところにはタッチしない。あるいは必要に応じて交換できる。
・ドライバーの問題ぐらいググれば解決できる。
・Arduinoに関して掲示板で質問する立場ではない。
なんて人なら、Aliで一山なんぼで買えるもので良いわけだし。

自分ができる、大丈夫、問題ない、自分が初心者のときにもクリアできたってことと、
それができない、大丈夫ではない、問題がある、クリアできない人との話は切り分けないとね。
608774ワット発電中さん
垢版 |
2020/07/24(金) 16:42:47.64ID:6xBVaESU
>>605
その手の人には、これがムキになってる様に写るんだね。
2020/07/24(金) 16:45:21.82ID:KiWMHOmY
もう少し質問者の書き込みを待ってみましょう
2020/07/24(金) 17:41:34.82ID:U2dg8Pme
581です
無事解決しました!!
ありがとうございました
2020/07/24(金) 17:52:25.79ID:d0ZgnmfP
おめっ!
2020/07/24(金) 18:54:27.43ID:iPnipTei
うそつけ
2020/07/24(金) 19:42:10.00ID:yKyNYVU8
どう見ても結論ありきのステマ>>ID:xcBzROrR
互換機でも初期不良なんて無いって意見が多数なのに言い張るステマ>>ID:fSbbh/sb
614774ワット発電中さん
垢版 |
2020/07/24(金) 22:32:52.42ID:6xBVaESU
>>613
ボクはなんでもお見通しだいっ! てか?
見てるこっちまで恥ずかしいから止めてくれ
2020/07/24(金) 22:37:37.28ID:osuz81Pp
まあ確かに国内で正規品を扱ってるショップは苦々しく思ってるだろうねえw
気の毒だけど仕方ないねえ
616774ワット発電中さん
垢版 |
2020/07/25(土) 07:43:15.79ID:u7yfTO+7
対立を煽っても意味がない。Arduino自体が互換品を妨げないものだし、オリジナル品と互換品の両方を扱ってる業者あるよね。
業務でも単品製造の特注品だと、Arduinoを組み込んだものもある。そういうところではオリジナル品が好んで使われる。
互換品であってもそれが普及の力になるなら、結果的にオリジナル品の採用も増えるさ。
都合が悪ければ、オリジナル品が互換品を締め出す手立てはあるだろう。それをしないのは、しないことにメリットがあるからと考える方がいい。
2020/07/25(土) 12:42:26.18ID:HI9UNh1n
互換/準拠とかコピー/クローンとか間際らしいよなw
2020/07/25(土) 13:53:47.24ID:atsPRSiV
>>616
相反する事実を語っただけで対立構造だと思い込むステレオタイプ乙
あと、締め出せるものなら締め出してるが締め出せないだけ
今更どうやって締め出せるのか具体的に書いてみ
2020/07/25(土) 13:55:54.80ID:hpnmk+zF
>>ID:fSbbh/sb
互換品で不良率が高いという事実をデータで示さないとね
ここまではそうでないと言ってる人の方が多い
2020/07/25(土) 14:53:26.01ID:Gng+nWIy
中華のesp32-devkitcは自動書き込み失敗するのでコンデンサつけるというのは定番だと思うんだが
手を加えないとまともに使えないものはちょいちょいある
2020/07/25(土) 15:51:24.56ID:EPwsmJiJ
>>619

>>594の人がファーム書いてないのが10個中3個って言ってるじゃん
これをあんたは不良とは言わないのか
最初に買ったのがこれだったら初心者には手に負えないんじゃないか?
2020/07/25(土) 16:01:48.48ID:vm/B7qR+
>>621
自分の情弱を棚に上げて何でも初心者面で乗り切ろうって人は何を買っても不良品だろうね。
2020/07/25(土) 16:05:18.19ID:S/O2DgRH
>>621
>>619のレスから
>ハードウェア不良は無いな
は無視して、
>ファームが書いて無いボードが3枚あり
だけ取り出して、
>自分で書き込んだが
は無視なのね。
情報操作、歪曲、ご苦労様です。
2020/07/25(土) 16:06:10.83ID:S/O2DgRH
×>>619
>>594
2020/07/25(土) 16:09:12.15ID:c70KLwYF
>>621
それは不良品とは言わず、君のスキルが不良という。
初心者であることは学ばない、調べないの免罪符ではない。
626774ワット発電中さん
垢版 |
2020/07/25(土) 20:38:37.22ID:u7yfTO+7
自分ができたんだからといって他人に同じことを求める人って、
同じことをもっとできる人に言われたら、才能のせいにすることが多いと思う。なんでだろう。
2020/07/25(土) 21:35:43.66ID:Z9aZAnUz
1個目は正規品でいいんじゃないの?
全部オープンなのに互換品締め出しとか
なんの話してんの?
理由は開発者の良心でしょう
2020/07/25(土) 22:27:37.57ID:n651kPOG
>>626
>自分ができたんだからといって
学ぶ、調べるができないなら無理、Arduinoなんかやめてどうぞ
2020/07/25(土) 22:47:04.26ID:EPwsmJiJ
中華のステマの気がしてきたぞ
>>621 で仮定の話をしたら俺自身の様に捉えてる
→日本語が不自由

ファームが書かれていないのを良品と主張
→日本では不良品、中華では良品

正規品を完全否定
→コピー大国の中華
630774ワット発電中さん
垢版 |
2020/07/25(土) 22:50:41.49ID:u7yfTO+7
程度問題。できるかできないかじゃないだろね。
2020/07/25(土) 22:52:45.45ID:STKBoGxC
自分の手に負えないと不良品
で、都合が悪くなると中華呼ばわり

民度低いなあ>>ID:EPwsmJiJ
2020/07/25(土) 23:01:05.55ID:EPwsmJiJ
>>631
俺自身の事など書いてないのに
やっぱり日本語が不自由なんですね
2020/07/25(土) 23:03:52.91ID:jwiNQhSO
1台目は正規品買え不良品が少ないから
互換機で不良品に当たったことねえし
ファームが書いてないのが3台て言ってる人いたろう不良品だ
それ不良品呼ばわりはスキル低すぎ
中華だ!中華だ!

可哀想な人
2020/07/26(日) 01:58:52.43ID:mIwH+4FX
まぎわらしい
はスルーなのか
2020/07/26(日) 04:50:29.37ID:IQG1mPLM
紛ら鷲
2020/07/26(日) 07:18:05.48ID:QOujk29c
匿名掲示板でステマが多いなんて当たり前だろうに
何をいまさら
特にArduinoやるような人は引っかかりやすそうだしな
2020/07/26(日) 07:21:02.50ID:QOujk29c
まあ、中華製はファームがかかれてないのを良品といってしまえるような品質ってことだ
初心者が手を出すものではないし、手を出しても失敗することも考えて行動しようね
2020/07/26(日) 07:31:45.38ID:QOujk29c
あと、Aliexpressは注文してから届くのに1、2ヶ月かかるからな
まともに動かないのが含まれてることを考慮して同じものを3個くらいは注文すべき
極端に安いけど、国内の業者とは使い勝手が違う
2020/07/26(日) 09:15:31.92ID:pmPxaKpk
ファームなしなんか本当にあるの?
お店の評価見てる?
640774ワット発電中さん
垢版 |
2020/07/26(日) 09:55:28.68ID:XkqEZOBy
アリでarduinoのch340ドライバ使わなくていいコピー品見掛けなくなったし
クローンも以前の二倍程度に値上げしたな
俺のpc、ch340使うクローンmegaにusb接続しながらシャットダウンさせようとすると
フリーズで完全に固まって電源ボタン長押しもやむなしなんだよね
641774ワット発電中さん
垢版 |
2020/07/26(日) 10:03:06.33ID:XkqEZOBy
ブートローダーの事をファームと言えるなら最初から入ってないとまずいな
2020/07/26(日) 10:41:25.16ID:VAI7XCGI
Arduino互換機として売られてるならブートローダーが入ってないのは不良品だと思う
atmega328pのマイコンボードとて売られてるなら不良品じゃないと思うが・・・
なかには純正品の存在を知らない初心者もいるかもね
初心者に優しくできないならこのスレを開かないのが良いと思う
意味不明な質問をエスパーしたり、初心者に理解できる回答を考えるのが好きな人が回答すればいいんだよ(俺)
2020/07/26(日) 10:45:46.96ID:B8SxE5Vb
前にマウントとりたいだけの人いたねwww
2020/07/26(日) 11:16:45.09ID:u140rkAO
クローンの話題が盛り上がってるついでに聞きたいんだけど、Nanoっていつの頃からかIDE内で旧式が(old)と区分けされたけど旧式と新型って機能的になんか違い有るの?

Nanoクローンってもれなく(old)だけど新式クローンって有るのかしら?
2020/07/26(日) 11:41:25.16ID:VAI7XCGI
>>644
気になって少し調べてみたら新・旧でブートローダーのサイズが違うっぽい
UNO R3なんかはNANOより後にでた製品らしく、ブートローダが新しくなってるみたい
NANO(旧)が2048バイトでUNOが512バイトっぽい
NANO(新)が無いので推測だけど512バイトに変わってるのかも
2020/07/26(日) 12:12:02.30ID:VAI7XCGI
新型のブートローダー書き込んでみたけど、ブートローダーの容量は2kBから変化しなかった
シリアルの速度が違うぐらい?( ↑新 ↓旧 )
Overriding Baud Rate : 115200
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us

Overriding Baud Rate : 57600
Hardware Version: 2
Firmware Version: 1.16
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us

NANO(旧)最大30720バイトのフラッシュメモリのうち、スケッチが924バイト(3%)を使っています。
NANO(新)最大30720バイトのフラッシュメモリのうち、スケッチが924バイト(3%)を使っています。
UNO   最大32256バイトのフラッシュメモリのうち、スケッチが924バイト(2%)を使っています。
2020/07/26(日) 12:30:16.23ID:o2sW5rXW
>>645
>>594 だけど、アマで買ったELEGOOのNANO3枚にブートローダが書き込まれて無かったから、USBaspのサイトを参考に、関連パーツを買って、書き込んだ
https://ht-deko.com/arduino/usbasp.html

でも、Arduino自体やICSP端子のことも分かって、とても楽しかったよ
Arduinoは、UNOはもちろんMEGAやPro Miniでも遊んでるし、関連サイトやブログが多数(世界規模だと無数!)あって玉石混交だけど、それはそれで面白いね
https://i.imgur.com/SeDthjU.jpg
2020/07/26(日) 12:31:44.69ID:VAI7XCGI
更に色々調べてみたら、NANOに新型のブートローダーを書き込んだら容量変化してたっぽい
コンパイル(検証)の時はブートローダーに関係のない容量が基準になってるっぽい
NANO(新)とUNOのブートローダーは同一の物だったので、512バイトで間違いないと思う
新型のローダーで1.5kBも容量が増えてとてもお得な気分(まあAVRの書き込み装置あるんだけど・・・)

旧 /bootloaders/atmega/ATmegaBOOT_168_atmega328.hex
新 /bootloaders/optiboot/optiboot_atmega328.hex
UNO /bootloaders/optiboot/optiboot_atmega328.hex
2020/07/26(日) 16:41:56.04ID:sDyfH409
>>639
まさにそれ
通販サイトでまともなセラーすら選べないんだろう
それって何について「初心者」なのかって話だけど、Arduino初心者として扱って欲しいらしい
必要な知識の検索すらできないのもArduino初心者だからってことらしい
全部>>642に任せる
2020/07/26(日) 16:51:12.03ID:9knC3LLz
328Pの載った互換機でわざわざブートローダ無しを作る方が面倒だろうね
載ってるチップが328PのクローンとかそもそもAVRじゃないとかなら可能性あるけど
2020/07/26(日) 17:32:18.58ID:WgvpMC6q
互換機はざっと20台以上買ったけどブートローダが書いてないのはひとつも無いな。
自分で飛ばして中華だからーとか言い訳してるだけじゃね?
お高い正規品を買ったらそんな言い訳もできないよねw
2020/07/26(日) 17:35:01.01ID:bXsGXQ0b
まあ1台持ってればあとはどうにでもなる。
https://neo-sahara.com/wp/2018/06/03/arduino-nano%e3%81%a7arduino-nano%e3%81%abbootloader%e3%82%92%e6%9b%b8%e3%81%8d%e8%be%bc%e3%82%80%e3%80%82/
2020/07/26(日) 17:47:37.14ID:boieyM1B
>>648
詳しい調査ありがとうございます。
やっぱり違いはあるのですね!

そのうち新式の方にクローンも置き換わっていくのかしら・・・
2020/07/26(日) 17:50:27.89ID:bXsGXQ0b
>>653
ブートローダの詳細の調べ方
ここの一番下のリンクから
https://neo-sahara.com/wp/2018/06/06/arduino-ver-1-6-21%e3%81%a7arduino-nano%e3%81%ab%e3%82%b9%e3%82%b1%e3%83%83%e3%83%81%e3%82%92%e6%9b%b8%e3%81%8d%e8%be%bc%e3%82%81%e3%81%aa%e3%81%84%e3%80%82/
2020/07/28(火) 14:34:58.02ID:flBAgFkT
Is That a Raspberry Pi Zero? Nope. ATMegaZero is an Arduino Compatible Board
https://www.cnx-software.com/2020/07/28/atmegazero-arduino-board-raspberry-pi-zero-form-factor/
https://www.cnx-software.com/wp-content/uploads/2020/07/ATMegaZero-Arduino-Raspberry-Pi-Zero.jpg
656642
垢版 |
2020/07/29(水) 01:09:27.75ID:Q+kYXwjv
>>649
よくわからないけど、任された!
技術力や知識力は無いけど、奉仕力で頑張る
2020/07/29(水) 14:32:22.87ID:51nyf0Ee
中華工作員がまだ暴れてるのか
いい加減スレチ
Aliや互換機の専用スレがあるだろ
2020/07/29(水) 14:41:08.79ID:51nyf0Ee
Aliexpressの工作員はArduino初心者をバカにして悦に浸ってるようだけど
Arduino初心者って中学生や高校生も多いんだぞ
あやしいAliexpressなんて勧めるなよ
Arduino互換機なら国内でだってそれほど値は張らないわけだが
いい年して、はした金を節約しないといけない貧乏人だってことか?
2020/07/29(水) 14:43:25.38ID:51nyf0Ee
今、Aliで注文したら届くのは9月か10月だぞ
年寄りにしてみれば1ヶ月、2ヶ月はすぐなんだろうがな
2020/07/29(水) 15:17:08.18ID:51nyf0Ee
みんながAliで買うようになったら日本国内にある電子工作のパーツ屋がどんどん潰れてくぞ
それで困るのは、結局、電子工作やってるやつら
2020/07/29(水) 15:23:16.84ID:wBmttPkf
>>660
Aliで買ってんじゃん
2020/07/29(水) 15:23:31.48ID:EiS7tL8J
>>658
中学生くらいの子供に買い与えるなら
センサーとかいっぱいついてる3000円くらいのセットかなぁ
そして大いに破壊して雑な扱いしたら壊れるという事を学んでもらいたい
問題が発生したら一緒に考える
2020/07/29(水) 16:21:06.15ID:51nyf0Ee
Aliで安いのは偽者中華製品だけ
正規品は安くない
2020/07/29(水) 16:40:23.41ID:fimea7bm
>>663
機嫌悪いみたいだけどお茶でも飲んで落ち着いて
( ^ω^ )_旦~~
2020/07/29(水) 17:03:50.07ID:G7Ypk1kG
初めてのArduinoで純正品を買わないで動かない!詐欺だ!って叫ぶやつは初心者というよいか只のケチという気がしてならない
純正品にブートローダーが入ってなかったらそりゃもう何文句言ってもok
2020/07/29(水) 20:28:39.28ID:KCIMRWoi
初心者とか慣れてないやつなら純正買った方が無難だろうとは思う。
互換品は慣れてからでも良いんじゃね?
2020/07/29(水) 20:57:05.08ID:W/jm15QT
最初は正規品をって人は感情論に終始
挙げてる理由も全部否定されてる
2020/07/29(水) 21:05:55.38ID:ptYoo9Am
ブートローダーは自分で書き込むものだと思ってた
そんな俺の初めては秋月の奴
2020/07/30(木) 00:20:11.67ID:9GSA/jTJ
入ってるのか入ってないのか分かりません///
2020/07/30(木) 03:03:38.74ID:X4eJGY2o
>>668
俺も俺も
最初に間違ってLeo買ってなんか違うと気がついて何故かAE-ATMEGA買った
付属のFT232を取り付けしないでライタにしてLoder書き込んだ記憶がある
2020/07/30(木) 05:09:23.06ID:wTNGDy39
もう、ボードなんて買わないで秋月やAitendoでATmega328P買えばいいじゃん
自分でブートローダー書き込めない人は
ブートローダー書き込み済みの秋月やAitendoでATmega328P買えばいいんじゃね?
672774ワット発電中さん
垢版 |
2020/07/30(木) 08:13:18.65ID:rTKRr089
Aliで安いのは中華チップのオンパレードだからな
それでも不具合はすごく少ないが
2020/07/30(木) 08:49:19.17ID:IfTnnrxW
もう、Seeeduino XIAOでいいんじゃね?
500円ちょっとでだいぶ安い、
いろいろ多機能でへんな互換機より便利
2020/07/30(木) 08:53:26.39ID:u8GC9VX3
>>673
そう、これ凄いよな
ただADCが付いて無いのがイマイチ
675774ワット発電中さん
垢版 |
2020/07/30(木) 09:14:38.38ID:LH+ESgyv
>挙げてる理由も全部否定されてる
反対意見と否定は違うよね。
そういう観点もある、と言う話は出ているけれど、選択の余地のなく全部否定されるようなことってあったかな?
反対意見が出たことが肯定論の完全な否定であると考えることも、また感情的な行為だよ。

特に初心者は純正品を買う方が良いという考え方と、互換機で良いという考え方は矛盾なく併存できることなんだし排他的になる必要はないのにな。
676774ワット発電中さん
垢版 |
2020/07/30(木) 09:17:42.75ID:LH+ESgyv
>ただADCが付いて無いのがイマイチ
え?
2020/07/30(木) 10:25:35.29ID:FHBaLDNB
>>674
つ「11個のアナログPIN」
2020/07/30(木) 12:37:09.04ID:7ZuAb88s
>>666
同意
スキルが上がればブートローダー書き込みくらい分けないだろうけど、最初は何がなんだかわからない
いきなり中華は動かないときのハードルが高い
それでやめてしまうのはもったいないと思う
自分自身arduinoのおかけで電子工作のスキルが多少は上がったからなあ
ハードルの低さは半端な熱意の自分にはありがたい
2020/07/30(木) 12:54:05.45ID:8mETflVp
でも初心者が電子工作やるにあたってAmazonとかでスターターキット買って始めたりするからなあ
俺はネットで検索するクセが付いてるから全く困ることはなかったけど
680774ワット発電中さん
垢版 |
2020/07/30(木) 13:14:51.59ID:j07ZLkFl
スターターキットはELEGOOかもしれんね。
681774ワット発電中さん
垢版 |
2020/07/30(木) 13:26:02.09ID:j07ZLkFl
えれぐーのレッスンCD途中までやったけどね。
まあ最後までやれば何でも作れるようになるだろね。
そこまで暇じゃないけど。
2020/07/30(木) 21:23:01.67ID:Wpzn7guq
>>680
ELEGOOいいね
マイコン入門から、かなりのレベルまでIoTの学習ができる
2020/07/31(金) 02:32:18.26ID:Fh7brBAP
Elegooフィラメントは安くて普通に使えて良かった
再販してほしい
684774ワット発電中さん
垢版 |
2020/07/31(金) 05:35:46.52ID:eBsEYuwe
ELEGOOはUSBシリアル変換の石にちゃんとATmega16U2使っていて
安いから好感もてる
685774ワット発電中さん
垢版 |
2020/08/01(土) 13:26:35.69ID:FZVIJEab
こちらのURLのパワーパックを作ろうと思っているのですが

https://pwm.sigris-rabo.work/?page_id=199

線路出力の制御にリレーモジュールの省略されているので誰かそれの回路図を教えていただけないでしょうか?

なお使うリレーモジュールは汎用品になります
2020/08/01(土) 13:46:16.37ID:iRebmg3T
>>685
母線引き通し(線路出力制御用)リレーと方向指示リレーの事だと思うんだけど、それだったら
ArduinoNanoボードのD12=母線引き通し(線路出力制御用)、D13=方向制御
この2ピンからリレーモジュールの制御ピンに接続で良いかと
2020/08/01(土) 13:54:02.94ID:iRebmg3T
>>685
あと、URLの図面なんだけど、実際のNANOボードは3ピン有るんだけど
図面のソケットは28ピンしかないね・・・
上側の存在してないソケット分の2カ所がD12,D13です
688774ワット発電中さん
垢版 |
2020/08/01(土) 13:57:02.53ID:ZL/BMcDQ
学術巨大掲示板群: アルファ・ラボ ttp://x0000.net
物理学 化学 数学 生物学 天文学 地理地学
電子 IT 工学 国語 方言 言語学 など
2020/08/01(土) 14:07:22.79ID:iRebmg3T
>>685
部品リストにリレー3個ってあるのにソースコードだとリレー2個しか使ってないから変だなて色々見てたら
https://pwm.sigris-rabo.work/?page_id=138
こっちのURLのソースコードだとリレー自体を使わなくなってるので、途中でリレー使うのやめたっぽい
690774ワット発電中さん
垢版 |
2020/08/01(土) 17:16:47.33ID:dRLYZCgQ
>>689

ありがとうございます
もしよければ回路図や、可能であれば実体配線図の提示は可能でしょうか?
2020/08/01(土) 20:15:17.64ID:iRebmg3T
>>690
リレーが無くてもインバーター音を再現するパワコンとしては機能するので、まずリレー無で作ってみてはどうでしょう?
そこまで作業すれば↑の書き込みの意味を理解できて回路図・実配線図なしでリレージュールを何処に繋げばよいのか理解できると思う
それでもわからない場合は再び質問してみては?

追記事項(ちょっと気になった点をいくつか)
URLの回路図(nano互換基板のピンに対応)と書いてあるが実配線図は(秋月電子のPro Mini用)
実際のPro miniとは端子の位置が異なってる(K-10347で検索して説明書参照)
URLの回路では12Vから9Vを作ってるが12VをVinに入力するか5Vを5Vinに入力すれば動くと思う(省略可だと思う)
FETとマイコンの間にはダイオードしかないが、本来保護抵抗を入れるべき(容量性負荷の為)
692774ワット発電中さん
垢版 |
2020/08/03(月) 07:05:44.20ID:bhEsg4P7
そういやさ、マイコンの出力だけで操作できるリレーってないの?

あったらすごい便利やん?
693774ワット発電中さん
垢版 |
2020/08/03(月) 07:45:47.06ID:xuX0pky0
>>692
SSRは?
2020/08/03(月) 09:32:03.42ID:aAhV3BBX
>>692
上の方のレスでも言ってるけど、リレーモジュールならマイコンの出力電流1mAも要らないでしょ?
http://akizukidenshi.com/catalog/g/gK-13573/
http://akizukidenshi.com/catalog/g/gK-11245/
http://akizukidenshi.com/catalog/g/gK-10608/
695774ワット発電中さん
垢版 |
2020/08/03(月) 12:40:03.67ID:bhEsg4P7
>>694
そらモジュールならもちろんオッケーになるのはわかるんだけど、LEDくらいの電力で動くように電磁石スイッチってのは今の技術でも安くは出来ないもんなのかね…?と思って。

>>693
SSRも交流しばりあるからね…
2020/08/03(月) 12:55:46.11ID:s6RR1uV+
https://ja.aliexpress.com/item/4000346597879.html
697774ワット発電中さん
垢版 |
2020/08/03(月) 14:03:03.07ID:0gLohmKr
これもトランジスタぽいのが見えるが…

ただこれでだめな理由は全くないな。
2020/08/03(月) 15:10:50.54ID:WrZy6mFa
通常のリレーだと小型の高感度タイプでも0.2Wくらい必要なので5Vなら30mA〜50mAくらい
リードリレーなら0.05Wくらいでも動作するものがあるから5V10mAくらいのもある
2020/08/03(月) 18:58:40.81ID:dgQyVMj/
>>696
これどうしたらONになるの?
接続が分からない
2020/08/03(月) 19:04:16.29ID:d1jlJj+d
>>699
COMは共通
NCはIN=LowでClose(COMとつながる)
NOはIN=LowでOpen(COMから切れる)
Highでは上の逆
2020/08/03(月) 19:49:22.56ID:30kfI14q
>>692
オムロンのG3VM-61CR1とか
東芝のTLP3543Aとか

3.3VのマイコンのGPIOでも10mA程取れれば10Aのスイッチングできるよ
もちろんDCのね(30Vか60Vまでだけど)
2020/08/03(月) 20:02:10.53ID:a6t6RU4X
DCでいいならPowerMOSFETと抵抗2本で55Aとかスイッチングできるじゃん
3.3VならVGS4Vまで引き上げる為にTr1個追加もしくは
VGS1V-3Vの低ゲートMOSFET使えばいいしさ
PWM駆動できるからモーター回転やヒーターの温度制御もなめらか
2020/08/03(月) 20:11:15.67ID:a6t6RU4X
参考:
https://www.switch-science.com/catalog/512/
https://aliexpress.com/item/32811504227.html
704774ワット発電中さん
垢版 |
2020/08/03(月) 20:16:11.36ID:xuX0pky0
>>695
DC対応のSSRならいいのでは
705774ワット発電中さん
垢版 |
2020/08/03(月) 20:17:45.45ID:xuX0pky0
>>702
絶縁が欲しいのかも
2020/08/03(月) 20:26:22.91ID:dgQyVMj/
>>700
ありがとう
2020/08/03(月) 22:34:48.45ID:ixpDFPba
>>701
確かに、電磁パーツのスイッチングは小信号回路とアイソレートしときたいから、フォトリレーが良さそうね
2020/08/03(月) 23:15:23.09ID:vJWo4xIy
最近Arduino UNO Wifi Rev.2やArduino NANO EVERYなど328ではなくATMega4809を搭載したものを入手したのですが、CPUが変わったという事でタイマーライブラリのMStimer2が非対応な状況となっています。
これらATMega4809を搭載したArduinoでも使えるMSTimer2相当のLibraryはありませんか?

検索をかけて色々見て回っているのですがどうにも”328とはTimerの仕様が違うよ”的な記載ばかりでその運用について触れている記事を見つけることができませんでした。

よろしくお願いいたします。
2020/08/04(火) 02:13:23.76ID:obWxUhVQ
>>708
酔っぱらってるし、実機無いから未検証だけど、代用のコード書いてみた(短いからコード用のアップローダ使わず直書き)
まあ、多分動かないけど、こんな感じの手段が有る程度に思ってくれ(PIC以外のコードをまともに書いたことない( ^ω^)・・・)
TCB0,1,3でも良いのかな?(思考停止なので2を使ってみた)
void setup() {
TCB2.CCMP = 0x4E1F; //クロック20MHzの場合に1ms毎にタイマー割り込みを発生
TCB2.INTCTRL = 0x01; //割り込み設定ON
TCB2.CTRLA = 0x01; //タイマー起動
}
void loop() {
}
ISR(TCB2_INT_vect) {
const uint16_t RunMilliSecond = 100; //100msに1回実行の場合
static uint16_t CurrentCount = 0, PreviousCount = 0;
if (CurrentCount - PreviousCount <= RunMilliSecond) {
PreviousCount += RunMilliSecond ;
//実行するコード
}
CurrentCount++;
}
2020/08/04(火) 02:50:30.91ID:obWxUhVQ
>>709
ISRの最後にTCB2.INTFLAGS = 0;必要だと思う
もしくはTCB0.INTFLAGS = TCB_CAPT_bm; かも
2020/08/04(火) 02:53:30.94ID:qTijPAZM
>>708
ここは見た?
https://forum.arduino.cc/index.php?topic=633627.0
こっちにライブラリもあるけど?
ttps://github.com/Kees-van-der-Oord/Arduino-Nano-Every-Timer-Controller-B
2020/08/04(火) 03:46:19.87ID:wdGze6q5
自分の場合、Arduinoの電子工作は10種類(UNO, MEGA, PRO MINI, NANOの互換機)くらいしか経験無いけど、比較的新しいとは言え、市場に出て2年くらい経ってるチップの関数ライブラリが、本家のIDEに入って無い例って、けっこう多いの?
713774ワット発電中さん
垢版 |
2020/08/04(火) 04:48:29.57ID:CchelQT3
外部の割り込み入力からarduino unoを復帰させる時、どのような方法が一番待機電力を少なくできるでしょうか?arduinoだとスリープ中でも結構待機電力ありますので、ESP8266にディープスリープ+トリガー待ちさせておいて、ESP8266が目覚めた時にトランジスタでarduino unoに電力供給する?
2020/08/04(火) 05:25:58.99ID:uek5YzsV
>>713
ESP8266を使う理由があるなら別ですけど、
UNOで6.5uAと書いてあるよ。
http://radiopench.blog96.エフシーツー.com/blog-entry-830.html
2020/08/04(火) 10:07:56.88ID:RI0/uDOL
しょせんArduinoなんて他人の褌で相撲とってる二次創作みたいなもんだ
日本的メーカー対応みたいなもんは期待しちゃあいけない
716774ワット発電中さん
垢版 |
2020/08/04(火) 14:42:20.22ID:CchelQT3
>>714
ありがとうございます。これってGPIOからの割り込みでの起動に対応してるのでしょうか?ESPならライトスリープとかで、割り込みで復帰させられるようなのですが。
2020/08/04(火) 15:43:34.31ID:Kk85FWvD
>>716
ピン割り込みで起きれる。
2020/08/04(火) 15:48:43.92ID:1G6bhwKh
>>716
基本のSleep ModeはPower-DownのようなのでINT0やINT1で割り込めるんでは?
試してみて教えてください。
2020/08/04(火) 15:49:37.00ID:1G6bhwKh
おや被った、失礼しました。>>717
2020/08/04(火) 21:00:51.81ID:xylZtSCf
>>709
いただいたソースコードをもとに試しでLチカを想定したコードを作成したところ
どうにもタイマーを起動するとタイマーの内容のもの以外がすべて機能しなくなるようで…

Arduino標準のBLINK(D13)とタイマーチカ(D7 プログラム内LEDAに相当)の
同居想定として作成してみました。

https://pastebin.com/i3QBKtec

これを起動するとloop内のものが一瞬だけ動いたかと思うと最初のタイマーが反応して以降
帰ってくることはなく結果的にBLINKは最初の点灯だけは起こり、その後機能せずタイマー内の点滅(LEDA)だけが点滅しました。

また、RunMilliSecondが100msではちょっと早すぎると思い2000にしてみても
減速はされず2000msとは程遠い速度で点滅しました。

>>711
こちら、サンプルコード自体は機能いたしました。
ものすごい多機能そうで理解できるまでちょっと時間かかりそうですが(汗
とりあえずサンプルコードの機能そぎ落としをしながら理解を進めたいと思います。


この4809を使ったArduino 価格は安いのですがUNOやNANOとはやはり大きく違うという事を思い知らされています・・・
2020/08/04(火) 21:39:01.13ID:5I5zF6uz
正規品買う気のない俺はAliで互換機見つけたと思ったら4808だった
とりあえず無印Nanoで足りてるしもうしばらく待つわ
2020/08/04(火) 21:48:37.85ID:ozm1pYih
>>720
今見たら色々間違ってましたね
ifの<=逆でした
× TCB0.INTFLAGS = TCB_CAPT_bm;
○ TCB2.INTFLAGS = TCB_CAPT_bm;(TCB2.INTFLAGS = 0;と被る)
まあ、他の方の情報のライブラリでいいと思います
723おっさん
垢版 |
2020/08/05(水) 13:56:44.69ID:gBOjK4Cm
あるセンサーから測定値を取り出したいと考えています。
図面を見るとセンサーからのコネクタはRS485となっていたので
AMAZONで『KKHMF MAX485 RS-485 TTL−RS-485モジュールコンバータ』を購入しました。
ハッキリ言ってARDUINOではセットに付属されていたモノで遊んだ程度の知識しかありませんのですが、
見よう見まねで以下を作ってみたのですが何も検出されません。
ご指導いただけないでしょうか


#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
#define PIN_RTS 13

void setup(){
Serial.begin(9600);
mySerial.begin(9600);
digitalWrite(PIN_RTS, LOW);
int test = 0;
}

void loop() {
mySerial.listen();
test = mySerial.read();
Serial.println(test, DEC);
delay(100);
}
2020/08/05(水) 15:08:53.14ID:DjsUTd+i
>あるセンサー
の仕様がわからないと何とも言えない。
2020/08/05(水) 17:08:30.14ID:OlZDXTJ0
RS485はコマンド送ってアンサー待ちしないといけない
複数つながる可能性があるから局番指定したり
チェックサム生成したり面倒臭い
2線式と4線式があって2線式だと自分の送ったコマンドをそのまま受信するからそれを除外しないといけないし
それをSoftSerialでやろうとすると更に難易度が上がるよ
726774ワット発電中さん
垢版 |
2020/08/05(水) 19:12:26.69ID:CwSaQ5AQ
PIN_RTS は、RE DE の両方に繋いでるのかな。
それならDEのときにREをディセーブルすることになるし、自分の送ったコマンドは受けなくてすむかな。
485でも垂れ流しでデータ送ってくるように設定できるものもあるけど、センサーマニュアルを見ないとなんとも。

ところで>>723のモジュールだけど、DEがプルアップされていたり RS-485が2線とかデリカシーを欠くような設計。
727おっさん
垢版 |
2020/08/05(水) 20:01:36.62ID:cmxVoe24
返信が遅れてしまい申し訳ありません。

>>724さん
そのとおりですね。センサーは

https://www.optex-fa.jp/products/dsp_sensor/cd22/

これのRS485版になります。
センサー自身に表示されている数値を手元で確認できるようにしたいと考えています。

>>725さん
2線式のコネクタが仕様されています。
今、手元にはセンサー単体のみで接続コネクタもない状態です。センサー片手に秋葉原を聞いて廻ったのですが手に入れる事ができず、コネクタに直接ワイヤーを繋いでいる状態です。


>>726さん
RE DEともに13ピンに繋いでいます。
モジュールについては色々と教えていただきたいです。
2020/08/05(水) 21:29:00.35ID:OlZDXTJ0
>>727
FA用のセンサーって事は工場で仕事に使うものを初心者スレで質問してるのかな?
工場でarduinoやラズパイって見たことないけど

工場で使うんだったら盤屋に依頼するのがいいんじゃないか?
CC-Link用のがあるんだから三菱のPLCですぐできるでしょ
2020/08/05(水) 23:07:44.37ID:oYjST5U7
>>727
まずそのサイトでマニュアルダウンロードしたら?
そもそも電源入れただけじゃ通信してないんじゃないの
2020/08/05(水) 23:25:27.72ID:kUZCLsv3
>>723
そのセンサーの仕様書読んでみたけど
センサーの設定が有ってる(9600bpsに設定)として、まずRS485モジュールを扱うコードが必要だと思う(送受信設定等)
さらに、データを読み出すにはArduino側から読み出し命令を出し、それの返信としてデータを受信する必要がある

CD22 シリーズの通信仕様は以下になります。
通信方式 EIA RS-485 準拠(半二重:局番設定によるマルチドロップ接続には非対応)
伝送コード バイナリ データ長 8bit ストップ長 1bit パリティチェック なし
ボーレート 9.6k/19.2k/38.4k/57.6k/115.2k/230.4k/312k/460k/500k/625k/833k/920k/1.25M (bps)
ヘッダ / データ区切り STX / ETX 
■ コマンドフォーマット
送信コマンド : STX (コマンド) (データ 1) (データ 2) ETX BCC
受信コマンド(成功) : STX ACK (返信データ 1)(返信データ2) ETX BCC
受信コマンド(失敗) : STX NAK (エラーコード) 00H ETX BCC
   ※ STX(02H)、ETX(03H)、ACK(06H)、NAK(15H)、BCC は網掛け部の XOR 演算結果
コマンドの種類 : C(43H) 個別機能コマンド
W(57H) 設定の書き込み(Write)
R(52H) 設定の読み出し(Read)

判定結果読み出し 送信 B0h 02h 返信 00h (判定結果)
bit:0 = 1 の時 判定出力 ON bit:4 = 0 の時はそのデータが既読であることをします
2020/08/05(水) 23:47:41.32ID:ShwXW6pD
>>730
あんた親切だなあ
それともすでにメンバー登録してあった?
興味本位で言ったけど面倒だからやめたわ
2020/08/06(木) 00:00:03.69ID:v1UrSVbB
なんでやねん!
733おっさん
垢版 |
2020/08/06(木) 00:45:28.45ID:sjKiJsBs
>>730さん
本当にありがとうございます。
>>727さんから「RS485はコマンド送ってアンサー待ちしないといけない」とありましたので、読み飛ばしていた仕様書の当該箇所をアナログ人間がわからないなりに解読しようとしています。これから色々試してみるつもりです。


>>731さん
もっともだと思います。
私は購入時にメンバー登録していましたが、メンバー登録が必要にもかかわらず安易にセンサーのサイトを貼ったことを反省しています。
不快な思いをさせてしまい申し訳ありませんでした。
2020/08/06(木) 01:10:35.91ID:dQgB9h/W
>>733
730です
想像ですが、予想した手順を記載します(RS485の通信したことない)( ^ω^)・・・
1.MAX485の出力ピンを出力ONに設定(DEをLOW>HI)
2.Serial.write(0x02);,Serial.write(0x57);,Serial.write(0xB0);,Serial.write(0x02);
Serial.write(0x03);,Serial.write(0xE6);(でたらめです)
3.Serial.flush()
4.MAX485の入力ピンを入力ON(REをHI>LOW)に設定(もしかしたら入力常にONでもOKかも)
5.MAX485の出力ピンを出力OFFに設定(DEをLOW)
6.データを受信

>>731
なんかネットで拾った
2020/08/06(木) 01:11:24.06ID:dQgB9h/W
1と2の間に少しディレイ入れたほうが良いかも
2020/08/06(木) 01:11:53.44ID:qXJLsa1c
6万もするセンサーポン使うのにデータシートすら読んでないとか
何かすげえな
おいらとは別世界の人だわ
2020/08/06(木) 01:17:23.16ID:dQgB9h/W
https://i.imgur.com/tYPEYut.png
ついでにポチった( ^ω^)
ちょっと差動通信してみたかった
2020/08/06(木) 01:32:39.17ID:agsyJYCi
C22センサーも買う気か?
2020/08/06(木) 01:33:33.78ID:agsyJYCi
あ、ちゃうか
ロジアナでもつないどきゃ出力はチェックできるな
面白そうではある
2020/08/06(木) 01:35:36.32ID:agsyJYCi
でもじっちゃんがセンサーはIICかSPIだけにしとけって言ってたからやめとこう
2020/08/06(木) 01:43:29.11ID:dQgB9h/W
>>738
https://i.imgur.com/NE3Kaff.png
ちょwwwおまwwww無理( ^ω^)・・・
2020/08/06(木) 02:38:22.20ID:6pGHWytI
>>737
2個買えばArduino同士1200mまで引き伸ばせたんじゃないの
2020/08/06(木) 02:47:48.28ID:dQgB9h/W
>>742
Aliあるあるネタだけど
これ2ポッチしたら、10個届くのよ(;´・ω・)
2020/08/06(木) 02:50:30.84ID:6pGHWytI
>>743
5個セットなのね
745774ワット発電中さん
垢版 |
2020/08/06(木) 06:53:48.82ID:t89/X9dv
RS-485のインターフェース基板で2端子しか付いてないものって、安心して接続できるのは共通グランドが期待できる範囲だけだよな。
2020/08/06(木) 07:53:58.62ID:/RdpEj1Q
そういえば、昔どこかのスレでRS485をA、Bの2線にするか、
A、B、GNDの3線にするかの大論争があったな
2020/08/06(木) 09:51:01.24ID:ZdfEaf7+
>>746
どっちがいいの?
2020/08/06(木) 11:13:35.23ID:dQgB9h/W
>>747
どちらともいえない、運用方法や状況、考え方によって変わると思う
RS-485は2線(or4線)で通信することを前提として考えられた規格だと思うのだけど
2線通信で不具合が発生する場合の対処の1つがGNDを接続する方法だと思う
(また外部ノイズを減少される目的でのシールドとGNDを接続する事と別に考えたほうが良いと思う)
機器A−機器Bで通信するとして、電源が絶縁されてれば問題は起こりにくいと思う
また、電源が共有の場合でも、通信側を絶縁すれば問題は起こりにくいと思う
多分業務用の高い機器は電源も通信も絶縁されてる可能性が高い気がする(←そんなの持ってないよ・・)
GND接続の有無で通信に問題が有る状況だとしたら、GNDを接続する以外の手段で問題を解決した方が良いと思う
2020/08/06(木) 11:18:08.64ID:V8nKybkJ
>>745
RS485はA-B間の電位差で信号を送るのでGNDとは直接関係無いんじゃないか?
GNDはコモンモードノイズ対策のシールド線用でGND間の電位差が問題になる様な場合は片側のシールドを浮かすだろうし
750774ワット発電中さん
垢版 |
2020/08/06(木) 11:35:29.56ID:t89/X9dv
RS-485インターフェースICのメーカーの資料を提示して議論するべき。
2020/08/06(木) 13:29:37.43ID:Uem2xBK8
>>750
正解!
2020/08/06(木) 13:45:07.71ID:zReUPyp0
部屋の換気具合を知りたいのでCO2センサーモジュールを買おうと思てるんだけどArduinoで使いやすいおすすめある?
2020/08/06(木) 13:48:21.77ID:LVR9/WgQ
https://ambidata.io/samples/temphumid/airqualitysensors/
自分が信じられるやつ
2020/08/06(木) 19:48:54.68ID:D82bmkE+
正解は越後製菓!
2020/08/06(木) 23:46:38.77ID:9X+QUB86
>>752
最低、アナログ出力かシリアル出力が付いてればいいんでないの?
ノイズのこと考えると、シリアルが1番かな?
センシング面での性能は分からんわ
2020/08/08(土) 07:27:15.26ID:zFGmnYK/
ARMとかRISC-Vだとavr/pgmspace.hにあるpgm_read_byteとか使わなくても
直接、プログラム領域にある変数とか配列読めるんだね
Arduinoの作法としてはavr/pgmspace.hにある関数群使うのがいいのだろうけど
2020/08/08(土) 11:26:30.72ID:3OmqZVpQ
それはArduinoの作法じゃなくて搭載してるマイコンAVRの仕様なんで・・・マイコンのデータシートや命令セットを読んでもろて
ちなみにAVRでも最新のmega0とかtiny1とかAVRDAシリーズだとLPM命令を使わなくてもLD命令でアクセスできるぞ
2020/08/08(土) 21:53:24.65ID:c5JF+g9Z
不注意で328Pじゃなくて168Pがのったnano互換ユニットを買っちゃったが、(4枚) 168Pの方が良いことって1つでもある?
2020/08/08(土) 21:56:40.76ID:3OmqZVpQ
マイコン的には容量が少ない以外の差がない ので値段が安いのであればそこだけ
2020/08/09(日) 03:06:38.40ID:YPAdskZ6
>>759
ありがとうございます。
やっぱりそうですよね。
失敗しちゃったなぁ。
2020/08/09(日) 23:03:42.65ID:h75D77Ag
画像だけが328Pだったりしたら助かるかもw
2020/08/09(日) 23:26:01.30ID:YPAdskZ6
>>761
いや、すでに目の前にあって、実際メモリ不足で書き込めないスケッチがあった。軽い目的に回そう。
2020/08/11(火) 16:34:20.39ID:sc8Rsbz2
DIPだったら石だけ交換する手もあるな
2020/08/11(火) 17:05:28.52ID:o8VO6J4g
>>763
文章読まない派?
2020/08/11(火) 23:14:07.51ID:elhVhKPk
消しゴムかけたら168Pだったとかあるのかなw
2020/08/12(水) 00:49:04.28ID:pWUR+CKI
>>765
中華マイコンなら無いほうがおかしいでしょ?
2020/08/12(水) 02:25:11.35ID:3cDz/9fL
やすりで削ってレーザー刻印だから消しゴムじゃ消えないぞ
全額返金で168Pが無料で手に入るチャンスだけどそういうのは無いなw
チップ単体だとTiny12の刻印削ってTiny85として売ってるのはよく見かける
動かないとかチップIDが違うといえば返金してもらえる
2020/08/12(水) 10:34:08.48ID:Dw8Xx6vV
ひでえな中華
50円の詐欺のために50円のコストかけてないか?
2020/08/12(水) 11:41:19.07ID:vVOY7Dqt
>>768
販売先に日本が多いと、評価が上がるとか、日本人は余り文句を言わないで諦める奴も多いとか?
2020/08/12(水) 16:13:10.87ID:o8fKKuef
リマークのコストは2円〜5円くらいじゃないかな
2020/08/13(木) 06:01:17.62ID:o12y0wFX
Aliexpressで買って届くまでに1ヶ月、2ヶ月待った挙句にそれが偽者だったらショックだよなw
772774ワット発電中さん
垢版 |
2020/08/13(木) 07:39:35.43ID:/35kYQvX
さいきん10日くらいで届くようになってきた
2020/08/13(木) 08:10:29.74ID:vgb5Upkq
5月末にアリに注文した部品が昨日到着した。
2020/08/13(木) 09:56:16.20ID:54CFqnyS
https://forum.arduino.cc/index.php?topic=699473.0
AVRDAシリーズのコアが仮完成したみたいだ

https://www.microchip.com/wwwproducts/en/AVR128DA28
VCC=1.8Vでもフルスピード24MHzで動く今年発売したばかりの最新のAVRマイコンだ
tiny1シリーズやmega0シリーズに順ずる高性能な周辺機能を装備のうえ、ADCが12bitだったりDACが10bitだったりパワーアップしてる
命令セットは↑から変わってないので何時も通り使える上に、push命令とsbi命令とcbi命令のマシンサイクルが2から1に短縮され割り込みルーチンなど高速化
ROM128k/RAM16kの大容量でEEPROMもアリ、なんと28pin仕様にはDIP版もあるぞ!
2020/08/13(木) 10:14:28.19ID:CNTX7rkP
まあ、届いただけマシだと思わねば
何ヶ月も届かず、注文したことすら忘れて、
そのまま闇に消えていった注文品がいくつもある
2020/08/13(木) 10:52:51.05ID:nihbEiNn
>>775
え?ODすらしないの? 
2020/08/13(木) 13:02:59.06ID:woY05jIv
こういう奴がいるから日本向けは舐められる
大変迷惑
2020/08/15(土) 21:52:40.28ID:+8PpU1Je
素人ですが質問させて下さい。
CH340シリーズのUSB変換モジュールで、USBからの5Vを給電しつつ信号レベルを3.3Vにするにはどうすればいいでしょうか?
少なくともCH340のVCCに3.3Vを入力する必要があるのですが、CH340の3V3端子とVCCをショートさせるみたいな話もありましたが、データシートを読んでも具体的にどうすればよいかわかりませんでした。

実際には↓のCH340Eが実装されたこのモジュールを使ってます。3.3Vという記載がありますが3.3Vで使う方法の記載はありません。
https://m.ja.aliexpress.com/item/33041987984.html

5V/3.3V切り替えができるモジュールもありますが、あれはチップのVCCへの入力前に5Vとは別に3.3Vへ降圧している?
そもそもCH340の3V3端子の使い方(用途)が不明です…
2020/08/15(土) 23:48:37.03ID:lJIHywWN
どのデータシートを読んだか知らんが
英語版
https://cdn.sparkfun.com/datasheets/Dev/Arduino/Other/CH340DS1.PDF
V3端子は電源がVcc5Vで使う場合はデカップリング
Vcc3.3で使う場合はVCCに繋げってことらしい

FTDIのチッブなんかは内部で3.3Vを作ってる
2020/08/16(日) 00:46:27.37ID:TUSCKqbw
デカップリングってなに?
2020/08/16(日) 01:54:23.11ID:7teaR4JZ
>>779
ありがとう。私が見てたのはこちらですが内容的には同じですね。
https://www.mpja.com/download/35227cpdata.pdf

やっぱりUSBの5VをそのままCH340に使ってシグナルを3.3Vにするのは無理ぽいですね…
CH340のV3ピンは、5V給電時は3.3Vが出力されるので、チップ内で3.3V生成してるのだから、それなら5V動作時でも3.3Vで通信するモードがあってもいいのにと思ってしまった。
CH340積んでV5/V3.3切り替え付きのモジュールは、よく見ると別途レギュレターチップ積んでてそこで3.3V作ってるみたいでした。
素直に3.3V対応のUSBシリアルを買ってきます。

せっかくCH340単体で3.3V供給してるのになんか使い道無くてもったいないなぁ
2020/08/16(日) 02:00:15.42ID:9o/GovX2
USBシリアルなんて頻繁に買うものじゃないし
安さに釣られずおとなしくFTDIの買ったらええ
ワイは秋月で5V/3.3V切り替え可のやつ買った
2020/08/16(日) 02:32:48.53ID:cOqRpvih
>>781
その通り
CH340はIC内部でも3.3V作っているけど外部から3.3Vを供給しないと3.3VI/Oにはならない変態仕様
https://i.imgur.com/XMSZ4nQ.png
CH340がいいのならボード上(モジュール上)に3.3Vレギュレータがあるやつを買うのがいい
https://www.aliexpress.com/item/32835759588.htmlとか
https://www.aliexpress.com/item/32818339123.htmlとか
784774ワット発電中さん
垢版 |
2020/08/16(日) 03:58:53.70ID:NpkK4fjc
最悪だ
新しく買ったDUEに載ってるch340gにブートローダーが入ってないみたいだ
しかもこのボードicspピン付いてないし
Nativeポートは使えるけどProgrammingポートが全くデバイス認識されない
今度からicspピンついてる16U2が載ってるボードのみにしとこ
2020/08/16(日) 09:07:42.02ID:7teaR4JZ
>>783
ああ、なるほど!
CH340の3.3Vは自身のコア動かすためにあるのか!

>>782
はい、そうします(笑)

勉強になりました。
786774ワット発電中さん
垢版 |
2020/08/16(日) 09:17:10.64ID:wvTH9f4z
>>784
CH340G自体にブートローダーって要る?
787774ワット発電中さん
垢版 |
2020/08/16(日) 11:36:18.68ID:5lKcH6N8
aliで5vのprominiまとめて買ったんだけど、5v16mhzで書き込むと動作速度が半分になる。
3.3v8mhzで書き込むとオッケー。

間違えたんかなこれ?

ただ3.3v8mhzのやつでも、raw端子に繋げば5vで動かしてもいいんだよね?
確か12vくらいまで対応していると読んだことあるし。
2020/08/16(日) 12:20:19.74ID:9o/GovX2
中華クローンはすべて自己責任
2020/08/16(日) 12:54:45.54ID:y4+pmmSd
>>787
とりあえず OD しましょう。

耐圧はレギュレーターによるんじゃないのかな?
ヒューズリセットに12v使うので、チップ自体は壊れないだろうけど、
レギュレーターによっては、香ばしいことになるかも?

https://ht-deko.com/arduino/promini.html
ここの写真を見る限り、うちにある 5v版 だと思ってたものも全て 3.3v かも?
ずっと普通に 5v で使ってるわ。
2020/08/16(日) 13:37:01.84ID:43h4U1+R
モジュール上のクリスタルかレギュレータで判断
791774ワット発電中さん
垢版 |
2020/08/16(日) 19:08:53.44ID:NpkK4fjc
>>786
要らんのか?良く解からんが
ch340gに原因がある事は確かだ
2020/08/16(日) 20:49:31.44ID:ToDaud7V
ブートローダーを何だと思ってんの?
CH340Gはマイコンじゃねえぞ
2020/08/16(日) 22:57:08.49ID:CXIwVcEz
CH552Gはマイコンです。
USBのほか、UART、ADC、アナログコンパレータ、タイマ、PWM を装備し、
CH340Gのように働くことができます。
2020/08/17(月) 01:08:25.52ID:z2plY6r8
>>792
止めたれ
勘違いして恥ずかしいのは、本人が1番分かってるのに、そういう傷口に塩を塗る様なことは
795774ワット発電中さん
垢版 |
2020/08/17(月) 03:46:46.35ID:rDyAt7W1
では16U2は?
796774ワット発電中さん
垢版 |
2020/08/17(月) 09:09:03.35ID:Oj0PccPL
>>795
16U2はマイコンとして売られているもの。
ユーザーがプログラムを書き込むかあるいは、メーカーにプログラムを書き込んで出荷するように要求されるもの。
CH340Gは、USB-シリアルのブリッジとして売られているものなので、16U2と同じようには考えられないと思う。
(MCP2200の中身がPIC16F1459でも、MCP2200をマイコンとは言わない。FT232もたぶん中身はマイコン)

CH340Gが動作しないなら、もしかしたら本当に中身がマイコンで、プログラムのミスなのかもしれないけれど
外面的には、部品としての不良とみなして考えるのが自然だと思う。


電子工作をする一般エンドユーザーから見れば、
16U2が動いてなさそう…
16U2用のプログラムを書き込んだら治るかも
ハード的に破壊されているなら、少なくとも 16U2を載せ替えて、その上で16U2用のプログラムを書き込む必要がある。

CH340Gが動いてなさそう…
パターンやほかの部品に問題がないなら、CH340Gを載せ替えれば動くはず。

なんにせよ、>>784を書いた人のの主旨は「CH340Gが不良らしい」ということなので「ブートローダー…」はもういいよね。
2020/08/18(火) 23:16:45.57ID:2ssJrpkT
数年前に書いたスケッチを、久しぶりに改造しようかと思ったら、
PROGMEM prog_uchar hehehe[] の宣言が通じなくて、
コンパイル通らなくてあせった。
こんな時代なのね。
const char hehehe[] PROGMEM
プリプロセッサにしても意味不明な、、、
2020/08/19(水) 08:18:21.87ID:oUw0VpPB
PROGMEMの部分は__attribute__ ((progmem))だからね
だから宣言ではこうなってることになる
const char hehehe[] __attribute__ ((progmem))

するとprogmemというコンテキスト名で領域が確保される
2020/08/19(水) 08:26:50.37ID:oUw0VpPB
インラインアセンブラでこうしてやるとバイナリファイルをprogmemとして確保できるらしい

https://pastebin.com/nuPfavZ1

使い方はhogehoge.binがバイナリファイルでHOGE01がそのデータに割り当てたいシンボル名として
C言語で
IMPORT_BIN("hogehoge.bin", HOGE01);
extern const uint8_t HOGE01[];
とやればいいらしい
2020/08/19(水) 08:47:59.00ID:oUw0VpPB
間違えたコンテキスト名じゃなくてセクション名ね
progmemって要するにセクション名をprogmemにしてるだけっぽいよ
2020/08/19(水) 08:58:45.79ID:oUw0VpPB
一箇所ミスしてた
https://pastebin.com/yZkVR62u
2020/08/19(水) 12:05:50.28ID:oUw0VpPB
実際にteensy4.0で試してRGB565の画像データファイル>>799でインポートして
LCDに表示できた
画像データはGIMPでCソース形式で保存するとRGB565に変換できるので
それをバイナリデータとして書き出す自作プログラムを作成
Arduino IDEではファイル名は絶対パスで指定しないとエラーが出たよ
2020/08/19(水) 12:59:20.62ID:xUkHyJPc
そういうのできちゃう人って
神様にしか思えないんだが
何がどうなってるんだろう
2020/08/20(木) 02:32:40.86ID:giZ5hrAX
ほんとに好きで勉強(・・・というか勉強しようと思ってやるんじゃなく好きで学ぶというか・・・勝手に調べる)してずっとやってりゃそのうちその神様とやらになれるよ
2020/08/20(木) 19:22:22.05ID:8qEcqUzL
pro microの3.3V/8MH版、USB/HIDなスケッチをテストしてて、ボード設定Leonardoで書き込んだら死亡しちゃった
これってbootloader焼きなおせば復旧するのかな? ちょっとすぐ試せないのでわかる人いたら教えてください
2020/08/20(木) 19:39:22.55ID:tTPb70mC
物理的に壊してなければ正しいスケッチとヒューズ設定にすればおk
2020/08/21(金) 04:48:16.53ID:lxCC6fzj
ヒューズ計算は、ここで
https://www.engbedded.com/fusecalc/

各種の説明やデフォルト値は検索
2020/08/21(金) 18:43:23.80ID:B4smGZm+
>>805
書き込みをWindows上で行っているならば、pro microをH/Wリセットした直後に
ハードウェアマネージャでBootLoader用のCOMポートがが見えるようならば
IDEでブートローダを書き込めば直るかも
BootLoaderが見えない場合にはICSP経由でBootLoaderを書き込む
それでもダメだとわかんない
2020/08/21(金) 18:57:12.84ID:gUV1usUn
一度書き込めて二度目から書き込めなくなったときはこれ試してみて

612 名前:774ワット発電中さん[sage] 投稿日:2019/12/06(金) 20:41:59.26 ID:9sDeXhF9
>>609
リセットの手順ちょっと違った
pro miniの場合だけどこんな感じ
参考にしたページのアドレス貼れないからコピペ

Arduino Pro Mini側のリセットボタンを押しながら、
Arduino IDEのアップロードを実行し、
FTDI-USB変換ボードのTXが光った瞬間に、
Arduino Pro Mini側のリセットボタンを離す。
2020/08/21(金) 23:07:39.40ID:1pzV0KtY
俺のArduinoなんかブートローダ書き込み後1回目はスケッチ書き込めて
2回目からは書き込めない
そしてまたブートローダを書き込むとやはり次の書き込みは成功して
その次は失敗する
ゴミ
811805
垢版 |
2020/08/22(土) 07:50:49.14ID:K//t8YpT
805です。コメントありがとうございます。Fuseビットは変わってなくbootloader書き込み直しだけでで復旧できました。

中華ProMicro2種(5V/16MHz、3.3V/8MHz)があって付け替えて試していたところボード設定を間違えました。
5V/16MHz⇒Leonardo、3.3V/8MHz⇒Liliypad USBと設定しておかないとおかしなことになっていたようです。

あとHIDなスケッチは曲者ですね。スケッチ書き込み後にCOMポート見失ったり、ポート番号が変わったりすることがあります。
環境はwin10ですがCOMポートがスゴイ勢いで増えていってます・・・いらないの消さないと・・・
2020/08/23(日) 07:17:56.26ID:sIJ7Fw4z
>>811
> あとHIDなスケッチは曲者ですね。スケッチ書き込み後にCOMポート見失ったり、ポート番号が変わったりすることがあります。

HID と COM が混在するのが難しいのですかね?
vUSB 関連を昔にいじったけど、結局、STM32 に落ち着いた。
STM32 も HIDデバイス にすると COMポート を見失うけど、
スケッチ書き込み時に、リセットを押すだけなので、そんなに困ってない。
micronucleus 搭載の Tiny85 も、それなりに癖はある。
2020/08/23(日) 16:38:49.67ID:rpPB0WUf
HIDでCOM見失うって良く見るけど、HIDモードが使えるやつはブートローダモードの
時しかスケッチ書き込めるCOMが見えないだけじゃないのかな
AT32U4(Pro Micro互換ボード)はH/Wリセットして8秒間だけスケッチが書き込める
COMポートが見えるようになる動作が普通みたいだけど
ブートローダー書きこんだ直後しかスケッチ書き込めないってやつも、IDEで書き
込むとき、書き込み開始してからタイムアウトするまでにH/Wリセットかければ
書き込めると思うけど
2020/08/23(日) 17:49:11.57ID:85oLwZpr
OTGと給電が共存出来ないAndroidタブレットを4Gモデム代わりに使ってArduinoに簡単な
信号を送る場合、イヤホンジャック経由で通信するのが簡単ですかね
2020/08/24(月) 03:00:41.63ID:TVDVmhG+
>>813
> HIDでCOM見失うって良く見るけど、HIDモードが使えるやつはブートローダモードの
> 時しかスケッチ書き込めるCOMが見えないだけじゃないのかな

それですよ。ただコンパイル終了時にタイミング良くリセットしないといけなかったり
シリアルモニタ開けなかったりするのが、見た目からすると不安定だったり、
COMポート が見失うという表現になる。
2020/08/25(火) 20:00:25.57ID:3ENwhmyY
Arduino nano every(ライターATSAMD11D14Aと分離したもの) をPCBAで作りたいと思っています。
https://www.avrfreaks.net/forum/how-burn-firmware-nano-every-bare-pcba-board
よさげな情報がありました。

Nano every:
ATSAMD11D14A bootloader : help to reprogramme D11 firmware;
ATSAMD11D14A firmware : simulate USB device,write arduino sketch to ATMEGA4809.

4809 bootloader : needn't
4809 firmware : any sketch you burn to it through Arduino IDE

という事が書いてありましたが、これって、ATSAMD11D14Aを考えれば、
実装された生の4809にUPDI書込みが可能だという事ですよね。
それで、もしも先人で成功されている人がいらっしゃったら、
真似させてもらおうと思っています。

どなたか、いらっしゃいますか〜?
2020/08/25(火) 22:21:59.97ID:SeG+YEKB
マネするもなにもその下に手順書いてくれてるやん
818774ワット発電中さん
垢版 |
2020/08/26(水) 13:32:54.32ID:2EreZomW
ぷろみにって「スケッチを書き込んでいます」が出た瞬間にリセット押して書き込むのが当たり前だと思ってた。

DTRのない4線のシリアルケーブルしか持ってないから…
2020/08/26(水) 23:28:37.00ID:U74fkIJ5
はんだごてが苦手なので、Seeeduino XIAO の
ピンを30セット分誰かに依頼したいです。。。
2020/08/27(木) 02:22:43.21ID:Vte6m47Q
>>819
お前電電板には向いてないな
821774ワット発電中さん
垢版 |
2020/08/27(木) 06:49:19.00ID:e17oAGXU
やりはじめたら途中で苦手ではなくなると思う。

だから、何かで練習するのがおすすめ。
適性次第で練習してもできない人はいるけどね :-P
2020/08/27(木) 07:09:49.16ID:HVFQDfdx
>>819
最寄の工業高校前で人材募集
2020/08/27(木) 10:57:05.50ID:u5pWjfTe
そしてDQNっぽい奴に暴力で支配され金をせびられる毎日
2020/08/27(木) 12:24:32.06ID:rFA2i7rY
自分でピンヘッダを何度かやったけど、すっごく汚いんだわ。たまに接触していなかったり。youtube見てると感心するわ。ルーペ付き半田ごて台って初心者にいいかな?宙に浮かせての作業はむしろ難しくなりそうだけど。手先の器用さは普通だお。一応、安い温度設定コテは尼に注文した。
ほんと、誰かにやってほしい。。。
2020/08/27(木) 12:30:44.20ID:9e8ZgKws
趣味で20年以上安いコテを使っていて、最近温度調整コテ買ったら使いやすくて驚いた
濡らして温度下げて調整しなくていいのでホント楽
はんだ付けで悩んでいる人には救いの神だと思います
2020/08/27(木) 12:59:10.36ID:ThnPwTEo
ホムセンに売ってるような安い温調コテでも十分
適正温度にするだけで全然違うよ
温度はマジ大事
827632
垢版 |
2020/08/27(木) 13:16:51.35ID:gTWGCzRg
ほうなん?
ハッコーのブースト付きのやつしか使ったことないけどそれとは違うよね。
どんな風に使いやすいん?
2020/08/28(金) 14:03:14.17ID:koz9K3VS
最近買ったMEGAの互換機の速度が遅いような気がしたので、
void loop() {
digitalWrite(2, HIGH);
digitalWrite(2, LOW);
}
の速度(周波数)を測ったら、UNO(純正)が112kHz, MEGA2560(互換機)が89kHzで、
やっぱりMEGAの方がUNOより遅いんだけど、これってそういうものなの?
それとも互換機なのがいけないの?

ちなみにTeensy 4.1だと9.8MHz出ました。
2020/08/28(金) 14:09:23.52ID:koz9K3VS
あ、loopのオーバーヘッドがあるから
void loop() {
while(1){
digitalWrite(2, HIGH);
digitalWrite(2, LOW);
}
}
とかにしないといけないのか。
それでもやっぱりMegaの方が遅い。
2020/08/28(金) 16:11:16.03ID:2gQhjGfF
>>829
タイマー使って出力ピンで計測しないと確かなことは言えないんでは?
例えばNanoの例
https://neo-sahara.com/wp/2020/05/17/arduino-nano%e3%81%a7mhz%e3%82%aa%e3%83%bc%e3%83%80%e3%83%bc%e3%81%ae%e6%96%b9%e5%bd%a2%e6%b3%a2%e3%82%92%e5%87%ba%e5%8a%9b%e3%81%99%e3%82%8b%e3%80%82-fast-pwm-mode-7/
2020/08/28(金) 17:11:16.18ID:koz9K3VS
とりあえず今気にしているのはCPUそのものの速度ではなく、
digitalWrite()の速度
です。
で、いろいろググったら知りたかったことが書いてあるブログにたどり着きました。
http://blog.livedoor.jp/prittyparakeet/archives/1061895937.html
やっぱりdigitalWrite()はMEGAの方が遅いということのようです。
2020/08/28(金) 18:28:45.05ID:a7sC8Yqz
>>831
あなたの>>8282,829からそれをエスパーするのは無理だろうね
その速度比べて何の意味があるの?という疑問は別にしても
2020/08/28(金) 18:31:27.93ID:dRo4r1qE
せっかくレスしてくれた人に礼の一言もなく
自分の言い分だけを書きなぐって去っていく
これが美しい国ニッポンのゆとりさんw
2020/08/28(金) 18:43:54.01ID:koz9K3VS
>>832
どう書けば通じたのでしょうか?

ポートを直に触らずにArduinoの標準のライブラリだけで
I/Oをアクセスするときの性能を知りたかったんだけど
それって意味無いのでしょうか?

Arduinoに関してはは全くの初心者なので、
初心者にわかるように説明していただけるとありがたいです。
(いわゆるコンピュータに関する経験はそれなりにあるので、
一般的な専門用語や概念は説明無しに使っていただいて構いません。)
2020/08/28(金) 18:53:37.77ID:koz9K3VS
>>833
え?そこまで言われるようなほどのことした?
2020/08/28(金) 18:53:50.56ID:4Mv13uHP
質問しておいて、本人の意図しない回答だったにしてもなんらかのレスを返すのが一般常識ってことなんでしょ。
2020/08/28(金) 18:56:28.26ID:koz9K3VS
>>836
了解しました。以後気をつけます(`・ω・´)
838832
垢版 |
2020/08/28(金) 19:00:09.74ID:yWhSa4tP
>>834
あー、ごめん
君の相手は俺の能力では無理
他の人に聞いて
2020/08/28(金) 19:08:19.95ID:koz9K3VS
>>838
なんだよ、じゃあ最初から出て来んなよ
(意味:ありがとうございました)
2020/08/28(金) 19:51:44.76ID:QY+m5lZO
また釣りか
はい、次の方どうぞ
2020/08/28(金) 23:29:17.30ID:yHUzjTdD
どういたしまして
2020/08/28(金) 23:37:25.32ID:F4Cy4ERo
>>ID:koz9K3VS
最初質問を読んだときはただ頭が弱いだけかと思ったが
どうやらそれに加えて人間のクズでもあるようだな
相手しなくてよかったな
2020/08/29(土) 00:24:04.19ID:jhi/eTM1
Arduinoのビット数を可変にしたいです。
ArduinoIDEだとF_CPUが定義されてしまうことまでわかったのですが、
F_CPUを定義しないで書き込める方法があったら教えてください。
よろしくお願いいたします。
2020/08/29(土) 04:43:11.44ID:Owbe7hPa
bit数ってのはマイコンのアーキテクチャで決まってる(Arduinoに乗ってるAVRなら8bit)
そしてF_CPUはクロック周波数であって、今載ってるマイコンのクロック周波数(UNOやNanoなら16MHz)ソフトウェアに教えているだけでbit数とは全く関係ない

マイコンのクロック周波数は普通は決め打ちしておくもの
そもそも基板に搭載されている水晶発振子で物理的にクロックが決まっているので・・・
(UNOやNanoに載っているATmega328Pは分周器を持ってるから半分にしたり1/8にしたりはできるが、それもヒューズビットというプログラムとは違う所の書き換えが必要)

F_CPUは「クロックを設定している」のではなくて『ボードに載ってるマイコンのクロックを教えている』のでハードウェアを何も変更してないのに間違った値にすれば動作がおかしくなるよ
2020/08/29(土) 10:06:25.94ID:UpK3pxKw
>>843
あなたの言う「ビット数」、「可変」ってどういうもの?
壮大な勘違いにならないよう、もうちょっと
2020/08/29(土) 11:21:58.96ID:jhi/eTM1
>>845
クロックと書き間違えました
2020/08/29(土) 12:22:51.45ID:bFb4hpOH
パソコンみたいにオーバークロックしたいみたいな感じ?
2020/08/29(土) 12:51:47.36ID:jhi/eTM1
>>847
自由にクロックを変えられれば動作スピードとか電力とかいろいろ調整できるんじゃないかと思ったのです。
2020/08/29(土) 12:52:19.62ID:jhi/eTM1
>>847
オーバークロックみたい感じです
2020/08/29(土) 13:55:22.12ID:faoNT0MJ
>>843
こんなことかな?
https://neo-sahara.com/wp/2020/05/03/arduino%e3%81%ae%e3%82%af%e3%83%ad%e3%83%83%e3%82%af%e6%95%b0%e3%82%92%e8%90%bd%e3%81%a8%e3%81%97%e3%81%a6%e7%9c%81%e9%9b%bb%e5%8a%9b%e7%a8%bc%e5%83%8d%e3%81%95%e3%81%9b%e3%82%8b%e3%80%82/
2020/08/29(土) 13:56:42.55ID:FlhOGPB6
PCで使われるCPUみたいなことは出来ないかな
動作クロックっていうのは水晶発信器などのクロックジェネレータって部品で
作られた信号の周波数で、これが8MHzだったり16MHzだったりするけど、
基本的に固定値なので周波数を上げ下げできない

発信器の動作クロックは下げられないけど、そのままでは早すぎるって場合には
分周って処理でクロックを間引いたりする

逆に上げたいとき(PCのオーバークロックもこの一種)には、ていばいき(逓倍器)を
使って発信器の周波数を2倍とか3倍とかにして使用する

で、Arduinoは逓倍器を積んでいないので、取り出すデジタル信号の周波数を
下げること出来てもそのままで上げることは出来ないよ
2020/08/29(土) 14:47:21.05ID:YOQMSLIZ
serial通信速度もクロック依存、簡単ではないな
2020/08/29(土) 17:33:11.65ID:bFb4hpOH
省電力なら元々省電力を目的とした機器を選ぶようだと思う
2020/08/30(日) 01:16:22.26ID:SAneNFwO
横からだけどatmega328pは4MHzで動かすと1.8ボルトで動くようだが、そうなるとarduinoIDEの範囲外?ボード設定に触れたネット情報がうまく探せなかった
ニッ水二本で動くなんてすごいなあと思ったので試してみたい
2020/08/30(日) 01:23:47.17ID:PE4Y28UO
ATmega328PがいいならMiniCore使えば?
https://github.com/MCUdude/MiniCore
ヒューズビットの設定とかわからん!でもICSPつないでブートローダ書き込みコマンドから内蔵RCで1MHz〜で設定できるでしょ

まぁ1.8Vで使いたいならATmega328Pなんてロートルじゃなくて最新のAVR128DB32とかのほうがいいと思うけどね
まだベータバージョンだけどArduinoCoreもあるし(DxCore)
https://github.com/SpenceKonde/DxCore

AVRDAシリーズは1.8V〜5Vまでの全てのVCC電圧で〜24MHzまで動作保障だよ
2020/08/30(日) 09:47:29.11ID:seV49HTY
とりあえず動かすだけなら昇圧させればエネループ1本で5V100mAぐらいまでならいけるんじゃねーの?
2020/08/30(日) 09:55:44.67ID:HaeeiEDT
思考実験
Arduino自身のI/Oで、チャージポンプ昇圧して
自分の電源をまかなう、なんていうソフトできるんかな?
2020/08/30(日) 10:10:15.32ID:PE4Y28UO
ATmega328Pをを電池2本で動かすとして・・・
内蔵8MHzのクロックを利用するとしてヒューズのCKDIV8は有効にしておく
これでPOR時はクロックプリスケーラが効いてて1MHzだからどんな電圧でも動作する
起動後はタイマーを使ったPWMでDCDCコンバータを駆動(昇圧チョッパーなりチャージポンプ+リニアレギュレータなり)
(バッテリーからの電源にはダイオードを順方向で入れておくこと)昇圧後の電圧は分圧しておいてADCかACで1.1Vの内部基準電圧でモニタ
必要な電圧にまで上昇したらクロックプリスケーラを解除と同時にDCDCコンバータ用のPWMに使ってるタイマーを8分周に変更してメインプログラムへ

で出来るんじゃないかな
2020/08/30(日) 10:22:27.16ID:SAneNFwO
>>855
こういうのがあったのか、ありがとう
arduino 4mhzで検索してもなかなか出てこなかったので
セラロックつけなくちゃと思っていたけれど内蔵RC発振でも使えるのか
部屋の照明のリモコンを増やしたかったんです。なので少ない電池で動かしたい
2020/08/30(日) 10:29:38.30ID:SAneNFwO
>>856
待機電力が問題になるかなと思ったけど、待機時はどこも導通してなくてスイッチオンで昇圧回路から起動してブートローダーなしのマイコンも起動すればリモコンとしていけるのかな
2020/08/30(日) 10:48:11.96ID:HaeeiEDT
>>858
すんません、、、
ナバホ語かピダハン語を聞いているような
難しさで理解できませんでした
ガンダムに例えて解説してくれませんかw
2020/08/30(日) 11:09:50.94ID:uHzHYO3q
>>859
内蔵RCは精度が悪くシリアルで文字化けする場合がある
固体毎にOSCCALで調整すると改善するが、
-10℃〜40℃など温度変化の激しい場所では調整し切れない
基本クロック精度が悪いと、タイマーを使うディレイも狂って
周波数カウンタ、IRリモコンなどの用途で問題が発生する場合がある
2020/08/30(日) 12:22:08.76ID:SAneNFwO
>>862
arduinoを一台arduinoISPとして,atmega328pに直接?書き込んでいるのでシリアル通信できない問題は影響なさそうです
簡易オシロスコープで確認したところ赤外線の38khz も少しずれていたんだけどアイリスオーヤマの LED 照明は認識してくれました
季節による温度変化で駄目になるかもしれないな

低電圧動作を目的に4メガヘルツで動かすならセラロックが必須であれば精度も上がるのかなと思っていました
内蔵 RC 発振でも4メガヘルツで動くようなので挑戦してみます
いろいろありがとう!
2020/08/30(日) 12:23:40.48ID:gSNhVxX+
>>862
そうなんだけど、>>855 のAVR128DB32だと、温度範囲は書いて無いが、ちゃんとキャリブレやってるから、UARTでも大丈夫って書いてあるな
https://github.com/SpenceKonde/DxCore

なんか面白そう
2020/08/30(日) 13:53:49.08ID:PE4Y28UO
>>863
16MHzのクリスタルがついてるとしたら外部水晶用の内部発振回路を全振幅発振器から低電力発信器に切り替えて
かつプリスケーラを4分周に設定すれば何もハードウェア的な改造しなくても水晶の精度で4MHzで動くぞ
2020/08/30(日) 13:54:57.51ID:PE4Y28UO
追記
内部発振回路を全振幅から低電力に切り替えるのは全振幅発信機がVCC=2.7V〜しか動作が保障されてないため
切り替えはヒューズビットでどうぞ
2020/08/30(日) 15:06:17.76ID:SAneNFwO
内部発振回路に種類があったのは知らなかった
どうもありがとう調べてみます
2020/08/30(日) 19:17:38.58ID:P7StJInc
みんな006P嫌いなの?
2020/08/30(日) 19:22:19.04ID:SAneNFwO
テスターで仕方なく使ってる程度
2020/08/30(日) 19:48:12.81ID:uG42dl0z
UNOのACアダプターって何ボルトがいいの?
2020/08/30(日) 20:22:52.08ID:gSNhVxX+
>>870
仕様上は7V〜12Vだけど、レギュレータICの発熱考えると、7Vに近い電圧がいい
自分は9Vのアダプタ使ってる
2020/08/31(月) 23:26:55.93ID:MuP4fU0P
安価な温湿度センサーであるところのDHT11で、気温と湿度を測りたいんですが、何度やってもnanになっちゃって困っています。

以前に使ったときは問題なく使用できたので、プログラムは間違ってないと思います。

VDDは5Vで動かしているのですが、シリアルプロッタで波形を観測したところ、一定の電圧(4V程度)を出力し続けているようです。
DHT11はデジタルのシリアル出力だったはずなので、この時点でおかしいと思うのですが、このような現象に心当たりはないでしょうか

Arduinoを変えたり、DHT11も複数試してみました。
回路が間違えてんじゃないかって思うのですが、データシート通りなのと、以前動いたのが気がかりです。

また、足りないところがあれば、補足するので教えて下さい。
2020/09/01(火) 00:04:32.02ID:uQ8yMlcJ
>>872
使用してるライブラリの名前とか配線状況を見れる写真とか動かないコードが有れば回答しやすい

>VDDは5Vで動かしているのですが、シリアルプロッタで波形を観測したところ、一定の電圧(4V程度)を出力し続けているようです。
>DHT11はデジタルのシリアル出力だったはずなので、この時点でおかしいと思うのですが、このような現象に心当たりはないでしょうか

うちのDHT11のSIGNAL(2番)をテスターで測ったら4.95Vだった(VDDは5.05V) ちょっとおかしいですね
これは外部のプルアップを使わずマイコンの内蔵プルアップを使用してでの電圧です

配線の不良も疑ってみては?
2020/09/01(火) 14:42:53.57ID:tlyK+QZv
Arduinoのdigital outを別の機器に繋ぎたいです
その機器は独自の電源を持っています
Arduinoと供に使う何とかCAPのようなArduinoから給電する機器ではありません
その機器のdigital inの回路がその機器の5V電源にプルアップしています
このような接続形態の機器にArduinoのdigital outを繋げますか?
なお流れる電流は0.5mAです
Arduinoのdigital入出力のピン1本とGNDのピンをその機器に繋ぐだけで良いのでしょうか?
2020/09/01(火) 14:55:38.93ID:Q/PtM9v3
>>874
問題無い

というか殆どの装置は入力保護でプルダウンかプルアップしてると思う
自作装置もそうするほうが良い
2020/09/01(火) 15:12:36.45ID:tlyK+QZv
>>875
ありがとうございました
でも理解できない事があります
Arduinoで外付けのLEDをLチカさせる時にArduinoのGNDピンと13番ピンの間に抵抗器とLEDを入れます
Arduinoの5V端子、13番ピン、GNDピンの3つを使うような記事を見た事がありません
これは13番ピンとGNDピンの間が解放か短絡か2択のリレーみたいなスイッチになっておらずArduinoの内部でGNDと13番ピンの間が5V電源に繋がっているという事ですよね?
Arduino側でArduinoの5V電源にプルアップ、別の機器側でもその機器の5V電源にプルアップでは不味くないですか?
2020/09/01(火) 15:45:11.09ID:tlyK+QZv
これを読んでも良くわからないので質問させて頂きました
ソースとしてもシンクとしても使えると書いてありますがOUTPUTに指定するピンに対しソース、シンクのどちらにするのかスケッチで指定する方法が書かれていません
outputに使うピンのソース、シンクどちらにするかのスケッチでの指定は無いと思えば良いですか?

http://www.musashinodenpa.com/arduino/ref/index.php?f=2&;pos=83

【OUTPUTに設定されたピン】
ATmegaのピンはソース(正の電流源)としても、シンク(負の電流源)としても機能し、
2020/09/01(火) 15:45:12.96ID:1fTodUDr
あなたが想像する回路図を描いてミソ
Aruduinoの電源と相手機器の電源が互いのプルアップ抵抗でつながるのってまずいのでは?ってこと?
2020/09/01(火) 15:49:32.93ID:1fTodUDr
それなら
HIGH出力でソース
LOW出力でシンクです
2020/09/01(火) 16:09:09.93ID:0Ve5xZ+y
>>877
pinMode(pin, OUTPUT);
digitalWrite(pin, HIGH);//Source
digitalWrite(pin, LOW);//Sink
2020/09/02(水) 17:26:28.52ID:WRxYTR8G
DUEのDAC0, DAC1にアナログ信号を出力するにあたり、
analogWrite(DAC0, value);
の代わりにポートレジスタを直接叩くようなことは出来ますでしょうか?
出来るとしたらどのようにすればいいか教えていただけるとありがたいです。

デジタル出力だと、例えばdigitalWrite(5, HIGH); の代わりに
PIOC->PIO_SODR |= (1<<25);
にするみたいなやつです。
2020/09/02(水) 18:30:57.08ID:4twaSAUm
すでに出力設定とか全部してあって値だけ変えるって話ならDAC0かDAC1のDACC_CDR
2020/09/02(水) 18:34:03.17ID:4twaSAUm
ごめん違ったDACCのDACC_CDRで良いわ
ビット位置で0と1だわこれ
2020/09/02(水) 20:10:58.87ID:WRxYTR8G
>>882-883
ありがとうございます。
チャンネルの選択方法がまだいまいちわからず、
DAC1に出力することしか出来ていないのですが、
とりあえず25倍ぐらい速くなりました。
2020/09/03(木) 14:12:56.94ID:j+KW//yO
>>884の続きです。下記の手順で両チャンネンルに出力できました。
1chあたり0.8Msa/sと、ほぼハードスペック(1Msa/s)通りになりました。
analogWrite()をあらためて測ったところ、0.13Msa/sぐらいは出ているで、
昨日の25倍というのは気のせいで、6〜7倍ぐらいのようでした。
アドバイスありがとうございました。

analogWrite(DAC0, 0);
analogWrite(DAC1, 0);
でとりあえず初期化。

書き込みモードの設定
DACC->DACC_MR |= bit(4)|bit(20); // Word transfer mode(bit4), Tag mode(bit20)

書き込み
DACC->DACC_CDR = x | (y<<16)| bit(28); // CDR[15:12] is CH for CDR[11:0], CDR[31:28] is CH for CDR[27:16]
2020/09/03(木) 17:49:11.23ID:CxJaxSsr
そんなにオーバーヘッドあるんだな
2020/09/03(木) 18:17:00.38ID:8jiu3F95
Arduino Nanoで入力ピンの割り込み処理を行わせるプログラムを以下のように書いているのですが、割り込みの初期化時に必ず1回割り込みが発生してしまいます。

pinMode(2, INPUT_PULLUP);
attachInterrupt(0, func, CHANGE);

どうも、割り込み判定の初期値がLOWになっているようで、INPUT_PULLUPのようにHIGHを初期状態にした上で
割り込み判定をCHANGEやRISINGにすると、それをLOW→HIGHと判定してしまうようです。
(FALLINGでは発生しませんし、
pinModeのあとにdelayを入れても変わりませんので安定の問題でもないようです)

割り込み判定の初期値をHIGHにすることはできないでしょうか?
2020/09/03(木) 18:44:58.61ID:pfJMGwge
プルアップならFallingで割り込みでいいんじゃないの
2020/09/03(木) 18:47:29.25ID:CxJaxSsr
AVRの割り込みは割り込みが無効の間も判定は常に行っていて有効になった瞬間に実行される
(じゃないと割り込み停止中に割り込み条件が満たされたことが検知不可能になるため)
それが嫌なら有効にする直前に自分で割り込みフラグを消せ

EIFR = 0x03;

で消せる(Nano、Unoの外部割込みの場合)
2020/09/03(木) 18:48:16.69ID:CxJaxSsr
>>888
それとこれとは話が別
ChangeにしてるってことはLowにしばらく引いた後Highに戻すときも拾いたいってことでしょ
Lowに引くときだけ割り込みたいわけじゃないのだろう
2020/09/03(木) 18:58:53.35ID:pfJMGwge
じゃあ普通に割り込み条件整ってるんでしょ
割り込み用のピンになに繋いでるのかな
2020/09/03(木) 19:16:50.51ID:8jiu3F95
>>889
EFIRは割り込みのマスクレジスタなんですね。
attachInterrupt前にEFIR=0x03することで回避できました。
AVRでの割り込み動作についても理解しました。
ありがとうございました。
2020/09/03(木) 19:19:20.67ID:8jiu3F95
>>891
ピンに何も繋がず、INPUT_PULLUPでHIGHに固定した状態で、attachInterupt(CHANGEまたはRISING)した時点で割り込みが発生していました。
INPUT_PULLUPした瞬間にピンはHIGHになっていることは確認しています。
2020/09/03(木) 19:27:52.48ID:CxJaxSsr
>>891
上でも書いたけど割り込みは無効の間も「割り込みフラグレジスタ」に記録される
無効状態でも割り込み条件を1回でも満たしていれ次に有効にした瞬間に割り込みが実行される
2020/09/03(木) 19:28:17.06ID:CxJaxSsr
>>892
マスクレジスタはEIMSK
EIFRはフラグレジスタ
2020/09/03(木) 20:53:55.42ID:8jiu3F95
>>895
失礼しました。ありがとうごさいます。
2020/09/04(金) 23:09:16.75ID:aFjtEL5i
>>889
昨日割り込みについて質問した者です。
その延長で教えて欲しいことがあるのですが、
割り込み判定を"CHANGE"にした場合に、立ち上がりなのか立ち下がりなのかを正確に取得する方法ってあるのでしょうか?

割り込み直後にピンの状態を取得しても、ものすごく短いパスルのような場合は割り込み時とは異なる状態が取得されてしまいました。
あらかじめ過去の状態を変数に保管しておいて、という方法ならその反対に変わったと判断できますか、これも処理が追いつかないと正確ではなくなりそうです。
トリガー情報が呼び出された関数の引数で受けられたりしたらベストなのですがそのようなものは無いですよね?
2020/09/05(土) 00:49:08.44ID:l7bTo89b
>>897
Low用とHigh用で2ピン使ってはどうかな
だけど そもそもCPUの処理速度が追いついてない様なので
意味がないかもね
2020/09/05(土) 01:07:26.99ID:l7bTo89b
1ピンでやるならカウンターをインクリメントしていって
0ビット目を調べるっていうのもあるね
ただどっちにしろ速度が間に合ってないっぽいけど
2020/09/05(土) 08:38:16.41ID:d+Ek/6cL
>>897
タイマーを外部クロック入力にして割り込み直後に前回値と比較すれば
Hi/Low/取りこぼしerrのステータス返す事ができるよ
1/2クロックまで、16MHzなら8MHzまで
それ以上のものすごく短いパスルはどうあがいても無理
2020/09/05(土) 08:50:32.54ID:kQ5Ba+cv
Cで書いたら割り込みはISRマクロで定義することになって、NAKED付けない限りr0とr1と割り込みルーチン内で使ってるレジスタのPUSHが入るし
そもそも該当の信号が同期化されて割り込みベクタに飛んでRJMP命令が実行される時点で4クロック分の時間を消費してるわけで・・・
Arduinoで書いてるなら使うレジスタを全部把握してISRにNAKEDつけて退避なしで組むとかほぼ不可能だと思うし
16MHzでやるには辛い仕様なんじゃないの。実際どういう目的で使ってどういう信号が来てるのか書いてみてよ
2020/09/05(土) 08:58:27.63ID:d+Ek/6cL
どうあがいても無理と書いたけどあれは嘘だ
外部クロック注入前に74HC4040等で文周すれば80Mhzくらいまでいける
「ごく短いパルス」というのがふんわりしすぎていて仕様を満たしているかわからん
2020/09/05(土) 09:01:47.66ID:Bh1COiwQ
外部部品OKなら外付けで何でもできるだろw
パルスカウント用に高速のマイコンつけりゃいいだけだし
2020/09/05(土) 13:26:20.70ID:51fz6+O0
>>897
割り込みトリガをトグルするとかどうかな
始めRisingでトリガして呼ばれたらFallingに変える
Fallingで呼ばれたらRisingに変える
2020/09/05(土) 15:31:15.46ID:kQ5Ba+cv
外部割り込みピンでもピン変化割り込みは使える、かつ同時にフラグが立ったときは割り込みベクタ番号の若い方、つまり外部割込みが優先して実行されるから
両方有効にして外部割込みはRISINGのみにする、外部割込み直後にピン変化割り込みのフラグを解除する行を追加
これで擬似的にRISINGは外部割込み、FALLINGはピン変化割り込みのISRになる・・・かな

まぁどっちにしろ信号の早さに対してマイコンのクロックが足りてないっぽいのでどんな手段をとろうが取りこぼしが起きるだろうけど
2020/09/05(土) 20:35:40.69ID:A9YmElxw
ノイズに付き合う必要も無いので短すぎるパルスは切り捨てる判断も必要
2020/09/05(土) 21:51:13.02ID:Mt4cSeUs
見えないものは無いものとして扱う。
ある意味真実
908897
垢版 |
2020/09/06(日) 00:10:27.69ID:ENB3+WXk
返信が遅くなりすみません。いろいろとアドバイスありがとうございました。
今回の(CHANGEでのRISING/FALLING判定)は具体的な利用のものではなく、前回の延長としてそういったことはできないか、という意図でした。なので非現実的なことを聞いてしまったかもしれずすみません。

CHANGEでの割り込みで、関数の最初にHIGH/LOWを見てRISINGかFALLINGか判定した上で、それぞれカウントするという簡単なコードで試した際、タクトスイッチのチャタリングのような細かい周期の割り込みでは正確に拾えなかったことから質問させていただいた次第です。
(RISINGとFALLINGのカウントは常に1しか差が出ないはずがそうではなかったため)

電子工作は初心者で、ソフトウェア寄りな人間なので確実な方法を求めてしまいました。
ソフトウェアでの限界はある程度はあきらめることや、周辺回路でサポートすることも必要ということですね。いろいろと勉強になります。
2020/09/06(日) 02:16:19.40ID:/I1mLbcA
人間の手では50ms以上の速度でタクトスイッチを押すことは高橋名人でも不可能なので
50ms未満の変化はソフトウェア的に無視するよう書くべき
2020/09/06(日) 02:34:59.61ID:oL+Eils3
>>909
16連射ならデューティ50%としてON(OFF)時間は31.25msecだから高橋名人なら可能なんじゃね
実際には16連射より速かったそうだし
2020/09/06(日) 04:25:27.24ID:1lTnjv1t
makeして書き込めと言われたのですが、makeとは何でしょうか?
ArduinoIDEで出来かすか?
2020/09/06(日) 05:54:59.54ID:fQUA5CLB
makeとはソース(スケッチなど)をコンパイルリンクして実行ファイル(機械語HEXファイルなど)を作成すること
ArduinoのスケッチならArduinoIDEで可能、素のAVRのソースならAtmel Studioなどに読み込んでコンパイルリンク、Makefileが付いてるならgccとかで一気にできるんじゃない?
2020/09/06(日) 10:46:16.47ID:SzyzFnS5
>>909
連射は難しいけど、単発で1回押すだけなら20msぐらい余裕だよ。
意図的に短いパルス出そうとして頑張れば10msぐらいでもいける。
2020/09/06(日) 10:55:48.04ID:vx28sRFU
makeはmakeですよ
915774ワット発電中さん
垢版 |
2020/09/06(日) 10:56:51.46ID:WAJ/rXk5
働いたらmake
2020/09/06(日) 11:56:25.28ID:2ZdGhv1o
>>908
http://codepad.org/Ov2EsaBz
どの位のパルス幅からうまく読み取れないか試したら
だいたい4.58μsより短いパルス幅だと正しく判定出来なかった
2020/09/06(日) 12:41:54.17ID:SzyzFnS5
$ make love
make: *** ターゲット 'love' を make するルールがありません. 中止.
918774ワット発電中さん
垢版 |
2020/09/06(日) 21:40:58.03ID:ZD43/FJ4
Arduinoで二酸化炭素センサMH-Z14Aを使おうとしてます。ネット上のソースコードであれこれ試してみてますが、二酸化炭素の値が「リアルタイム」で得られてないっぽいです。センサーに息を吹きかけると、その影響が出るのが20&#12316;30秒後くらいになってしまいます。二酸化炭素の値をリアルタイム(数秒以内)に得たいです。

これって、センサの仕様上しょうがないことなんでしょうか? 
データシートをみても、20秒のラグなどの情報は見当たらないし、ネット上の記事にも、このラグについて書いてありません。。どなたか、こういう、arduinoでのガスセンサの使用など詳しい方いらっしゃったら、教えてもらえるとありがたいです。
2020/09/06(日) 22:17:22.86ID:lB9xIwMB
ちゃんと電源入れっぱなしにして5分後くらいにやった?
920774ワット発電中さん
垢版 |
2020/09/06(日) 22:34:46.52ID:ZD43/FJ4
>>919
ありがとうございます。何度も見直していたところ、コードの一部にミスを見つけました。
無事、正常に動きました。
2020/09/07(月) 00:11:33.15ID:LV0oZfEy
ほんとまぁよく他人のソース信用できるよな
2020/09/07(月) 03:17:57.14ID:ZWIQ8z9A
ライブラリ全否定
2020/09/07(月) 09:24:45.07ID:LV0oZfEy
「ネット上のソースコード」の話な
いかがでしたでしょうか系
2020/09/07(月) 12:03:44.61ID:tCdn7oWo
以上、いかがでしたか?
925774ワット発電中さん
垢版 |
2020/09/09(水) 20:44:28.18ID:vIId0cXf
不手際があってスケッチを保存してたフォルダーごとぶっ飛んだ。
電子工作・Arduinoを初めてからの2年間の膨大なスケッチが水泡に帰した・・・
皆さんもバックアップはマメにね。(T_T)
2020/09/09(水) 20:51:45.21ID:Q9XjItb9
ローカルだとバージョン管理めんどうじゃない?
github使ってるわ
2020/09/09(水) 22:54:48.19ID:P1kceNqA
どうせコピペばっかなんだからバックアップも版管理もいらねーだろwww
2020/09/09(水) 23:16:41.83ID:Q9XjItb9
>>927
何か自分で使った周辺ICとのインターフェース部分をリファクタリングしてライブラリを作るのにはまってしまって・・・
2020/09/10(木) 00:31:00.54ID:dduH55Nq
>>926
飛んだデータの量にも依るけど、それ悲惨すぎ
今どきPC使ってて、ディスク・イメージの定期バックアップも取って無いの?
専用アプリは色々あるし、データはもちろん、OSが飛んでも、最後のバックアップ時の状態に復元できるのに
2020/09/10(木) 03:28:52.39ID:C135njDJ
Windows標準のバックアップ機能がクソ以外の何者でもないというのが問題なんじゃない?
自分の環境じゃエラーばっか出てまともに動いた試しがない、あれじゃまともにバックアップする気にならん。
Macじゃ標準の機能が極めて簡単に使えて、部分リカバリも全体の復元もちゃんと可能。
2020/09/10(木) 05:33:10.54ID:v8mvgT7d
バックアップツールは復元できるかどうかそのときになってみないとわからないから信用できない。
データやメールの入っているフォルダをXCOPYコマンドで定期的にコピーするのが簡単で確実。
フォルダがたくさんあってもバッチにしておけばいいし。
2020/09/10(木) 08:19:00.32ID:tzSRtbTB
>>931
リカバリーメディア作ったときに、正常起動可能か試せばいい

自分は本体と同じ予備SSDも買ってるので、それを2カ月に1回くらいの頻度でクローン化し、それに入れ替えて継続使用してる
これで、元のSSDを挿せば、最低限、数カ月前の状態には瞬時に戻せるようにしてる

さらにWindows10のメジャーアップデート毎にも、復元を確認してるし、自動バックアップは毎早朝にスケジューリングし、終わるとスマホに(イメージの整合性もチェック)報告メールをさせてる

備えあれば憂い無し
2020/09/10(木) 08:24:00.95ID:tzSRtbTB
>>931
因みにデータのコピーは、外付けHDDとLAN上の別PC2台に1日数回やってる
2020/09/10(木) 11:19:23.66ID:MU4+BAqu
現状だとローカルバックアップよりクラウドに必要なデータバックアップの方がいいよ
自動化だって簡単だし、天災にも強い
2020/09/10(木) 12:37:29.15ID:dduH55Nq
>>934
ホントそうだけど、
インストールしてるアプリが多過ぎ、特に機械・電気電子関連CADやシミュレータ、そしてデータ(シミュレーション結果の動画とか)も多くて。。。
2020/09/10(木) 15:47:05.80ID:DiS0RqpV
液晶へのフォント描画で0〜Zは問題無いのにa〜が1コードずれてて必死に原因探してたら、フォントデータの
〜0x00}, // [
〜0x00}, // \
〜0x00}, // ]
の行末\で]の行がコメント化されてたのが原因だった…すんげー間抜け
2020/09/10(木) 21:16:51.43ID:1hDiic/e
最近のOSはデータをアチコチにばら撒き過ぎなんじゃーヽ(`Д´#)ノ
2020/09/14(月) 00:39:47.84ID:h3YwEjD+
Arduino Nano 33シリーズてまだ技適的にアウト?
939774ワット発電中さん
垢版 |
2020/09/14(月) 22:08:00.69ID:C5UrAw/o
>>685
で投稿した者です。

前回の質問したパワーパックの回路や筐体は組んで完成したのですが
https://pwm.sigris-rabo.work/?page_id=199

上記URLのプログラムを
Arduino Pro Mini上位互換マイコンにAE-ATMEGA328-MINIに
書き込めたのですが、電源ONしてもLCDディスプレイに何も表示されません。
助言をお願いできますでしょうか?
2020/09/14(月) 22:29:55.67ID:h3YwEjD+
回路の配線は合っていますか
電源投入後、電源ラインがつながる箇所の電圧は確認しましたか
プログラムが書き込めたことを何をもって確認しましたか
ご自身でどこまで調べましたか
2020/09/14(月) 23:20:51.92ID:Q8jWzoZ5
>>939
実配線図と回路図が異なってるので、確認するべきポイントがいくつかあります
1.LCDのVCCやGNDは接続されてるか?
2.LCDのVO端子(コントラスト調整端子にはコントラスト調整用の半固定抵抗等が接続されてるか?
3.LCDの説明書にあるバックライト点灯用の抵抗の取付は出来てるか?
942774ワット発電中さん
垢版 |
2020/09/15(火) 06:52:01.42ID:VZaaivCL
>>936
あるあるですね。よそスレだけど。
https://rio2016.5ch.net/test/read.cgi/denki/1497806664/57
https://rio2016.5ch.net/test/read.cgi/denki/1497806664/937
943774ワット発電中さん
垢版 |
2020/09/15(火) 07:38:46.57ID:1kAWo1o4
>>940
・回路の配線は何度か確認し、合ってはいます。
・テスターで3端子レギュレータの出力確認はしました。
・プログラムはIDE上で、問題なく書き込めました。

>>941
@接続はされています。
A・Bは後で調べてみます。

以上になります。
944774ワット発電中さん
垢版 |
2020/09/16(水) 23:07:58.74ID:k3mouCXM
遅くなり申し訳ありません

先程2・3の方も確認し、バックライト点灯用の抵抗調整をしたら
LCDモニタに表示することができました。

助言ありがとうございます
2020/09/21(月) 12:18:29.88ID:uo54tun5
ここはArduino正規品のみですかね?
互換品の質問もおkですか?
2020/09/21(月) 12:34:36.96ID:aa5aNvnD
Arduino関連の質問ならおk
Arduino互換機の話題なら別スレが有る
2020/09/21(月) 12:43:10.29ID:uo54tun5
ESP32で読み取ったSDカード内のmp3ファイルをA2DPで送信したいと思い、A2DP関連ならArduino全般に当てはまるかと思ったのですが...スレチですかね?
ESP32の質問可なスレがパッと見つからなかったのでもしよろしければ誘導お願いしますm(_ _)m
2020/09/21(月) 13:08:35.08ID:aa5aNvnD
>>947
格安wifiモジュール「esp8266」「esp32」 5個目
https://rio2016.5ch.net/test/read.cgi/denki/1594364030
2020/09/21(月) 20:39:26.40ID:4csou36t
>>948
モジュールでスレが5個たつほどなのか
2020/09/21(月) 21:14:22.16ID:aa5aNvnD
>>949
ESP8266やESP32はWiFiモジュールとしてだけではなく、コスパの良いマイコンとして使えるから人気有る
Arduinoで開発できるので、簡単にマイコン+WiFi(Bluetooth)を使った作品が作れる
手軽なボード状の物でESP8266はAliで200-300円,ESP32で400-500円位
ESP8266は32bitCPU SingleCore 160Mhz + WiFi
ESP32は32bitCPU DualCore 240Mhz + WiFi,Bluetooth
処理早くフラッシュ大容量でコスパ良いのでWiFi使わなくてもお釣りくるのよ
2020/09/22(火) 10:17:21.59ID:jcAFTSF3
>>950
へえArduinoなしで単体で動くのか、安いし買ってみよう
2020/09/22(火) 11:38:11.78ID:m9cqJIhf
そう、メモリを気にせずガンガン使える。
でも、ディープスリープからの復帰はリセットされるから、Loopの初めから始まる。
電池駆動で長期間動かしたい時とかArduino(ATMega・ATtiny)とか使うこと多いかな。
2020/09/22(火) 11:59:23.13ID:6/sWtkx1
>>951
少し高めになるが電源やLcdなど組み込まれた使いやすいM5ユニットが人気
ゆるきゃら化してるな
https://twitter.com/shikarunochi/status/1307334356776574976?s=19
https://twitter.com/5chan_nel (5ch newer account)
954805
垢版 |
2020/09/22(火) 14:27:17.55ID:LFJUeHKe
TTGOってデバイスもおもろいよ
2020/09/22(火) 14:33:28.88ID:ERp/3/ze
お、それじゃあ俺は、Obnizを推すわ
かなりクセがあるけど、用途がハマればおもしろい
956897
垢版 |
2020/09/22(火) 15:22:54.07ID:iK4AET+I
Arduinoに後からNW/bluetooth機能足すなら、最初からESP32使った方がコンパクトだし何より安いよね。ESP32(技適あり)で400円ぐらいだし。
DeepSleepの消費電力もものすごく省エネだし。
2020/09/23(水) 22:34:11.55ID:WdYrBPkB
>>948
遅くなってすみません!ありがとうございます
スレチ失礼しました
2020/09/23(水) 22:35:14.85ID:SI6E/iY2
>>953
M5Stack Basic?これはなに?ESP32が入った完成品?
自分でスケッチ書いて、そのままヤフオクで売れそう
2020/09/24(木) 04:58:03.26ID:+0ORLyYy
>>950
でも、ゴミみたいなADCしか乗って無いのが鬼門だな
https://rio2016.5ch.net/test/read.cgi/denki/1594364030/142
2020/09/25(金) 11:17:05.56ID:FWvPhvct
Arduino同士のシリアル通信の事なんだけど、UARTを使った単純な通信にするか、I2Cやspiにするか迷ってる。衝突回避のほかにI2Cやspiを使うメリットってある?
2020/09/25(金) 15:33:43.06ID:wiTSEHmV
>>960
速さと複数デバイス相手の通信?
2020/09/25(金) 16:54:37.87ID:Rq+TcvkO
通信距離も何を選択するかの要素となる
トランシーバが必要になるけど、UARTもRS485なら複数相手の通信が可能
2020/09/27(日) 09:37:02.83ID:fTfI3tk6
質問です。
DAC からの出力をピーク電圧の半分だけ下げて交流の形にしたいのですがどうすればいいでしょうか?
またその際、Zero などの 3.3V 系と普通の Arduino の 5V 系での違いや気をつけた方がいい点などがあれば知りたいです。
宜しくお願いします。
2020/09/27(日) 10:19:04.09ID:VNIz6ySr
>>963
ちょっと言ってる意味が理解できてないカモだけど
こんな感じにしたいって事?
https://i.imgur.com/xkpHQxF.png
965963
垢版 |
2020/09/27(日) 10:29:19.21ID:fTfI3tk6
>>964
御回答ありがとうございます。
そうです、そんな感じです!
コンデンサと抵抗でいいんでしょうか?
2020/09/27(日) 10:42:58.02ID:VNIz6ySr
>>965
正確には上記の回路だとうまく動かないと思います(DACの出力が弱い為)
ArduinoのDACの出力をオペアンプでバッファしてからコンデンサと抵抗で交流に変換するのが無難だと思います
また、必要に応じて交流に変換した後もオペアンプでバッファしてください(ただマイナス電源を用意するのが面倒なので無いほうが楽)
https://i.imgur.com/o4wxFwY.png
抵抗とコンデンサの定数はいい加減なので、必要に応じて計算してください
967963
垢版 |
2020/09/27(日) 10:50:48.95ID:fTfI3tk6
>>966
助かりました。ありがとうございます!

この原理って何か呼び名がありますでしょうか?
ググって詳しく調べたいのですが、「コンデンサ 抵抗 負」とかでは上手くそれらしい結果が出てきませんでした。
2020/09/27(日) 11:00:58.98ID:VNIz6ySr
>>967
名称は詳しくなのですが
「ACカップリングコンデンサ」や「CRハイパスフィルター・RCハイパスフィルター」と呼ばれてると思います
969963
垢版 |
2020/09/27(日) 11:17:28.94ID:fTfI3tk6
>>968
なるほど、ハイパスフィルターになってしまうんですね。
出力の形をそのまま維持できる方法はないのでしょうか?
2020/09/27(日) 11:28:25.53ID:oMwlLhsa
>>963の質問の意味をまだ理解できないオレは修行が足りないのだろうか・・・
2020/09/27(日) 11:45:42.64ID:VNIz6ySr
>>969
マイナス電源も用意するなら、オペアンプの信号をオフセットすれば出来る
マイナス電源無しの方法は複雑すぎて俺には出来ない・・・
https://i.imgur.com/MmZ8MAl.png
用途がわかれば別のアドバイスも出来るかもしれない

今更ですが、5V系のArduinoだとDAC付きって何があったっけ?
UNOやMEGAはDAC無いので・・・
972963
垢版 |
2020/09/27(日) 11:53:15.83ID:fTfI3tk6
>>970
すみません、自分の知識不足故にお伝えする能力が足りてないのだと自覚しております。

>>971
5Vのだとないんでしたっけ?幸い今試そうとしてるのは Zero なんですが。
やりたいことは単純にスピーカーに繋げて音を鳴らしたいのですが、
そのままでも人間の耳には聴こえるかもしれないけれど、
何かそのあと処理する時にいろいろ良くない的な事が書いてあったので、0Vを中心にしたいなと思いました。
2020/09/27(日) 12:18:45.16ID:VNIz6ySr
>>972
5Vでも探せば有りそうだけど、有名な機種だとDAC無いのが殆どだったので
>>964の様な構造は市販のオーディオアンプでもごく普通に使用してる方法なので>>971の様に複雑にする必要はないと思います

アンプ付きスピーカーを接続するなら、抵抗+コンデンサ+バッファ(省略できる可能性有り)で十分だと思います
(そもそもSP側(アンプ)にカップリングコンデンサ付いてる可能性が高い!)

アンプ無のスピーカーなら使うアンプICにより、バッファ無で回路作れると思います
https://akizukidenshi.com/download/ds/njr/njm386bd.pdf
よく使われてるアナログアンプの推奨回路でもACカップリングコンデンサが使われてますよ〜
2020/09/27(日) 12:18:58.50ID:DECleiqp
ACカップリングコンデンサーを入れるとハイパスフィルターになるが
作ろうとしている装置がどういうスペックかを明確にすれば不具合を回避する方法はある

例えば生成する信号の最低周波数が10Hzなら、1Hzくらいがカットオフのハイパスフィルターを使えば
ハイパスフィルターとしては無いも同然という事になる
975963
垢版 |
2020/09/27(日) 12:31:39.78ID:fTfI3tk6
>>973
まだスピーカーは調達してないので、参考にさせて頂きます!
(というか全然理解してないのでまずアンプ有りのスピーカーで確認しつつ、アンプ無しのスピーカーでも鳴るようにして理解を深めたいと思います)

>>974
人間の可聴領域より低いところに調整できれば事実上無視できそうですね。
こちらもいろいろ試行錯誤してみたいと思います。

知識不足からまだ釈然としてない部分は多いのですが、教えて頂いた情報を元に更に調べたり試行錯誤してみたいと思います。
皆様ありがとうございました。
2020/09/27(日) 12:35:41.88ID:h7CF0ENo
こーいっちゃ何だがただのオーディオアンプ

ま、変な沼にはハマらないようにね・・・ククク
2020/09/27(日) 12:40:59.85ID:VNIz6ySr
>>975
ダイソー300円のアンプ付きスピーカーを実験用に使ってます
買った直後に右用と左用を分離して、1個のアンプ付きスピーカーと1個のアンプ無スピーカーとして使ってます
2020/09/27(日) 13:58:24.84ID:G7p/AK/L
俺は386で十分だから沼の心配は無いw
でもポップノイズが気になるんだよなぁ〜
979963
垢版 |
2020/09/27(日) 16:14:05.25ID:fTfI3tk6
>>976
「このハードディスクは音質がいい!」
今の時代なら「このSSDは音質がいい!」とかになるんでしょうかw

>>977
賢いですね!真似させて貰おうかな。

>>978
私の CPU は 486SX 16MHz です!

関係ないんですが自分が二つ買った Zero の箱を見たら
ABX00003 の 03068 と 03069 ってラベルが貼られてました。
これシリアルナンバーだとしたら純正品の Arduino ってそんな数しか売れてないの?って心配になりますね。
2020/09/27(日) 17:57:04.73ID:derENEKv
天下のSONYがこのSDカードに入れたデータは音質があがるSDカードを売ってるような時代だからな
2020/09/27(日) 19:37:29.01ID:gMaXjaXw
>>980
音源データ入れたUSBメモリーも、
外装の色によって、音質が変わるんじゃなかったっけ?www

赤色は情熱的な、とかなんとか
2020/09/27(日) 20:48:53.31ID:dSDI2a1o
>>966
ただのボルテージフォロアだな
2020/09/27(日) 20:52:28.66ID:dSDI2a1o
ad9833波形ジェネレータがマイナス出力するのにも使えそうやな
2020/09/27(日) 23:28:13.61ID:DECleiqp
>>981
赤は酸化鉄で磁性体だから音が悪いんだったはず
青もコバルトで強磁性体で(ry
一番音がいいのは結局カーボンブラックだと柴崎先生が言ってたw
2020/09/29(火) 00:39:33.70ID:SsWUKXIr
車が近づいたらライトを光らせたいです。
5m〜位から反応させたいんですが高いレーザーセンサー買うしかないですかね。
2020/09/29(火) 01:53:31.46ID:MWOq7VDI
どんな状況かによる
別のセンサーが使えるかもしれんからもっと具体的に
2020/09/29(火) 07:46:07.34ID:GdgT1KoD
>>971
DACというよりPWMかな。ローパス入れないとまともなアナログにならんと思われ。
2020/09/29(火) 08:06:49.81ID:LUSj1puL
>>987
PWMじゃないDACが付いてる機種もあるよ。
ZEROとかDUEとか。
ArduinoではないけどArduino IDEで開発できるボードだと
Teensy 3.5とか3.6も。
2020/09/29(火) 08:08:43.05ID:LUSj1puL
>>971
5V系だと、Teensy 3.5がdigital5V耐性でDACが2chあり。
2020/09/29(火) 08:22:36.22ID:zfQJR8es
>>985
こんなんどうだ

https://akizukidenshi.com/catalog/g/gK-08699/
2020/09/29(火) 09:07:37.64ID:C0CpTehL
NANOで1ミリ秒の割り込みを書いたんですが、期待通り動かないので教えてください。
スケッチ:https://pastebin.pl/view/81033221
結果:https://pastebin.pl/view/899b8269

if ((millis16()-ms1)>=1000){ で前回値より1000大きければの条件通過してるのに
millis16()-ms1が913になっています。これは毎回同じ値です。
millis16()内のcli(),sei()を有効にすればこれは解決するのですが、
カウンタ変数にvolatile付けているのになぜこうなるのか釈然としません。
詳しい方解説をお願いします。
2020/09/29(火) 10:05:55.82ID:O8PwvCfv
volatileを付けたからといって、ms=milliscntの処理中で割り込みが入らないわけではないよ
cli, seiが嫌ならmilliscntを複数回読んで2度同じ値だったら採用するとかする
2020/09/29(火) 10:21:01.68ID:MWOq7VDI
詳しく見てないけどloop内でmillis16()呼び出すの1回だけにしちくり〜
2020/09/29(火) 10:22:22.96ID:C0CpTehL
レスありがとうございます
割り込みが入って処理が遅れるのは構わないのですが
なぜ1013ではなく913になってしまうのか、そこがわからないのです。
2020/09/29(火) 10:24:42.21ID:C0CpTehL
>>993
ステトコードなので、if文の前後でmillis16()の変化を観測しています。
4箇所でデータ採取していますね
2020/09/29(火) 10:47:26.19ID:MWOq7VDI
デバッガ無いのつらいの
アセンブリ読むしかないかもな
2020/09/29(火) 11:40:42.66ID:Xiz/Jy1y
ifの評価に使ってる値が残ってないのがわかりにくくしてるような。あとシリアル後に変数更新したら文字列の長さ分ずれると思う。
2020/09/29(火) 11:44:37.02ID:NODBHKRg
2020/09/29(火) 11:46:55.38ID:Jt0ySThT
>>986
50mくらいの道をバックして自宅ガレージに停めてるんですが、暗くて壁が見えづらいので家5m前に車が来たらライトが点くようにしたいと考えています

>>990
結構しますね…市販のライト改造したほうが安上がりな予感
2020/09/29(火) 11:54:17.18ID:/JXoZZM8
超音波センサーがいいんでない?
それでは次スレでノシ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 111日 6時間 25分 37秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況