X



トップページ電気・電子
1002コメント424KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2019/04/09(火) 11:28:38.41ID:6HKe4gPt
http://www.arduino.cc/

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

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

過去スレ
Arduino初心者熱烈大歓迎質問スレ part22
https://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/
0375774ワット発電中さん
垢版 |
2019/06/13(木) 12:21:55.94ID:Qb9jC45F
>>374
すんません 非対応モジュールって、マイコンハードウェア?ライブラリ?ラズパイのモジュール?
0376774ワット発電中さん
垢版 |
2019/06/14(金) 08:51:42.70ID:WsX2zVSa
ヒューズ書き換えをミスってpro miniが文鎮化した
↓このブログの通りやってもチップIDが0xFFFFのままだわ
「レンガにしちまったpro miniの救出作戦。mega328pヒューズリセッターに挑戦(^^」

3.3V8MHzのpro miniだからダメなのかな。もう諦めたほうが良いかな・・・
0380774ワット発電中さん
垢版 |
2019/06/14(金) 09:49:19.98ID:iICWBtLT
自分はやったことないけど、このブログにあるようにターゲットのPB6/Xtal1にどう接続するかがカギっぽいな
0381774ワット発電中さん
垢版 |
2019/06/14(金) 12:04:48.73ID:BCocsMV8
俺も飛ばしたことがあるわ
内部クロック使用かなんかで繋がんなくなったような…だいぶまえなんで覚えてないけど
2年寝かして、こないだ捨てた

スッキリ!!!
0382774ワット発電中さん
垢版 |
2019/06/14(金) 12:39:28.60ID:36eX4xYO
AUならいけるけどMUは無理だな
ああ、オシレータ外したほうが早いか
0385774ワット発電中さん
垢版 |
2019/06/14(金) 12:49:18.90ID:YYTsh23Z
じ、実はうちにも書き込めなくなったPro Microが…


捨てますね。
0386774ワット発電中さん
垢版 |
2019/06/14(金) 16:09:29.51ID:r+i1Sb9A
実際の所、どんな爆弾残しとるかわからんもん使って後で泣くよりすぱっと捨てた方が精神衛生上いいよね。
0388774ワット発電中さん
垢版 |
2019/06/14(金) 22:35:28.54ID:Ma1qIBoy
>>386
若い頃無茶やったせいでpin8の入力だけおかしくなったNANOがいるんだが、
ICSP教官として新兵のめんどうみてもらうつもりだったけど退役かのう
0391774ワット発電中さん
垢版 |
2019/06/15(土) 13:39:57.95ID:lQ4eL7yU
おれは外した3x6のタクトスイッチをピンソケットにハンダ付けして
ピンヘッダに差し込んで使えるタクトスイッチにした
0392774ワット発電中さん
垢版 |
2019/06/15(土) 16:36:28.55ID:xSTYJ2cS
> ピンヘッダに差し込んで使えるタクトスイッチにした
私も過去に同様な物を作ったことがあります。

ふと、デバッグ時に、他の人はどんな小物治具を使っているのだろ?と気になり、
参考にしたいと思ったので、とりあえず、私がこれまでに必要になる度に作り、
蓄積してきたものをアップしておきます(一部ですが)。
https://i.imgur.com/u5y3bQ2.jpg
左上のICクリップにはソケットを挿して使用します。
右上は圧電ブザ-で、PC画面を見たままでH/Lを判断できるので便利です。
水晶とC2個をまとめて3Pヘッダにハンダ付けしたものもあります。
0394774ワット発電中さん
垢版 |
2019/06/16(日) 07:00:40.40ID:M2emppum
>>392
小物の接続ってミノムシクリップで作ることが多かったなー(除 中華クリップ)
H/Lモニタ用にLEDとか圧電ブザーの線付きは面白いですね
0395774ワット発電中さん
垢版 |
2019/06/16(日) 13:41:06.49ID:dW9Xkncu
HLモニタ用のLEDは足の長いまま1本ずつ熱圧縮チューブでシュリンクして
ブレッドボードの両端のVccかGNDに繋いでるな
sopのFETに足つけたものとかもよく使う
あと、I2Cの分岐コネクタも作ったけどほとんど出番無いw
0396774ワット発電中さん
垢版 |
2019/06/16(日) 23:05:55.81ID:YpP/+nH7
小物類の冶具は頻繁に出番はないけど ここぞと言うときにあると作業が捗るね
自分の場合は テスター棒の先っぽを変換するやつが活躍する場面が多いかな
0397774ワット発電中さん
垢版 |
2019/06/17(月) 00:17:37.65ID:ofE6nyfJ
ああ確かに、テスター棒にミノ虫やICクリップや針やらアタッチメントというか
ミノ虫で色々はさんでるわ
「ニードル・アームッ!」とかつぶやきながら
0399774ワット発電中さん
垢版 |
2019/06/17(月) 08:49:04.43ID:xBLlaWNZ
あのブザーってどういうシチュエーションの時に使うの?
0401774ワット発電中さん
垢版 |
2019/06/17(月) 12:40:32.90ID:yN1/xOpG
>>399
デューティなども音の違いで分かるとは思うが、
普通は単に出力レベルのH/Lじゃないか?
(ブザーは音の有無で、LEDは点灯するかしないかで、テスターは数値で)
0403774ワット発電中さん
垢版 |
2019/06/17(月) 13:58:27.83ID:tIvys/GD
自励式ならともかく他励式だとまともに鳴る範囲は限られるけどな
0404774ワット発電中さん
垢版 |
2019/06/17(月) 16:53:46.25ID:qQ4eq1ra
ArduinoもしくはATTinyで抵抗計測器みたいなのを作りたいです。
テスターで測ればいいんですが、それすら面倒臭くて、
2つの穴にスポッ!と入れれば、抵抗値が表示される、みたいなものを作りたいです。

しかし、Arduinoを用いた電圧計の作成事例はたくさんあるのですが、
抵抗計は見つかりません。何かいい方法はあるでしょうか?
0405774ワット発電中さん
垢版 |
2019/06/17(月) 16:56:26.41ID:qQ4eq1ra
海外ブログで「Resistance meter Arduino」で検索すれば幾つかありました。
ありがとうございました。また何かあればよろしくお願いします、
0406774ワット発電中さん
垢版 |
2019/06/17(月) 21:57:12.24ID:zi38kjv/
そんなに面倒くさいなら、テスターのリード線をその「2つの穴」につないでおけばいいんじゃないか?
ていうかあるよなそういうの。
0407774ワット発電中さん
垢版 |
2019/06/17(月) 21:57:53.92ID:z9VwQDfk
すいませんプログラムの事で教えて下さい。
シリアル通信で文字列入力でLED点滅したいと思い、下記のページ(arduinoの部分)を試しました。
https://algorithm.joho.info/arduino/python-serial-led-string/
1文字しかできないと思っていたのが
2文字以上の文字列でLEDが光り良かったのですが、offの文字を入力してもLEDが消えません。
何度も入力で切り替える事ができるようにするにはどうすればよいものでしょうか。
よろしくお願いします。
0411774ワット発電中さん
垢版 |
2019/06/17(月) 23:14:32.69ID:awOpwA01
Arduinoの入門書とキットを買って、一通り終えました。

ここから先って、みなさんどういう方向に進んでます?
1)適当にセンサーつけてIoT機器として遊ぶ
2)サーボモーターとか使ってロボット的な何かを目指す
3)より高度な制御を目指してラズパイ方面に進む
0412774ワット発電中さん
垢版 |
2019/06/17(月) 23:21:25.07ID:cw0QoXYi
dataというchar配列をもとにStringを作ってるけど、そのときにchar配列は0終端してなくていいのかな?
なにか文字があるときにavailableになって実行されるんだし、data[i]が0になることがあるのかな?
0413774ワット発電中さん
垢版 |
2019/06/17(月) 23:21:52.23ID:khIQBEqi
>>410
色々やってみたけど分からない。。。
Arduino内蔵のLEDじゃなくて、外付けでLEDと抵抗を付けたらいいのかも
0415774ワット発電中さん
垢版 |
2019/06/17(月) 23:42:44.95ID:eUjKeIdt
>>412
レスありがとうございます。
on0とoff0をコマンドにするという事でしょうか?
助言にそっていないかもしれないのですが外部LEDはoffにはならなかったです。
0416774ワット発電中さん
垢版 |
2019/06/18(火) 00:06:06.92ID:PNwtrVSX
>>407
まだArdruinoのC言語にさほど詳しくはないんだけど、

> if (i > 10 || data[i] == '\0') i = 0;

これだとdata[10]にまで書き込んじゃうのでは。

あと、配列dataを\0で初期化しなくていいの?
offの後にonを入れたら、onfになったりしてない?
0417774ワット発電中さん
垢版 |
2019/06/18(火) 00:25:06.24ID:dmGiK30n
>>411
Arduinoで実用的なモノを作る
売ってるものだと買ったほうが安いになっちゃうからね
俺が作ったのは
1)温度センサー2個とファンをつけて部屋の天井付近と床の温度差が7度以上あれば
 ファンをまわす。かしこいサーキュレータ。バーグラフのグラデ表示が綺麗。
 冬場は大活躍したが、夏場に真っ赤になってるバーグラフ見たくねえw
2)エアコン、照明、コンポなどのリモコンを1つにまとめたマルチリモコン
3)0.25mA精度で消費電流を表示する装置
4)サイン波など発生する装置。プリセットボタンで63Hz,400Hz,1kHzなどの
 よく使う周波数を呼び出せる。加速式ロータリーエンコーダーでマニュアル操作も快適
5)「何時になりました」と自動でしゃべる時計、作業に熱中して睡眠時間が減る事が
 少なくなった気がするようなしないような…

他にも作りかけのものがいっぱいあるよ
アイデアを実現する手段ができたので、あとは実現するだけだ
0418774ワット発電中さん
垢版 |
2019/06/18(火) 00:39:05.72ID:qeSnBOs5
実現性の検討してるときが一番楽しいね
通勤中にスマホで下調べして帰ってきたら1時間くらい開発を繰り返して2週間に1機能追加を目標にチマチマやってる
0419774ワット発電中さん
垢版 |
2019/06/18(火) 03:16:14.92ID:aLQwv1ow
>>407
なんかいまいちプロトコルがはっきりしないけど区切り文字はあるのか/ないのかとか'o'のあとにだいぶ時間が空いて'n'が来ても'ON'として処理するのかとか
区切り文字がある(例えば\nとか)あるならそこまで読み込んで処理すればいいけど
区切り文字がないならオートマトンとか使ってちゃんと状態遷移を考えながら文字解析しないと何やってるのかわからなくなっちゃう
区切り文字がない場合の一例として自分ならこう処理するかな
https://i.imgur.com/g2Ks6lP.png
0422774ワット発電中さん
垢版 |
2019/06/18(火) 05:58:44.28ID:/+9g/3ps
>>416
>>419
>>420
レスありがとうございます。
夜遅いのにも関わらず考えていただいてありがとうございました。
プログラミングはまだ経験が浅いのですが、
アドバイスを見て少しずつ理解したいと思います。
0423774ワット発電中さん
垢版 |
2019/06/18(火) 07:31:48.17ID:E04DWmId
>>417
どれもなかなか面白そうですね。
1) 扇風機に自然風のような強弱揺らぎ機能をつけよう、と考えた事はある。
2) すぐにでも作ってみたいと思った。
  市販の学習型リモコンはSWが多すぎて、うちの認知症気味のオバァチャンには難しすぎるので。
3) 何のためのものか、目的、用途が不明です。
4) 秋月のDDSキットで同じようなものを作ったけど、ロータリーエンコーダに加速機能は持たせなかった。
  周波数を素早く変更できるように、+1、-1する桁の位置を指定できるようにしたけど、
  プログラムを追加して加速機能を組み込んでみるかな。
5) 市販の目覚まし時計に発声機能を組み込んだら役に立つかも。
  音声で測定値を読み上げてくれるテスターを作った事があるけど、実用的では無かった。
参考になりました。実現したらまた発表して下さい。
0424774ワット発電中さん
垢版 |
2019/06/18(火) 14:52:22.21ID:Zaq6HKuW
>>418
俺の場合は、生活の中での不便を解消するためにやってるから

不便に思う事がある

便利にするアイデアを考える(PCのソフトウェアだけで解決する場合もある

実現性の検討:計測やデータ収集、デバイスの検討

試作

デバッグ:使用してみると手直しが必要な事が多い

完成

一番楽しいのは、アイデアが実現した瞬間=試作品の完成で大きな達成感を感じる
次に最終的な完成で満足感かな、アイデアを考えるのも楽しいけど
実現性の検討の段階はあまり楽しめてないw
うんうんうなってる感じ
0425774ワット発電中さん
垢版 |
2019/06/18(火) 15:01:47.43ID:Zaq6HKuW
>>423
発表会の印象だけが残ったのかな?

Arduinoの入門書とキットを終えたら、どういう方向に進むかだけど
最終的には、自分の作りたいものを自由に作る

まずは模倣から入ってもいいと思う
大抵のモノは先駆者がいると思うので、面白そうなものを見つけたらマネしてみる。
そして自分のアイデアをちょっぴり盛り込む
やってるうちに何でも作れるようになるよ(そんな気になるw
0426774ワット発電中さん
垢版 |
2019/06/18(火) 15:13:36.62ID:Zaq6HKuW
3)0.25mA精度で消費電流を表示する装置
用途・目的:Arduinoをバッテリー駆動した場合の微小な電圧を計測する
・市販のUSBテスターとかだと表示が9.99、10mA以下は表示しない
・V,A計測にマルチテスター2個占有される
・クリップとかじゃなく、入力、出力があって電源の間にはさむわかりやすい装置がいい
・本当にsleepできてるのか確認したい
以下、計測結果
Mega328P AU 3.3V 8MHz 4.8mA (BuitinLED 1.5mAを含む)
Mega328P MU 3.3V 8MHz 4.8mA (BuitinLED 1.5mAを含む)
Mega328P U-TH 3.3V 8MHz 4.3mA (BuitinLED 1.5mAを含む)
Mega328P U-KR 3.3V 8MHz 4.3mA (BuitinLED 1.5mAを含む)
Mega328P MU 3.3V 1MHz 2.0mA (BuitinLED 1.5mAを含む)
Mega328P MU 3.3V 16MHz 7.5mA (BuitinLED 1.5mAを含む)
Tiny44A 3.3V 8MHz 2.0mA
Tiny13A 3.3V 9.6MHz 1.0mA
雑感:
さすがTiny13、Tiny44Aもなかなかいいぞ!
U-KRはちょっぴり省電力じゃなかった
クロック下げるのが最も有効
0429420
垢版 |
2019/06/18(火) 21:23:18.85ID:P6JfI9Jm
最終的にSerial.readStringUntil()にしました。
ブログにも追記しておきました。
https://neo-sahara.com/wp/2019/06/18/arduino%e3%81%ae%e3%82%b7%e3%83%aa%e3%82%a2%e3%83%ab%e5%85%a5%e5%8a%9b%e3%81%8b%e3%82%89%e6%96%87%e5%ad%97%e5%88%97%e3%82%92%e5%8f%97%e3%81%91%e5%8f%96%e3%82%8b%e3%80%82/
自分も学習しながらなんでバタバタして済みません。
1文字ずつの方法のうまくいかない理由は未だにわかりません。
ここのやつです。
https://algorithm.joho.info/arduino/python-serial-led-string/
どなたか教えて下さい。
0430774ワット発電中さん
垢版 |
2019/06/18(火) 21:46:00.56ID:RQQXhYZf
変数dataをクリアしてねえじゃん
そのまま実行してonを送ると光るだろうね
そしてoffを送っても消えないだろうね
dataには「onoff」が入ってるもゆ
0432774ワット発電中さん
垢版 |
2019/06/18(火) 21:48:17.19ID:RQQXhYZf
コマンドの終端が定義されてねぇとか
間違ったコマンドだろうが正しいコマンドだろうが実行したらコマンドバッファから消せよとか
そのへん
0433774ワット発電中さん
垢版 |
2019/06/18(火) 22:54:04.43ID:VTXEKxDw
リモートロック「アケルン」が欲しいけど高いので、ニセモノの「アケタルン」を作ったな。
0434774ワット発電中さん
垢版 |
2019/06/18(火) 23:31:14.47ID:ld2tJcMo
400円のHDMI切替器を改造して、切替えた後にWinowsの窓がちっこくなたり
マルチモニタがいちいち反応しないようにできたが、
2万円くらいしえたEDID保持タイプに2〜6千円クラスが登場して一気に価値が下がったw
つかそれらの劣化版でしかない、そういうプロジェクトもままある
0435774ワット発電中さん
垢版 |
2019/06/19(水) 00:05:06.99ID:mafatv3U
429さんのブログとても参考になります。
夜遅いのでお時間が大丈夫な時に教えて頂きたいのですが、
文字列でdelayを使わないLED点滅切り替えができないかと調べるとtimer2というライブラリを利用する方法にたどり着きました。
ただほとんどのページの方法がloopが空白になっているのですが、loopにはコードを書かずに別に書くべきなのでしょうか?
0436774ワット発電中さん
垢版 |
2019/06/19(水) 00:10:33.90ID:soMan6HW
loop内は好きに他の処理を書けばいいよ
それとは別にLEDはタイマー割り込みで点滅するよ
0437429
垢版 |
2019/06/19(水) 02:19:16.34ID:hs44JYhm
>>435
>>436さんのおっしゃる通りです。
loop内とTimerの処理は独立しているので、簡潔にしたいサンプル・プログラムではloop内が空っぽの例が多いだけです。
ある文字が来たらTimerを動かし、別の文字でTimerを止め、また別の文字でTimerのタイミングを変える。
こんな内容をloopに書けばいいと思います。
0439774ワット発電中さん
垢版 |
2019/06/19(水) 07:23:31.90ID:FTVmtGGe
>>429
>1文字ずつの方法のうまくいかない理由は未だにわかりません。
パソコン側は何を使って"on"や"off"のメッセージを送ってるんでしょう?

Pythonのプログラムはよくわからないですが、そこのサンプルだと
コンソールから
on
と入力すると、
ser.write(flag+".")
で、シリアルポートから
on.
が出力されるように思います。

受ける方は、終端文字として
0
を待っています。

試してないですが、'\0' を待つ代わりに '.' を待つようにしてみてはどうでしょうか。

// 文字数が10以上 or 終端文字なら終了
if (i > 10 || data[i] == '.')
{
data[i] = '\0';
i = 0;
}
else
{
i++;
}

パソコン側がターミナルソフトだと
on[enter]
と入力([Enter]はエンターキー)すると、
on\r

on\r\n
が送信されます。行末の改行コードは設定できるものが多いと思いますので、\rだけにしておいて、
Arduino側で終端文字として \r を待つようにしてはどうでしょうか。
0440774ワット発電中さん
垢版 |
2019/06/19(水) 07:39:28.12ID:FTVmtGGe
あ、だめだ。>>439の改変だけだと、前回のデータでstringを作って返してしまう。
終端文字を受けていないときは、空の文字列を返すようにしないと。
0442774ワット発電中さん
垢版 |
2019/06/19(水) 14:14:12.80ID:llg8F0zp
どこが間違ってるのか知りたい気持ちもあるけど、
>>429のリンク先ですでに別の方法で解決できてるから、そのサイトのコードの間違いを考える気が起こらない。
サクッと的確に指摘できる人もいまのところ登場してないようだし…。
0443774ワット発電中さん
垢版 |
2019/06/19(水) 14:30:06.18ID:bU3Ljzzp
>>442
>>419
0444774ワット発電中さん
垢版 |
2019/06/19(水) 14:34:04.56ID:FTVmtGGe
もしかして「的確に指摘」って動くコードを提示することなんかな?
そんなアホなことないよね?
0445774ワット発電中さん
垢版 |
2019/06/19(水) 14:44:10.01ID:bU3Ljzzp
>>442
わざわざフローまで書いてくれてんのに
理解できない部分を読み飛ばすのはどうかと思うぞ

正解はReadStringでいい
可変長のコマンドを逐次評価する意味がわからないよ
”1”とか"2"みたいな1文字コマンドなら逐次評価の意味あるけど
例題が悪いとしか言えない
あと、ReadStringは改行押されるまで戻ってこないから
入力中でも温度計測やLED光らせる処理する場合は
割り込み使うか、自分で入力ループ作ってやりたいしょりもやって
"\n"きたらコマンド解析して実行する必要がある
0446774ワット発電中さん
垢版 |
2019/06/19(水) 14:51:57.60ID:JDRtDzE7
pro microにロータリーエンコーダ―つないでHIDデバイス作ったのですが、0-255とか0-1023の出力でWin10の音量を直接制御する方法ってないでしょうか?
キーボードとして動かしてvolume up/downするのではなく。。。

win10の仕様を調べれば出てきそうな気はするのですが、どこを調べれば良いのか判りません。教えてください。
0447774ワット発電中さん
垢版 |
2019/06/19(水) 14:59:45.37ID:bU3Ljzzp
>>446
Win10のプログラムを自分で書くって事になるけど
マルチメディア APIとかいじればできると思う
0448774ワット発電中さん
垢版 |
2019/06/19(水) 15:26:28.24ID:XrPF44qe
まあ初心者のうちは「自分のやりたいこと」だけに目が行きがちだけど、特に「人が操作するもの」「外部から何らかの入力があるもの」を作るときは「想定外の操作/入力にどう対処するか?」っていうのが大切になってくるんだよね。
「ライブラリを使って効率よくプログラミングする」ことは大事なことだけどライブラリの動作をしっかり把握していないとワナにはまったりするし…
場合によってはライブラリに頼らず自分で処理を書くことも大事、ただし「書いたとおりにしか動かない」というお約束で。
0453774ワット発電中さん
垢版 |
2019/06/19(水) 16:17:04.26ID:KwU22elC
>>445
>正解はReadStringでいい
と断言してる割にはその後のつけ足しが長いのおw
>>452
何だ、Serial.readStringUntil()知らんかったのか、アホだのおw
0454774ワット発電中さん
垢版 |
2019/06/19(水) 16:20:30.03ID:lkkw8gU6
自分の無知を棚に上げて
>理解できない部分を読み飛ばすのはどうかと思うぞ
と上から目線w
>>ID:bU3Ljzzp = >>419 の予感w
0455774ワット発電中さん
垢版 |
2019/06/19(水) 17:02:08.22ID:cVAgFlW5
>>449
ここで偉そうに書いてる人がArduino語に精通してるとも限らんことがよくわかったね。
私も含めて初心者のみなさんは、普通に検索した方が早く最適解が見つかると思うよ。
https://ch.nicovideo.jp/yugata/blomaga/ar1177727
それは別にしても>>445みたいな上から目線にはヘドが出るね。
0456774ワット発電中さん
垢版 |
2019/06/19(水) 17:15:43.26ID:JDRtDzE7
>>447
有難う御座います。
MMDevice APIってやつですかね。なんとなく出来そうな事は判ったのですが私にはまだハードル高そうなのでエンコーダーで我慢しときます。

元コメの日本語判りにくくなってましたが、ロータリーエンコーダ―ではできたけど、可変抵抗使った0-255とか0-1023とかのアナログ入力でコントロールしたかったと言う事です。
蛇足でした。
0457419
垢版 |
2019/06/19(水) 20:02:39.52ID:XrPF44qe
くだらないことで喧嘩するのはやめようよ、わたしはID:bU3Ljzzpじゃないよ
アルゴリズムをよく練ることはすごく大事なことだと思うよ、そこで練習問題

あのフローを書いたあと実際にスケッチを書いて走らせてみたけどちょっとした不具合が2か所見つかった(まあどうでもいいかもしれないけど)
仕様は
・とにかくどんな文字時でもランダムに受信する
・そのランダムな文字の中に'on'という文字の並びがあったらLEDをつけて'off'という文字の並びがあったらLEDを消す(当然連続していること)
・区切り文字/終端文字/改行文字などは不要
・タイムアウトはないので'o'の後に10秒でも20秒でもたって'n'とか'ff'とか受信してもちゃんと'on'/'off'と認識する
・'on'や'off'の文字の並びの前後にどんな文字が来てもちゃんと'on'/'off'だけ認識して他の文字は無視するする、ただし'onoffon'のように受信した場合はそれぞれ'on'と'off'と'on'として認識すること

さあだれかあのフローのバグ(2か所)を見つけないか?
正解の発表は今夜の1時
0458774ワット発電中さん
垢版 |
2019/06/19(水) 20:59:33.47ID:5BK7Rlq4
>>457
Serial.readStringUntil()で済みだって言ってんだろ、馬鹿なのか?
そして、その仕様はクソだ、終了。
0459774ワット発電中さん
垢版 |
2019/06/19(水) 21:20:22.46ID:dFcEDyFq
>>457
>アルゴリズムをよく練ることはすごく大事
そうそう大事大事、ずっと練ってろw
0460774ワット発電中さん
垢版 |
2019/06/19(水) 21:28:17.64ID:A/bXJ82F
あの程度のフローチャートを嬉々として書いてアップしてるオヤジが
同類の電々ジジイ仲間以外からはガン無視されてて不憫。
0462774ワット発電中さん
垢版 |
2019/06/19(水) 23:11:54.12ID:IoAxAF2k
>>461
そんなに卑屈になるなよ。
何だかたくさん書いてるあなたのことを感心して見てたのにw
0463774ワット発電中さん
垢版 |
2019/06/19(水) 23:16:37.30ID:npcHh1un
Arduinoが存在していなければ
今こうして電子工作にハマることはなかった

ありがとう!Arduino!
0464774ワット発電中さん
垢版 |
2019/06/19(水) 23:26:04.54ID:atHqS+EF
>>407の質問者が求めていたものは>>429のリンク先で満たされている。
>>435を見る限り質問者はもう次の段階へ進んでいる。
情けないのは未だにちまちま小出しにして四の五のやってるジジイども。
>>461の悔しそうなレスが皆の涙をさそう。
0465774ワット発電中さん
垢版 |
2019/06/20(木) 00:16:49.02ID:dNba0kRC
readStringUntil() で終端文字を受ける直前でタイムアウトになったらどういう動作をするのだっけ。
終端文字を改行文字にしておいて、
送る側が、off\n のつもりで off まで受信したときにタイムアウトするとか。
0467774ワット発電中さん
垢版 |
2019/06/20(木) 00:56:52.77ID:sL8pbOdE
あ、違うか。
oが届き始めてから\nが届き終わるまでの話か。
どうやって試すか思い浮かばんなあw
逆にどういうケースでそれが気になるのか知りたいわ、教えて>>465
0468774ワット発電中さん
垢版 |
2019/06/20(木) 02:15:01.32ID:Mk7CO95g
>>467
ArduinoIDEのシリアルモニタしか知らないの?一般的なターミナルソフトならキーを押すたびに送信されるから無限大まで可能だが?
0469774ワット発電中さん
垢版 |
2019/06/20(木) 03:01:51.53ID:sL8pbOdE
>>468
質問者の挙げたサイトのPythonのスクリプトによる送信を前提にしてるんだけど知らなかったの?
そもそも何の話してるの?

ま、それは置いとくとして、あんたの言う無限大まで引き延ばすシチュエーションを説明してみてよ。
どの局面でその想定が生かされるの?
0470774ワット発電中さん
垢版 |
2019/06/20(木) 04:08:30.18ID:SmLUpPwK
Arduinoが存在していなければ
今こうして電子工作にハマることはなかった

恨んでます。Arduino。
0471774ワット発電中さん
垢版 |
2019/06/20(木) 04:46:37.56ID:OZBOUoXZ
>>468
>無限大まで可能だが?
何が何でも自分の主張を通したくて可能性と必要性の区別すら出来んかw
誰でも書けるちゃちなフローチャート1枚、そんなに認めてほしかったんかw
不憫よのう。
0472774ワット発電中さん
垢版 |
2019/06/20(木) 06:53:23.81ID:dNba0kRC
>>467
たとえば、

4個のLEDをあるパターンでチカチカさせている。
コマンドをうけたらチカチカのパターンを変える。

というような場合にreadStringUntil()が使えるのかなって、思った。
0473774ワット発電中さん
垢版 |
2019/06/20(木) 06:57:55.76ID:dNba0kRC
>>469
>質問者の挙げたサイトのPythonのスクリプトによる送信を前提にしてるんだけど知らなかったの?

ターミナルソフトで送信するのであっても、Pythonスクリプトで送信するのであっても、
文字列の途中でタイムアウトになる可能性はあるよね?
長い時間を設定していたとしても、タイムアウト直前に文字列が送られ始めることもあるのだし。
0474774ワット発電中さん
垢版 |
2019/06/20(木) 09:22:00.21ID:L0t0W2lT
シリアル送受信は奥が深いよね
あらゆる送信パターンを考慮すると。

俺はループして、終端文字がくるまで1文字ずつバッファ的なstringに追加していって、終端文字が来たところで何かしらの解析に入るような感じでつくってる。

バッファが空じゃない状態で終端文字が10秒以内に来なかったらタイムアウトでバッファ捨てるみたいなのも入れてる。
■ このスレッドは過去ログ倉庫に格納されています

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