Skip to main content

次のタグが付いている話題の回答:

6
承認済み

ラズパイのPythonの数値(小数点)をArduinoにどうにか伝えたい(SPI or I2C)

そういうのは「電文」の設計ということになります。電文とは何らかの方法で最初と最後とチェックデジットがわかるもの、ということになりそうです。よくある RS232 で計測器→ PC に測定値を知らせるような場合 [STX] ASCII 文字だけ使った電文 [ETX] チェックデジット のようにしておくと開始を知るには [STX]=0x02 が見つかるまで読み捨てればよくて、そののち [ETX]=...
774RR's user avatar
  • 2.3万
4

SPRESENSE SDK は、Arduino IDE でも使える?

質問の扱いについて議論中の状況ですが、質問内容は、"ArduinoIDE から SDK の API にアクセスできるでしょうか?"ということであっていますか?だとすると答えは"出来ます"です。 私の Windows10 の環境の場合、"My Documents\Arduino Data" の中の "SPRESENSE" フォルダにソースコードがあるのですが、その内容を見れば、SPRESENSE ...
Yoshino Taro's user avatar
4

SPRESENSEでSDカードが認識されない

関係ないかもしれませんが、メインボードと拡張ボードの間の物理的な接続は問題ないでしょうか。 わたしのばあい接続具合が悪く、SDカードが認識されないエラーにハマりました。 しっかりとはめ込むことで認識されるようになりました。
motoemon's user avatar
3

Spresenseで動画を撮りたい

ちょうど少し前にAVIで動画を撮るスケッチを書いてみました。8fps程度しかできていませんが、Spresense の Arduino Camera ライブラリに手を入れればもう少しfps を出すことが可能かもしれません。残念ながら、このスケッチは音には対応していません。 #include <Camera.h> #include <SDHCI.h> #include <...
Yoshino Taro's user avatar
3
承認済み

arduinoサンプルスケッチ「gnss_tracker」で測位情報取得について

実は私も同じことを思っていました。 ご存じのとおり、このサンプルスケッチ「gnss_tracker」はgnss_nmea.cppの中で GPGGAセンテンスの出力しか実装されていません。 その他のセンテンスを出力させるには、SDKで用意されているNMEA output libraryを 利用するのが手っ取り早いですが、これをArduinoで利用する方法が何故か公式情報では 提供されていません。 ...
fractional_n's user avatar
3
承認済み

Arduino Unoのデータ型?

Arduino Unoでは、intは符号付16bit整数として扱うようなので、「a * 10000」の演算結果がオーバーフローしているからと思います。(100000の下位16bitを符号付整数としてみると、ちょうど「-31702」になります) #参考: Auduino日本語リファレンス:int(整数型) longは符号付32bitのようなので、次のような挙動の差になっているのではないでしょうか?...
user20098's user avatar
  • 3,888
3
承認済み

C++の継承したクラスをコールバッククラスとして引数として渡しその中の関数をわかりやすく記述したい

A1. そもそも論として virtual な関数をヘッダファイルにて関数定義してもインライン展開されることは期待できない(というより不可能)なので、ごく普通に「ヘッダファイルでクラス定義とメンバ関数宣言」「 CPP ファイルでメンバ関数定義」すればよいだけのことです。 -- hoge.h -- // クラス定義 class derived1_type : public base_type { ...
774RR's user avatar
  • 2.3万
3
承認済み

ArduinoのfloatつまりIEEE 754表現の,1byteずつに着目したいです

こういうのは自分の手でいろいろ試してみるのが吉。 浮動小数点数内部表現シミュレータ これによると 3.141592 は 0x40490FD8 だそうな。 んで、後者の代入なんですが文法的には正しいのですが 0x40490FD8 という整数(10進数表記すると 1078530008) を float に代入するという意味に解釈されるので期待した動作にはならないでしょう。...
774RR's user avatar
  • 2.3万
3

Attiny85 で millis 関数を使った if 文が意図した通り動かない

そのコードは文字通り「ミリ秒で時刻を取得した際に、それが100で割り切れた時」に動作してます。なので1度割り切れたのちに時間が1ミリ秒も経過しないまま次回が実行されると続けてヒットしますし、逆に運が悪いと1度も割り切れない可能性すらあります。 ですので意図通りに実装するなら、最後に実行した時刻を記録しておき、そこから100ミリ秒以上経過していたら再度実行する、というコードが必要です。...
KoRoN's user avatar
  • 5,182
2

SPRESENSE ポート認識しない

CP210x USB to serial driver for Windows 10 を再インストールしたらできました。 回答ありがとうございました!
yanagibuson's user avatar
2
承認済み

FIFOがオーバーフローしたときの処理

ソニーのSPRESENSEサポート担当です。 お問い合わせの件について、回答いたします。 FIFOがオーバーフローしたとき、録音処理が停止するため、FIFOからデータの読み出しができなくなります。 以下の手順を行うことで、録音を再開することができます。 "theRecorder->stop();" で、録音処理を終了 "theRecorder->start();" で、録音処理を開始 ...
SPRESENSE's user avatar
  • 836
2

Sony Spresense で sigfox は利用できる?

最近、Spresense向けのSigfoxボードが発売になったようですね。 遅レスですが、こちらはSpresenseでの動作確認がされているようです。 https://www.smk.co.jp/products/EM-WF931-02F/
Chun's user avatar
  • 388
2

spresense cameraサンプルコードについて

エラーはCamera.h のインクルードがコメントアウトされているためですね。 //#include [SDHCI.h] //#include [stdio.h] //#include [Camera.h] /*Cameraライブラリを利用する場合必要*/ を以下のようにコメントアウトを外せばコンパイルが通るようになります。 #include <SDHCI.h> #include &...
kzz's user avatar
  • 1,411
2

spresense Arduino IDE タイマー割込み

Spresense の Arduino ライブラリのヘッダファイルを見てみたら、以下のように定義されていました。 void attachTimerInterrupt(unsigned int (*isr)(void), unsigned int us); // Parameter: // isr: the function to call when the timer interrupt ...
Yoshino Taro's user avatar
2
承認済み

Spresense-Arduinoにおけるイーサネットモジュールの使用について

あー、これハマりますよね。私もハマりました。私が試したのは W5500 を搭載した Ethernet Shield2 ですが以下の方法でつながりました。以下手順は、SPRESENSE拡張ボードを使っている前提です。 (1) 10pin のCSを外して9pinのGPIOをジャンパー (2) Arduinoの例えばEthernetWebServerサンプルの setup で、Ethernet....
Yoshino Taro's user avatar
2
承認済み

Spresense-Arduino のスケッチ例 pcm_capture が終了してしまう.音声波形データを外部に取り出したい

void signal_process(uint32_t size) 等を例にすると、 そのまま動かすコードではないと思います。 一例ですが、48kHzサンプリングのデータを、 printfするのは、馴染まない気がしますので、 例えば、1024回に1回だけ表示されるとかがいいと思います。
boundary1's user avatar
  • 171
2

SPRESENSEでSDカードが認識されない

SPRESENSE の Arduino Lib のバージョンはいくつですか?私は、1.0.1 ですが問題なくアクセスできました。サンプルスケッチの UsbMscAndFileOperation を使っています。Host PC のOS は Windows10 です。
Yoshino Taro's user avatar
2
承認済み

$QZQSMのStringでの取得方法

いきなり答えを書いてしまうようで恐縮ですが、 $QZQSMのメッセージ部をデコードするための自作ライブラリと サンプルスケッチを公開している方がいらっしゃいます。 こちらが参考になるかと思いますのでご紹介しておきます。 みちびき災危通報をデコードしてみる https://qiita.com/baggio/items/497b654cd4ec1bfd74fc
fractional_n's user avatar
2

Spresenseで動画を撮りたい

動きましたー! SDカードをClass10にすると10Fpsで撮影することができました! 10:44:03.738 -> Recording... 10:44:32.998 -> Movie saved 10:44:32.998 -> File size (kB): 32472884 10:44:32.998 -> Captured Frame: 300 10:44:32.998 -> ...
Kotohiro Masuda's user avatar
2

Spresense SDKで、USB MSC (Mass Storage Class) 機能を使いたい

ご教授情報を元に、Visual Studio Code(VS code) GUIからも確認と変更ができる事がわかりました 1. VS codeでワークスペースを開いた状態で、左の方で、ワークスペースのファイルリストがある所で右クリック 2. Spresense: SDKコンフィグ を選択 3. SDKコンフィグが開き、一番上の方にスクロールすると、検索蘭があるので USBMSC を入力する 4....
sige1's user avatar
  • 37
2
承認済み

MainCore使用メモリサイズを768KBより大きいメモリサイズに設定するとエラーが出る

ソニーのSPRESENSEサポート担当です。 ご指摘いただいた問題を修���したパッケージを先ほどリリース致しました。 ボードマネージャよりv2.0.1のパッケージへアップデートしてお試しください。 今後ともSPRESENSEをどうぞよろしくお願いいたします。 SPRESENSEサポートチーム
SPRESENSE's user avatar
  • 836
2
承認済み

ライブラリで定義されるenum型を外で使いたい

質問するときは環境に関する情報を詳しく記述しましょう。 技術系メーリングリストで質問するときのパターン・ランゲージ クラス(あるいは構造体)のブロック内で定義された従来のenumのメンバーは、<クラス名>::<列挙定数名>という形で参照します。 class MyClass { public: enum InClassEnum { A, // 0 ...
sygh's user avatar
  • 1,354
2

ファイルから読み取った値を元にモーターの回転を制御したい

setup関数は最初に1度だけ実行されるのですから、「1行ずつvalに値入れたらその都度」という動作をsetup関数に書くのは不適切です(1度きりの動作に、その都度はありえない)。 繰り返し実行されるloop関数の中に、「valに値をいれて、その時間だけモーターを回す」というコードを移したら良いです。
Fumu 7's user avatar
  • 4,241
2

ファイルから読み取った値を元にモーターの回転を制御したい

組み込み系の基礎知識として 初期化処理を1回だけして (提示 setup() が相当) メインループをぐるぐるまわって終わることは無い loop() 割り込み処理は最短で終わらせないと破綻する ISR() 提示プログラムはこの鉄則を守っていないので期待通りに動かなくて当然・ではどう直すかの方針だけ提示 割り込み処理の中でファイル内���を使いたい が、...
774RR's user avatar
  • 2.3万
2
承認済み

Arduino のUSBホストシールドで9,10ピンを使いたくないので,プログラムを書き換えたいです.

USBホストシールドの標準構成として、9ピン、10ピンはUSBホストコントローラのチップに接続されており、そのチップとSPIで通信するために必要な割り込みピン(INT)とChipSelectピン(SS)になります。 「9,10ピンを使いたくない」の意味が分かりませんでしたが、基板上で他のピンに結線を変更しているので、ピンアサインの変更方法が知りたいという質問だと解釈して以下に回答します。 ...
kzz's user avatar
  • 1,411
2

spresenseでFlashメモリへのファイル作成ができない時がある

KX122センサを持っているので、同じソースコードでKX126をKX122に変更しただけのものを動かしてみましたが、特に問題無く動作します。30秒周期でdataFile.flush()するタイミングで"4hz60.txt"ファイルにデータが追加されています。ファイルの中身をみても250ミリ秒ごとにデータが入っています。(このスケッチ内でファイルの消去はされていないので、...
kzz's user avatar
  • 1,411
2
承認済み

Python (ラズパイ)で計算した数値をC言語(Arduino)にfloatとして送信したいです

以下の理由で、質問に提示した方法そのままでの通信はやめておいた方が良いでしょう。 I2Cを含むシリアル通信は1バイト単位で行われるもので、通信に関わるAPI・デバイスドライバ・ハードウェア等のすべてがその時点で送受信対象の各バイトがどのような属性のデータ(構造の一部)であるかの情報を持っていません。 つまり浮動小数点数のようにそ���ぞれのバイトが0x00から0xFFまでのどんな値でも取り得る、...
kunif's user avatar
  • 1.8万
2

Python (ラズパイ)で計算した数値をC言語(Arduino)にfloatとして送信したいです

floatで送信する、ってのは筋が悪いです。 ラズパイ側からは生データのバイナリデータを送信し、それをarduino側でfloatに変換するようにしましょう。 そもそもシリアル通信する時間に比べれば、float変換する時間は誤差程度しかないですよ
y_waiwai's user avatar
  • 1,138
2

ラズパイのPythonの数値(小数点)をArduinoにどうにか伝えたい(SPI or I2C)

区切りを電文内でつけなければならない場合、 文字列で送る 非常に単純です。123.4という数値を送りたいなら"123.4"という文字列を送ります。 メッセージの区切りは制御文字を使います。大抵改行です。 複数の種類の値を扱う場合はコマンド文字列を先頭に付け加えたりします。 マイコン側で文字列をパースする必要があるのが難点ですが、 ...
ozwk's user avatar
  • 520
2

ラズパイのPythonの数値(小数点)をArduinoにどうにか伝えたい(SPI or I2C)

そのどちらにせよ,Arduinoはバイトに分かれたものを順番正しく保持し,揃ったら結合, をしなければなりません。 これの方法がどこにも載っておらず困っています.どのサイトもArduinoがます他, あるいはスレーブだけど1byte受け取るだけ,で参考になりません。 これはRS232C等でも同様ですが、一般的にデータの頭にSTX、データの最後にETX等をつけ、 ...
池田茂樹's user avatar

無効化に投票