X



トップページ電気・電子
1002コメント355KB
Arduino初心者熱烈大歓迎質問スレ part23
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2018/11/03(土) 17:24:05.57ID:tkgjj99c
http://www.arduino.cc/

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

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

過去スレ
Arduino初心者熱烈大歓迎質問スレ part21
https://rio2016.5ch.net/test/read.cgi/denki/1527252804/
Arduino初心者熱烈大歓迎質問スレ part20
https://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/
Arduino初心者熱烈大歓迎質問スレ part16
http://wc2014.2ch.net/test/read.cgi/denki/1451909868/
Arduino初心者熱烈大歓迎質問スレ part15
http://rio2016.2ch.net/test/read.cgi/denki/1451893274/
0637774ワット発電中さん
垢版 |
2019/01/26(土) 15:34:15.88ID:JhxcioLE
[ArduinoでI2Cの外付けEEPROMを使う]のブログにあるプログラムのアドレス上限指定をFFFFにしたら止まらなくなるんですが仕様ですか?
0638774ワット発電中さん
垢版 |
2019/01/26(土) 16:34:13.09ID:QlPOr6aJ
>>637
以下のfor文の中身が無限ループになるってこと?
for (ADR = startADR; ADR <= endADR; ADR++)・・・・・・
だったらFFFFは unsigned int の最大値(65535)だからADRも最大値はFFFFまでで、更にインクリメントすると0000に戻ってしまって比較文の ADR <= endADR が真になり続けるのが原因でしょ?
関連するコード全部読んだ訳じゃないから他の部分に影響あるかも知れないけど、ROM容量やアドレスに関連する変数を全て unsigned long にするといいかな?
0639774ワット発電中さん
垢版 |
2019/01/26(土) 16:42:29.60ID:QlPOr6aJ
>>636
問題解決おめでとう。
三角波やサイン波の最大電圧が0.6Vくらいだから信号出力にノイズ(特にSPI通信中に)が乗らないといいね。
0642774ワット発電中さん
垢版 |
2019/01/27(日) 15:06:38.34ID:VRHWVcTI
密集した場所にioポート数以上のアナログセンサーを設置してその結果をPCのエクセルに反映させたいと思っています。エクスパンダーシールドというものでioポートを増設する方法もあるらしいのですがそれ以上の個数になっており良い方法があればアドバイス頂きたいです。
・上記シールドを2つ用意し、横に並べるなどし2つ繋げた物をArduinoに繋げることは可能でしょうか?
・構造的には上記シールドに使われているMCP23017を4つ以上使って自作は可能でしょうか?
宜しくお願いします。
0644774ワット発電中さん
垢版 |
2019/01/27(日) 15:25:13.59ID:VRHWVcTI
>>643
アドバイスありがとうございます。
自信がなかったのですが教えて貰い助かりました。データシートを確認してみます。
0646774ワット発電中さん
垢版 |
2019/01/27(日) 22:40:06.96ID:0SH3Bl2W
Arduino Leonardo ETHでサンプルのWebServerを書き込んで使ってみたんですがシリアルモニタを開かないと何故かLANで通信できません
試しにモバイルバッテリーに刺してみましたがやっぱりLANで通信できませんでした
対処法無いでしょうか?
0647774ワット発電中さん
垢版 |
2019/01/27(日) 22:42:21.16ID:tLZevSwl
>>646
シリアルの応答を待ってるとか?
シリアル関連をコメントアウトしてみたら?
0649774ワット発電中さん
垢版 |
2019/01/27(日) 22:57:52.64ID:0SH3Bl2W
もう一つの質問ですが
W5100のチップではEthernet.hが使えてEthernet2.hが使えなくて
W5500のチップではEthernet.hが使えなくてEthernet2.hが使えるのは仕様ですか?
0650774ワット発電中さん
垢版 |
2019/01/28(月) 02:28:07.90ID:+03OtTYL
>>648
直接USBでPCにつなぐとUSB機器のように使えるから便利なんだけど
UNOとコンパチでは無いので使い慣れないと面倒だよね
0651774ワット発電中さん
垢版 |
2019/01/28(月) 13:43:35.11ID:aTxMuVPi
優先度の高い割り込みハンドラ実行中に割り込み許可したら、優先度の低い割り込み入って来るよね?

割り込み優先度って、割り込み許可されたとき、それまで保留されてた割り込み要求を、どの順に処理するかってことでしょ?
0653651
垢版 |
2019/01/28(月) 15:20:55.76ID:aTxMuVPi
>>652
だよね。ちょっと不安になって書き込んだ。
サンキス
0654774ワット発電中さん
垢版 |
2019/01/30(水) 08:24:14.31ID:zgXTvQTv
古いウォシュレットのリモコンが壊れたので、
Arduino UNOでリモコンを作りたい(動作と停止のボタン2つのみ)のだが
乾電池駆動の場合、どのくらいの間使えるかな?
実際にリモコンを作ってる人がいたら教えて欲しい

あとAliexpressで買った激安品だけど火を噴く心配はどうだろうか?
0655774ワット発電中さん
垢版 |
2019/01/30(水) 08:41:46.55ID:0gu9amCj
sleepを使ってボタン押した時だけ動作150mA x 2秒 とすると
乾電池1200mAhで14400回ボタン押せる
1日10回なら約4年使える
---
LEDに流す電流とか電池要領考慮して↑のように計算してみればいいじゃん
自然放電は考慮しなくていいと思う
0661774ワット発電中さん
垢版 |
2019/01/30(水) 14:59:26.72ID:zgXTvQTv
レスありがとう
UNOで作ってる人があまり見つからず実態がわからないんだわ
とりあえず安かったしメモリ容量を気にせず動くマルチリモコンがすぐに作れたから魅力的なんだけど実用で電池で使うとなると厳しいかな?
中古で学習リモコンでも買ったほうが良いかな

>>658
普通はループにするんじゃないかな?
仮に、UNOの電源を入れたらON/OFFのIR飛ばす場合、物理的に二台必要になる
こっちのほうが良いのだろうか?
やったことはないけど、IR発信までにタイムラグが生まれそうだし頻繁なON/OFFに耐えられるか分からない
0662774ワット発電中さん
垢版 |
2019/01/30(水) 15:00:17.51ID:zgXTvQTv
>>660
便座横のリモコンを作ろうと思ってる
他にも部屋のシーリングライトとかも
0663659
垢版 |
2019/01/30(水) 15:10:59.31ID:jNI4Tbmn
>>660
いや、すまない。
>古いウォシュレットの
が目に入らず勝手に赤外線リモコンだと思い込んでた。
有線かもね。
0664774ワット発電中さん
垢版 |
2019/01/30(水) 15:16:50.99ID:2jZEeQmK
>>662
まずは電源を気にせずUNOでリモコンを作る。
出来たらATmega328P単体で動かすように工夫する。
この段階でも電源のことは後回しで最低限のパーツでの動作を考える。
実現出来たら、スリープとかクロックとか省電力を考える。

私ならこういう手順かな。
でないとモチベージョンが維持できない。
0665774ワット発電中さん
垢版 |
2019/01/30(水) 15:22:00.84ID:0gu9amCj
ATmega328Pにいくつかの部品付ければチップ単体で動作するから
UNOをスケッチ書く母艦にして開発すればいいんじゃないかな
チップ単体ならPWR_DOWNで0.1mAみたいだよ
ちなprominiが0.7mA(LED除去で0.3mA)
0666774ワット発電中さん
垢版 |
2019/01/30(水) 15:31:08.89ID:+4b6cFVe
>>654
赤外線リモコンを作る前提として、
UNOはマイコンをスリープにしても、マイコン周りの電気を食いすぎるので、使えないに等しいよ。
単三アルカリ3本で1〜2週間くらいしか持たないから。
もしスリープじゃなくて毎回電源を落とす場合は、UNOはブートローダの関係ですぐに起動して使える様にならないので、それも実用にはならんかと。
それに激安の互換機は安全マージンとか保安周りが無いに等しいから、常用はちょっと…

解決策としては、持ってる激安UNOで開発したあと、マイコンとかの部品を購入して、ユニバーサル基板に組み立ててICSPでプログラム書いてつかったらどうかな?
もちろん保安部品マシマシで。
秋月で全部揃えても800円くらいで済むと思うよ。
0667774ワット発電中さん
垢版 |
2019/01/30(水) 15:45:00.70ID:zgXTvQTv
>>663
赤外線のリモコン
一応USB接続したものはPythonからSerial通信で部屋や液晶の明るさとかに使ってる
ただUSB電源だから電力とかはあまり考えたことがない

>>664-665
ごめん 中国の安いやつだから多分チップだけは取り外せないと思う
https://www.aliexpress.com/item/high-quality-One-set-UNO-R3-CH340G-MEGA328P-for-Arduino-UNO-R3-NO-USB-CABLE/32697443734.html
とガンダムっぽい絵が書いてあるものを持ってる

>>666
1年は持って欲しいと思ったけど厳しそうですね
送料込み3ドル弱のものを使っていますが、USB でも火吹くことありますかね?
一台だけPCに接続して液晶や部屋、スピーカーなどの制御に使ってます。
0668774ワット発電中さん
垢版 |
2019/01/30(水) 15:50:02.41ID:zgXTvQTv
>>666
毎回ブートする場合、おおよそ何秒くらいかかりますかね?
また、そもそもUNOを壊す可能性はありますかね?
0669774ワット発電中さん
垢版 |
2019/01/30(水) 16:24:06.69ID:+4b6cFVe
>>667-668
ブートローダの起動は1.5秒、arduinoとして動作するのに必要な時間です。
起動時間を無くすには、マイコンだけ取り出してICSP等で直接プログラムを書けば解決できます。

そして、USBでも火は吹かせられます。
1Aでも良いから、いくつかヒューズ入れるとかすれば、だいぶ良くなると思いますが…
激安じゃないUNOなら、最低限のリセッタブルヒューズが入ってます。
0670774ワット発電中さん
垢版 |
2019/01/30(水) 16:25:36.93ID:+4b6cFVe
>>668
書き忘れた。
リモコンとして何回ブートを繰り返しても、基本的には壊れませんが…
0671651
垢版 |
2019/01/30(水) 17:48:47.20ID:tIRwnOv0
赤外線リモコン作ったことあるけど、すこし離れるとすぐ動作しなくなった。

そんなもんと諦めてたが、
市販品はledをかなりオーバードライブしてると後から知った。
0672774ワット発電中さん
垢版 |
2019/01/30(水) 18:13:31.16ID:LulH950s
去年ウォシュレットが水漏れして買い替えたから古いアプリコットのリモコンが余ってるw
0673774ワット発電中さん
垢版 |
2019/01/30(水) 18:27:57.89ID:+4b6cFVe
>>671
赤外線LEDは、データシートに『点灯させっぱなしの場合』と、赤外線リモコンのような『パルス点灯』で流して良い電流が違ってる事が多いよ。
で、定格50mAの赤外線LEDは、パルス点灯で1Aくらい流せると書いてある。
もち、マイコンから流せる電流じゃないので、FETでドライブするといい感じ。
0674774ワット発電中さん
垢版 |
2019/01/30(水) 19:44:09.34ID:sD/F2Sbh
照明のリモコン作ろうと画策していて、検索してみたらそれっぽいページが出てきたりしたよ
pro miniのパチモンを使ってた気がする
0675774ワット発電中さん
垢版 |
2019/01/30(水) 21:13:57.86ID:zgXTvQTv
>>669-670
快適とは言えないけど思ったよりも早いんですね。とりあえず作る意欲が湧いてきました。
チップを外してもその後の難易度が高そうなので今回は断念
ATmega328Pだけでも200円位
UNO3ドルで送料込みは激安で多分安全機構は入ってなさそうですね
USBケーブルを改造してヒューズを入れておこうと思います

>>671
3Wタイプなら行けるかなぁーと
弾丸型でも角度を調整すると意外と使えたり・・・

>>672
そっちは直したのですがリモコンが壊れた感じです
ただ廃盤らしくリモコンが無く新品購入らしく10万円コース
リモコンの信号はバックアップを取っていたのでとりあえずそこから復帰予定です

>>673
はっきりしたデータが無かったけど
リモコン程度のパルス幅で1Aは厳しいかも
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10151031900

>>674
コードや配列が大きくなったりしたら多分駆動しないし難易度が高そうで敬遠してる
0678774ワット発電中さん
垢版 |
2019/01/31(木) 13:40:51.97ID:3tqOPqEv
赤外線LEDは抵抗なしでマイコン直繋ぎしたら良い感じに飛ぶようになったわ
0679774ワット発電中さん
垢版 |
2019/01/31(木) 16:51:41.22ID:OIGTYMg9
ネタだろうけど、くれぐれも紫外線LEDではそれやるなよ。まぁ切れる方が早いだろうが…
0680774ワット発電中さん
垢版 |
2019/01/31(木) 17:26:08.62ID:9+vjZPQQ
>>679
パルスなら1Aとデータシートにもあるし
市販のリモコンってやたらとよく飛ぶし(反射波利用が当たり前)にネタというわけではないと思うぞ
あと紫外線LEDはなんでダメなの?
0682774ワット発電中さん
垢版 |
2019/01/31(木) 22:08:14.70ID:fkT1I0NG
パルス駆動なら定格の倍くらいにしておいたほうがいいんじゃないの?
50mAなら100mAまで

以前可視LEDの破壊試験やってみたことがあるけど
2.0VのLEDに2.3V掛けると強く光る、だけどもうその固体は2.0V与えても
本来の輝度は得られなくなる。性能が劣化したわけだ。
更に6Vで発光素子周辺が黒ずみ、9Vくらいで焼き切れる。

色々実験したLEDは光ってても性能出てない壊れた固体である可能性があるので
定数決定したら新品に交換したほうがいいよ
0685774ワット発電中さん
垢版 |
2019/01/31(木) 22:54:38.03ID:fkT1I0NG
定電流掛けるわけじゃないからな
温度上がれば同じ回路でも電流増えてくし
2.3Vとか6Vとか9VはLEDによって全然違うだろうけど

破壊段階は以下の段階があると覚えておくといいよ

「性能が上がったように見える」

「実は劣化している」

「焦げる」

「切れる」

壊れた部品いじくりまわしても時間の無駄だからね
0686774ワット発電中さん
垢版 |
2019/01/31(木) 22:54:45.56ID:n0OvbP+3
>>682
その2.3Vかけたくらいで劣化したLEDに試験の際に流した電流値を教えてください。
0687774ワット発電中さん
垢版 |
2019/02/01(金) 08:56:46.65ID:ugjQIl0q
強い電流流しすぎたら部品が劣化したり壊れたりするから
その後動作不良がでていたら交換したほうがよい。

よく気づきましたね!

ってのが初心者スレのあるべき姿やろ。なんでみんなで叩いてるの?
0690774ワット発電中さん
垢版 |
2019/02/01(金) 12:51:48.15ID:eDKETBCn
今、ここで大事なのは、
どこのメーカーのなんて規格のLEDを使ったのか明確になっていない経験談じゃなくて、
具体的な規格とデータシートから読み取れる事実じゃないかな。

経験談を書きたいのなら、具体的に規格とか電流とか、使用状況を書いてくれた方がみんな助かるよ。

因みに、OSI5FU5111C-40を赤外線リモコンの発光部に使って、1Aでドライブして、1日30回以上駆動して約3年、問題は感じてないよ。
稼働台数は13本、今のところ誤動作なし。
0691774ワット発電中さん
垢版 |
2019/02/01(金) 14:02:48.04ID:RAF//1NE
1Aでも普通に使えるのか
これは参考になるな

ただArduinoだとそこまで電流流せないけどどんな回路使ってる?
あと今Arduinoで10Ω噛ましてるけど1Aにすると赤外線の飛びって実用上かなり違う?
0692774ワット発電中さん
垢版 |
2019/02/01(金) 14:41:29.64ID:8lxFHmZ4
×どこのメーカーのなんて規格のLEDを使ったのか明確になっていない経験談
○どこのメーカーのなんて規格のLEDを使ったのか明確になっていない与太話
0693774ワット発電中さん
垢版 |
2019/02/01(金) 16:49:48.86ID:87MUqfri
30mAとかで出力するアナログセンサあるんだけどこれって直で入れたらやばい?
0694774ワット発電中さん
垢版 |
2019/02/01(金) 17:53:15.63ID:9oR3Vl47
>>693
普通はアナログ出力のセンサー(ユニット)だと電圧を出力するタイプが多いはず。
そのメーカーと型式は何?
0695774ワット発電中さん
垢版 |
2019/02/01(金) 18:27:06.53ID:oSAW//rL
>>693
電流出力だとラボ用のセンサかな?

シャント抵抗で電流から電圧に変換してADCでしょうが、
要求精度、サンプリングレートはどうなんだろ?
0696774ワット発電中さん
垢版 |
2019/02/01(金) 23:27:08.72ID:87MUqfri
あ、めんご。5-20mAとかの電流出力ではなくて電圧返す普通のアナログセンサーなんだけどものすごく電流も流れてるみたい
0698774ワット発電中さん
垢版 |
2019/02/01(金) 23:44:47.41ID:9oR3Vl47
>>696
やっぱり電圧出力だったなとは思うが、正確な回答を貰うには具体的なメーカーと型式を知らせないと。
それとも言えない理由でもある?
0699774ワット発電中さん
垢版 |
2019/02/02(土) 00:13:03.82ID:/Fe+Hi5q
>>696
電流っていうのは負荷があっての電流じゃないかな。
入力抵抗の高いポートにつなげば電圧がかかるだけで電流は流れないと思うんだけど、それとも電流を流さないと動作しないセンサーとか?
0702774ワット発電中さん
垢版 |
2019/02/02(土) 14:03:41.28ID:BPC9415c
だったら普通にADCに入力すれば良い。
電流が流れるのは電源とセンサのループだから。
あとはハイインピーダンスの前段バッファが要るかどうか、センサの仕様で決めて
0703774ワット発電中さん
垢版 |
2019/02/02(土) 18:18:05.44ID:tJs2jj8R
二箇所同時に押せるスイッチってある?
具体的には押しボタンスイッチを押す都度、
乾電池でArduino起動、同時にデジタルピンをONにして指定のコマンドを実行させたい
0704774ワット発電中さん
垢版 |
2019/02/02(土) 18:31:34.01ID:Nm41ubPX
ひとつのスイッチに独立した接点がいくつも入ってるのって幾らでもあるい。
2回路とか4回路とか表記されてる。
0706774ワット発電中さん
垢版 |
2019/02/02(土) 20:06:06.90ID:tJs2jj8R
こっちのガンダムっぽいUNOでは動いたけど、
https://www.aliexpress.com/item/1PCS-UNO-R3-UNO-board-for-Arduino-Compatible-UNO-MEGA328P-CH340-NO-USB-CABLE/32674142713.html
こっちでは動かない
https://www.aliexpress.com/item/high-quality-One-set-UNO-R3-CH340G-MEGA328P-for-Arduino-UNO-R3-NO-USB-CABLE/32697443734.html

なぜ?問題としては、AC_TOGGLE_SIGNALの配列の41228が入ってるからおかしいっぽいけどいまいち理由がわからない。

#define IR_EMIT_PIN 12
long AC_TOGGLE_SIGNAL[] = {8972, 4520, 540, 588, 532, 172, 540, 1712, 532, 596, 532, 1712, 536, 592, 540, 41228, 8944, 2284, 540, };
void setup() {
pinMode(12, OUTPUT) ;
Serial.begin(115200);
}
void loop(){
int duration;
unsigned long started_at;
Serial.print("S");
int signalLength = sizeof(AC_TOGGLE_SIGNAL) / sizeof(AC_TOGGLE_SIGNAL[0]);
for (int i = 0; i < signalLength; i++) {
duration = AC_TOGGLE_SIGNAL[i];
started_at = micros();
Serial.println(signalLength);
Serial.println(i);
while (micros() - started_at < duration) {
// i is even: HIGH. i is odd: LOW
// keep 1/3 duty, 8 usec.
digitalWrite(IR_EMIT_PIN, 1 - (i % 2));
delayMicroseconds(8);
// off remaining 2/3, 16 usec.
digitalWrite(IR_EMIT_PIN, 0);
delayMicroseconds(15);
//なぜかここで無限ループになる
}
}
Serial.println("F");
digitalWrite(IR_EMIT_PIN, 0);
delay(500);
}
0707774ワット発電中さん
垢版 |
2019/02/02(土) 20:07:03.92ID:tJs2jj8R
>>706
文章編集途中で送信してしまった
下記、スクリプトの挙動がUNOのクローンに寄って違うみたいだけどなぜだろう?
0709774ワット発電中さん
垢版 |
2019/02/02(土) 23:09:59.72ID:s4jZJo7w
なぜlong型? 元のプログラムはshortでしょ

また、intのdurationにlongを突っ込んでいるのもまずいかな

shortで試してみては?
0710774ワット発電中さん
垢版 |
2019/02/03(日) 01:07:05.71ID:KfKu+9jo
むしろ全部longにしたら?
41228は16ビットの符号つきの範囲越えてるんだし
0711774ワット発電中さん
垢版 |
2019/02/03(日) 01:13:29.01ID:dAfKAynz
>>709
short AC_TOGGLE_SIGNAL[] = {8972, 4520, 540, 588, 532, 172, 540, 1712, 532, 596, 532, 1712, 536, 592, 540, 41228, 8944, 2284, 540, };
にすると
warning: narrowing conversion of '41228l' from 'long int' to 'short int' inside { } [-Wnarrowing]
とでた。

>>708
そのはずだよね・・・
0712774ワット発電中さん
垢版 |
2019/02/03(日) 01:44:36.45ID:dAfKAynz
duration = AC_TOGGLE_SIGNAL[i];の下にこれ追加すると
Serial.println(duration);

8972
4520
540
588
532
172
540
1712
532
596
532
1712
536
592
540
-24308

となった。

41228がintでは扱えないから負の数字になって止まるっぽい?
アドバイスに従って
int duration;を
long duration;
にしたら動いた。
intの範囲ってこんなに小さかった?
チップに寄って違うのかな?
0713774ワット発電中さん
垢版 |
2019/02/03(日) 01:52:07.89ID:rtDsLMIE
いんとの範囲はarduino以前の問題だからしらべておくれやす
0714774ワット発電中さん
垢版 |
2019/02/03(日) 01:52:48.76ID:rtDsLMIE
つかこの場合uintが適切なきがする
0715774ワット発電中さん
垢版 |
2019/02/03(日) 02:11:31.71ID:dAfKAynz
>>706
Aliで買った2台使ってるんだけど一方では動くが一方では動かなかった
だから、arduinoに依存してるんじゃない?
0716774ワット発電中さん
垢版 |
2019/02/03(日) 06:38:49.53ID:yz/Br9BX
>>712
C言語の仕様としては int のbit幅は環境に依存する。
https://marycore.jp/prog/c-lang/data-type-min-max-values/

Arduinoの場合もCPUのbit幅依存性があり、Arduino UNOなら16bit だから 41228 は最上位 bit が1だから負数になってループから脱け出せない。
http://www.musashinodenpa.com/arduino/ref/index.php?f=0&;pos=1106

ただ同じbit幅なのにクローンに依って違いが出るのは分からない。
むしろオリジナルでも無限ループになるはずだから正常動作したガンダムUNOの方が特異なのかも?
Arduino側が32bit幅の int用コードを生成してしまっている?
0717774ワット発電中さん
垢版 |
2019/02/03(日) 09:24:57.34ID:sHGWohAw
そもそも41228って数値は正しいの?
赤外線コントロールなら、そこを疑ってみるべきかな

クローン同士の挙動の違いは、ロードしたバイナリが違う可能性も
それが一番アヤしい
0718774ワット発電中さん
垢版 |
2019/02/03(日) 12:40:58.72ID:dJyfkQBS
uint16_tみたいなのビット数きまってるのを使えばそういう悩みは減る
0719774ワット発電中さん
垢版 |
2019/02/03(日) 13:19:39.06ID:yz/Br9BX
>>718
Arduinoの変数型でそこまで指定できる?
って言うかクローンとは言えintは符号付き16bit幅のはずのUNOで動く例もあるのは何故?
0721774ワット発電中さん
垢版 |
2019/02/03(日) 19:26:02.22ID:iAcj0xsE
符号無しとの比較は、符号無しに変換されるのでループを抜けるはず。抜けなくなったのはmicros()がロールオーバーしたからじゃないかな?
コンパイル時にwarning出ると思うんだけど。
0722774ワット発電中さん
垢版 |
2019/02/03(日) 22:03:18.86ID:bK13xo+a
long にしたらなおったってのに、問題はそこじゃないとか言うわけ??
0723774ワット発電中さん
垢版 |
2019/02/03(日) 22:29:03.20ID:yz/Br9BX
>>722
自分も同感。
longにすれば正常になったけど、intの時は偶然UNOの起動から70分くらい経過して(カウントがゼロに戻り)無限ループになったとすると、もう一度リセットして直ぐテストすれば正常動作するはずだけど >>706 は一度しか試してなかったのかな?
自分だったら不思議過ぎてガンダムUNOと交互にリセットして何度か比較すると思うけどな。。。
0724774ワット発電中さん
垢版 |
2019/02/03(日) 22:39:59.82ID:iAcj0xsE
>>722
ごめん、間違ってたね。
0726774ワット発電中さん
垢版 |
2019/02/04(月) 09:58:09.61ID:OKEtKAmd
焦電センサーを透明なプラスチックケースに格納したら、全く反応しなくなったでござる
0728726
垢版 |
2019/02/04(月) 17:35:54.70ID:OKEtKAmd
>>727
それっぽい
材質も関係あるかも
アクリルケース
0729774ワット発電中さん
垢版 |
2019/02/04(月) 18:56:10.25ID:pRyxIDNm
携帯のカメラやデジカメは赤外線が映るやつ多いから適当なリモコンを発光させてケースを通したものと通さないものを比較してみると案外わかるかも
0730774ワット発電中さん
垢版 |
2019/02/07(木) 13:51:54.25ID:MRBUyGsm
arduino ideのタブの使い方がよく分からない。.hのファイルでプログラムをモジュール化するの?
0733774ワット発電中さん
垢版 |
2019/02/10(日) 00:23:53.86ID:FHT5p6IR
ハードオフの100円Wiiヌンチャクと、140円のdigisparkでヌンチャクマウスが出来た
0734774ワット発電中さん
垢版 |
2019/02/11(月) 15:45:54.70ID:g5FVL5xN
analogReadから読み取った値に従ってLEDを点灯させるという実験をしていてpow関数の扱いでつまづきました。
int a = analogRead(A1);
int b = a / 128;
int c = pow(2, b);
A1には5Vをつなぎ、1023という値を得てます。
2行目で7がbに代入され、3行目では2の7乗の128がcに代入される…と思ってたのですが実際にはcは127になってしまいます。
(a, b, c はSerial.printで確認しました)
powの解説を読むと値がfloatで扱われるのでこのような結果になったのかと推測しているのですが、よく理解できません。
(1行目を「int a = 1023;」とすると普通に128になりました。)

forループで回数分掛け算する方式にすれば大丈夫だったのですが、なぜpowではうまくいかなかったのかできれば知りたいです。
よろしくお願いします。
0735774ワット発電中さん
垢版 |
2019/02/11(月) 15:47:03.47ID:zzz7wlUE
なにそれ
アチョーって言うと左クリック
アタタタって言うとタを言った分右クリックとかするの?
CADやるとき楽しくなりそう
0736774ワット発電中さん
垢版 |
2019/02/11(月) 16:56:05.72ID:a3vX8Y0m
>>734
まあいろいろ悩んでみるのもいいことだ
適当に推測で答えるがint c = pow(2, b);のところを
int c = (float)pow(2, b);
int c = pow(2.0, b);
int c = pow(2, (float)b);
みたいに適宜キャストしてやるとどうなるかな?
■ このスレッドは過去ログ倉庫に格納されています

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