質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

3回答

2065閲覧

arduinoのソースコードをraspberry pi で動かしたい。

taka839

総合スコア0

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2021/11/03 07:21

前提・実現したいこと

arduino言語で書かれたプログラムをraspberry piで動かしたいのですが可能でしょうか?
レーザセンサからarduinoにデータを送るプログラムなのですが、raspberry piでarduino言語を使用することはできるでしょうか?
C言語などに翻訳しないと使えないでしょうか?
また、その場合、簡単に翻訳できるものでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

文法的には、大ざっぱには
Arduinoのsetup()とloop()関数について

C++

1int main(){ 2 setup(); 3 for(;;){ 4 loop(); 5 } 6 return 0; 7}

とすればC++の文法に則ったものにはなります。というか、Arduino IDE内ではこの変形を施したものをC++のコンパイラにかけて結果を得ています。
コレを以てArduinoをC++に書き換えたというかどうかは考え方次第ですが。

問題はそこではなく、ライブラリでしょう。
SPIを使うのかな? その部分のArduinoとRaspberryPiのそれぞれのライブラリの仕様を見比べて、同じデータが取れるように書き換えることになります。
もちろん、データをとって処理したらそれを出力もするでしょう。その部分もどうなっているか。質問に書かれていないことは私には知りようもないですが。

Arduino言語をC++に書き換えるという言い方は(Arduino言語がほぼC++なので)適切ではないような気はしますが、それなりの移植作業は必要、と言わざるを得ないところですね。

投稿2021/11/03 09:25

thkana

総合スコア7659

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taka839

2021/11/03 10:14

なるほど。 教えていただきありがとうございます。
guest

0

Raspberry PiはLinuxの入ったパソコンと同じなのでRapsberry PiにArduino IDEをインストールしてソースコードをコンパイルすれば使うことができます。

https://qiita.com/tamamori/items/7d40bfb73b3a5766ce29

投稿2021/11/03 07:48

Supernove

総合スコア1154

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taka839

2021/11/03 07:50

ご回答ありがとうございます。 ただ、arduinoを介さずに使用したいということです。 下手な文章ですみません。
Supernove

2021/11/03 07:53

Raspberry PiのGPIOを使ってArduinoで使えるセンサーを使いたいという認識で良かったですか? であれば使うセンサーのリンクがほしいです
Supernove

2021/11/03 08:38

ざっとセンサーのドキュメント見ましたが、センサーが出力する信号の中にアナログ信号があるため、そのままRaspberry Piで使うことはできないと思います(Raspberry PiのGPIOではアナログ信号を使えないため) そのため、Raspberry Piで使いたいときはArduinoのマイコンとRaspberry Piをシリアル通信で行うことでセンサーの値を受け取るのが一番簡単で現実的な気がします。 やり方は以下のリンクを参考にするといいかと思います。 https://misoji-engineer.com/archives/raspberrypi-arduino.html
taka839

2021/11/03 10:10

わかりました。 詳しくありがとうございました。
guest

0

Arduinoで使われる標準関数(?)をラズパイ用に実装していけば十分可能でしょう。

けど、せっかくLinuxのOSが乗って、Pythonなどの高級言語が使えるってことを考えると、わざわざ機能の限定されたArduino言語を走らせるメリットがあるかというと、ちと疑問なところではあります。

投稿2021/11/03 07:41

y_waiwai

総合スコア87800

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taka839

2021/11/03 07:49

ご返信ありがとうございます。 raspberry piでレーザセンサから位置情報を取得したいのですが、このセンサの会社が提供しているプログラムがarduino言語だったのです。 arduinoで使われる標準関数をラズパイ用に実装するというのは難しいことなのでしょうか? 重ねての質問にはなりますが、ご回答いただけると幸いです。
y_waiwai

2021/11/03 08:31 編集

そのレーザセンサのデータ読み出し法を理解して、ラズパイ上のC++なりPythonに実装する、ってのと、 Arduinoの標準関数と、ラズパイの操作ライブラリの動作を理解し、同一の動作となるように実装する、ってのを比べると、後者のほうが遥かにハードルが高いです まあとにかく、そのセンサのプログラムを見て、どういう動作をさせてるのかを理解することから始めましょう。 どっちを実行するにしろ、これができないとおはなしになりません。
taka839

2021/11/03 10:11

わかりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問