Arduino初心者熱烈大歓迎質問スレ part34
レス数が950を超えています。1000を超えると書き込みができなくなります。
>>843
実機で試したんだけど同様の症状が確認できて以下の方法では解決できず
・SDカードの変更
・SD.hのライブラリを複数のバージョンで検証
・SD.endやFile.closeやSD.Beginでのfile.rewindDirectory()初期化追加やコードの位置変更
・deley()を追加して各所でウェイトを増やす
・SDカードをWindowsの物ではなくrufusで初期化
・SDカードのファイル名やフォルダ名の変更
使ってるコードがほぼarduino.ccのサンプルなのにこの現象は一体・・・ if (!SD.begin(4)) {
これ全然デタラメだと思うんだけど >>848
SDスロットにヒートシンクを張り付けても残念ながら
特に改善はしませんでした
>>851
328P UNO(純正)
328P NANO(純正)
328P NANO(互換)
ATMega4809 NANO EVERY(純正)
でためしました。
>>852
検証ありがとうございます。
当方もいろいろやってみたのですがどうにもうまくいかず… >>853
とはいっても標準で入ってたサンプルでこれ以上分解しようがないくらい
簡単な記述なんですが・・・
なにか隠し引数があるんでしょうか?
>>854
これについては当方も疑い、>>852さん同様各所にDelay
をいれて大量に取得することを抑止して行っても
同じ結果になります。
当方のサンプルにも一巡のたびに長めのDelayを入れてありますが
改善しませんでした。 SPI通信に問題があるのかなぁ
SPIのプルアップ抵抗を見直すとか
SPI接続にISCP端子を使うとか
http://7ujm.net/micro/ArduinoSD.html おれarduinoやったことなくて恐縮だけど、
File.close() の説明で
SDライブラリは同時に複数のファイルを開くことができないので、
別のファイルを処理する前に必ず現在のファイルを閉じる必要があります。
てかいてあるよ!再帰のときに close() してから呼び出したらどうかな あー適当なこと書いてすまんかった。
close()してから、みたいな仕様じゃないみたいだねえ
無責任なヒントってことで勘弁してね >>855
852です
STM32で同様のコードを実験したら
回数は増えたものの同様の現象が確認できました
状況に変化は有ったのでメモリ(バッファ?)関係での原因かも SD.begin なんでloopの中にあるのが気になる
初期化なら、setupで1回やればいいような気がする >>862
多分これでしょ
こんなでもコンパイルエラーとか出ないの? >>864
むしろ、なんでコンパイルエラーになるか聞きたい。 最近nanoを買おうと思ったんだけど、かなり値上がりしてんだね
前なら互換品3コで1200円とかだったのに、今は1コで1500円位で驚いた
半導体不足と円安の影響?だとしても3倍以上とは… 今までが不思議な位やすかったから
実装済部品のほうが安いという 先月だったかな、メルカリで良心的な価格で売ってた人いたなnano, pro miniとか
まだ売れ残ってるんじゃないかな。探してみては? >>869
それに比べESP32 が上がっていないので最近はもっぱらこれ。
Picoもいいかも arduino IDE を 2.0.0 rc6 から rc8 にしたら、動作不安定でビルドや書き込みもまともに動かずな状態なんですが、
似たような症状出ている方いますか?
rc6 は問題なく使えていたので、最新版のrc8にアップデートしたのです
具体的には、
シリアルモニターを閉じないと書き込み時にCOMポートが使えず競合エラー?のようなものを出す
スケッチを保存したにもかかわらず立ち上げ直すと古いまま
ビルド中の情報がOUTPUT画面に何も出なくダンマリ状態になる
などです rcがまともに動くと思うのが間違いでは
それにOSもボードも判らなきゃレスも付かないと思う ARDUINO初めてなので教えてください(技術的なものでなく購入の相談でごめん)
ARDUINO PRO MICRO互換のもので端子がUSB-Cのもの売ってるとこありますか?
価格優先なのでアリエクでもオケです。よろしくお願いします。 >>876
アリエクスプレスで pro micro で調べりゃ出て来るだろ。
ってか、Pro micro は公式の Arduino じゃないよ。 空飛ぶ物を自作したいんだがお勧めのモジュールありますかね?技適が通っててある程度距離あっても通信できるやつ探してます。RNF24?とかいう奴を使ってたのですが技適通ってないので屋外で飛ばすのは流石に危ないかと。使い方としてはモーターとサーボを複数遠隔操作したいです >>878
ラジコンメーカーの飛行機用rfモジュールと受信機なら500m~1000mくらいは届くよ
日本のメーカーなら技適通ってるし、輸入物でも、輸入元が技適通したものが出てたりする 2つ質問があります。
7つのステッピングモータを制御したいのですが悩んでます。
トルクはあまり必要ないです。角度は各々異なります。軽いオブジェをゆっくり動かす用途です。
調べたところ複数制御だと、動いてもモーターを増やす毎に遅くなっていくし、ピンが足らなくなるので1モーターに1マイコンを割り当て、親マイコンで制御した方が良いとの情報がありました。
一つのマイコンでは難しいですか?
また、マイコン親子で動作させるには、数値の受け渡しにどのような方法があるのでしょうか。 >>881
必要ppsにもよるけど20kppsくらいなら
H8で8軸同時くらいやったことあるよ あ、arduinoスレだった失礼
UNO使ったCNCコントローラーとかも20~30KPPSくらい「らしい」3軸か4軸くらいだけど >>881
親子通信はシリアルが一番簡単かな。
RS485みたいにマルチドロップにしてもいいし。 天球儀を作りたいんですよね。ギアは簡素にして、モーターで各惑星を独立して制御したいのです。マイコン一つでも出来そうですが、後々の惑星を増やすことを踏まえ、複数マイコンで制御する方式を検討してみます。
シリアル通信を勉強しないと! 7軸が同時に動く必要は無いので、1つのコントローラーを7chに切り替えるマルチセレクタ方式が考えられるな
1つのモーターでギアをスライドさせて惑星リングにあわせる方法も考えられるけど、セレクトされてないリングのロックが難しいかもメカが大変そう 同時に動かす必要性次第だね。
シリアル通信、i2cでも簡単に数字の受け渡しが出来るよ。 同時制御要らないんなら、かなり楽勝レベル、1cpuで余裕っしょ
切り替えしなくても、1軸あたり2ビットだから、pin足りないってこともなさそう
足りなくなったら2560へ行っちゃえばいいし 現在の様子を表現するだけなら一方向に回れば良いから各惑星に1ビットで合計8ビット
任意の時点を表示させるとしても全惑星を同時に逆周りさせればいいので追加に1ビットで9ビットで十分か 決めた年を入力したら、所定の場所へ各惑星が移動してくれたり、一番早い水星が五秒で一周するくらいはしたい。
各惑星にはリングギアを土台に着けてステッピングモータの2ギアで回すつもりだった。水星は直接土台にステッピングモータつけた方がよいかな。
調べたらシリアルで出来そうです。プログラムは苦手なので、ハードを分割して組んで見ます。 あ、惑星7個なら1ビット少なくなる
>>881
普通のarduinoで全然余裕だね
モータードライバは回転方向とパルスを入力するモードで使って
全部のドライバの回転方向の入力ピンはarduinoの一つのデジタル出力につないでしまえばいい プログラム苦手だと、シリアル通信で、ねをあげるかもw >>894
いくつかホームページで知り合い通信調べて見ました。ヘッダ付けて1byteを越える通信がうまく出来れば何とかできそうです。各マイコンには初期位置(ハード的に検出)と数値に合わせてポジション移動、そこから通常の動作、一時停止など関数用意して、後はシリアル待ちにしておけば良いかと考えてます。。 >>895
CNCシールド+marlinの組み合わせでG-codeで制御とか、いや却って面倒かな シリアルモニターについて教えて下さい
シリアルモニターが受け取ったデータは文字列に変換されて表示されるって認識であってますか? 受け取ったデータを、そのまま文字として表示してるだけじゃなかったかな アスキーコードで送られてる。arduino側の数字とかは送信側で変換されてる。1byte数値から桁数分の1byte文字列みたいに。ターミナルソフトによってはビットデータとしてそのまま表示できる。 C言語のChar型の考え方と同じってことでしょうか?
(数字と文字が紐付いてる) >>899
詳しくありがとうございます。
Serial.println("A");
とした場合、arduinoソフト側でAが1000001(十進数で65)に変換されて送信
シリアルモニター側で改めて1000001がAに変換されて表示されている
ということでしょうか? >>901
そういうことだけど
そpれは無変換と表現されることのほうが多い シリアルモニターはASCII専用のターミナルソフトだよね。 >>902
なるほどですね
教えていただいてありがとうありがとうございます。 アルファベットの場合はコンパイルの時点で65になってるというか1byteの数値として内部では扱われてるはず。seirialのprintで第2引数でデータが変わるのは変換形式を変えてるから。 7年前のUNOを出してきて普通に使えた。
マイコン部分は20年とかもつのかな? >>903
そうだったんですね。いろいろやってたら文字化けしたのですが、原因がわかりました。
>>905
なるほど、ソフトで変換されるのではなくコンパイルしたときすでに1byteの数値になってるのですね DigisparkとArduinoIDEでソフトウェアシリアルを使いたいんですが、ググって出てきたサンプルコードに
#include <TinyPinChange.h>
#include <SoftSerial.h>
とありました。これはSoftwareSerial.hとは別物だと思いますが、どうやって導入するのでしょうか。 >>907
COMポートの通信速度、データビット、パリティ、ストップビット、フロー制御も
合わせないと、文字化けする原因 Arduinoとかラズパイが兵器に使われないか心配
もう使ってる国はありそうだが AnalogReadで読み込んだ電圧を 例えば int volt に入れたとして、
それをOLEDにU8g2で表示したくてstrcpyを使うといいみたいなんだけど、さっぱり理解できません。
初心者向けの使い方の解説している日本語サイトありませんか? >>912
その、OLEDの使用しているコントローラが
SSD1306, SH1106, SSD1327, SSD1322, SSD1309
とかで、接続の仕方含めて変わってくるから
対応する、コントローラで検索してみる >>910
そんなものが兵器に使われたらノイズによる誤動作とか心配になる。
と思ったけど貧乏なゲリラが家内制手工業的に使ってる可能性はあるな。 u8g2ライブラリが使えて、何かの表示ができている状態にはなっていて、数値を文字列として表示する方法が
わからない、ってことかな。
・型int の変数の数値を、sprintf dtostrf などで文字列に変換してから u8g2 の drawStr で 文字列の表示
・u8g2の print で (数値,桁数) で表示 兵器って言うより民間人が武器として使う危険がありそう。安倍を殺した銃みたいなかんじで簡易的なもの
人が近付いたら爆発するものとか 「隣の部屋で、夜にごりごりと何かを削る音がします」
「隣の部屋の人が、3Dプリンターの話をしていました」
近隣の人とは適切に付き合いを持つようにしないと怪しまれるね。 >>910
2016年の記事でraspberry pi 2(?)使ったのロケットランチャー
hexus.net/media/uploaded/2016/11/cf767232-251d-4ee2-8f37-4d0addc36592.jpg
www.yahoo.com/news/ukrainian-rocket-launcher-appears-raspberry-172441090.html 推進材はなかなか手に入らないだろうけどブラシレスモーターとプロペラで進む巡航ミサイルとかは作れそうだよね
Youtubeかなんかで画像認識して追尾するプログラム作ってる奴見たことある あったよね。核爆弾の作り方がHPに載っててアメリカの高校生が作ってしまった
事件がたしかあった。ただ核物質抜きで。本物の核物質があれば起爆したとか。 912です
やっと見つけた(汗 スレを見失っていました
>>913さん、 今 >>915さんの状態です。
すいません、更に質問良いですか
input12 = 103;
input13 = 51;
float c = input12/input13;
の場合、
input_c = snprintf(str, 8, "%f", input12/input13);
u8g2.drawStr(xpos3,ypos3,dtostrf(input_c,5,2,str));
これで小数点以下は表示されますか?
どうもうまく出ません。。。 >>924
input_cはなんなの?
出てくる変数の定義ぐらいは書かないと。 >>924
snprintf も dtostrf も同じような関数なのに何で両方使ってんの?
char str[6];
dtostrf(c,5,2,str);
u8g2.drawStr(xpos3,ypos3,str);
じゃないかな?どっちも使ったことないけど。 >>925
転記で間違いました、先のfloatで作ったcです。
>>926 ぐちゃぐちゃになってましたね、すみません。ちょっと書き直して試してみます。 snprintf() の戻り値は文字数じゃね?
使ったことないけど。 >>928
そうなんですね。
入力値の桁数が3桁になったり4桁になったりするのでそれを使えば表示位置を整えられそうですね。 教えてください。
VsCodeにvscode-m5stack-mpyを入れて、M5stickc-Plusと接続しようとしているのですが
VsCodeで認識しません。(Add M5stackが表示されない)
1年位前に試したときはうまくできていたのですが、久しぶりにつないだらできなくなっていました。
アドバイスお願いします。
環境
M5stickc-Plus
UIFlow 1.9.8
vscode 1.69.1(システムインストール)
vscode-m5stack-mpy 1.1.7
確認したこと
OS上ではシリアルポートCOM3で認識できている。
UIFlow、vscode、vscode-m5stack-mpyのバージョンの組み合わせを変えてテスト
vscodeのアンインストール(完全削除)、インストール
最悪、作成したコードやファイルをM5stickc-Plusに転送できればいいのですが、vscode以外でやるにはどうすればいいでしょうか。
USBメモリイメージでコピーできればいいんですが。 九州工業大学が公開してくれてる簡易オシロスコープとかいうやつ試してみた
制限あるけど結構ちゃんと機能しているなー
processing使ってるからPCと接続する必要あるけど、独立して動くようにした人って居ないの? >>931
そのソースじゃないがstm32 arduino で自分で簡易オシロ作ったけど。ATmelにこだわることもないでしょ >>931
独立して動かしたら表示はどうすんの?
ロガーでいいの? 画面表示やユーザーインターフェースが一番めんどい、コード量の多くがこれ。
自作するならPC画面表示が楽ちんだね >>934
まったくその通りだが
画面表示は見た目ですぐ結果が出るから
作るのは結構楽しいのだw 表示にかかる時間を考慮すると、オシロの表示部分は分離したほうがいいよ。 arduino iot cloudのAlexa連携って有料プランじゃないと使えないんですか? 1個買うとさらに2個無料で注文出来るキャンペーン始まったな arduinoの読み方って決着ついてる?
ふとググル翻訳で喋らせてみた(イタリア語で)
「あるドいーの」としか聞こえん もうちょっと日本人向けの名前にして欲しかったな。
たとえば「さびしーの」とか「ほしーの」とか「やりてーの」とかだったら、
私も始めてたかもしれないw びんぼうでいいのがあるやん?
そんなに安くないんだよなあ… まいこさんのマイコンさん
「よろしゅうおすぇ~」とかいうパッケを京アニに描いてもらう
それて全然売れなくてデジットに山積みになるのだ >>945
すぐ来ないってのを除けばAliExpressやAmazonがありますよと ArduinoUNOのクローン品が中華で送料込380円で買えたな
今は送料が上がっているのと円安でそこまで安くは買え無さそうだけど >>940
おれはアルドゥイーノって言ってるけどな
他の人間との会話で使った事がないから分からん 帰国子女とかで、日本語をしゃべっているときに元滞在国の単語が出てきたら
その単語の発音だけが見事に元滞在国ネイティブなものに切り替わる人がいるね。
おれはベタなカナ発音で「アルディーノ」 レス数が950を超えています。1000を超えると書き込みができなくなります。