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

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

新規登録して質問してみよう
ただいま回答率
85.50%
MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Arduino

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

IoT

IoT(Internet of Things)とは、インターネットがコンピュータなどの情報・通信機器のネットワークだけでなく、世の中のある様々なモノに接続されて自動認識・自動制御・遠隔計測などの能力を備えることです。「モノのインターネット」と一般的にいわれます。

Q&A

解決済

2回答

3038閲覧

PythonもしくはArduino言語で書かれたプログラムをMATLAB用に書き換えたい

退会済みユーザー

退会済みユーザー

総合スコア0

MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Arduino

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

IoT

IoT(Internet of Things)とは、インターネットがコンピュータなどの情報・通信機器のネットワークだけでなく、世の中のある様々なモノに接続されて自動認識・自動制御・遠隔計測などの能力を備えることです。「モノのインターネット」と一般的にいわれます。

0グッド

0クリップ

投稿2019/04/13 06:37

前提・実現したいこと

MATLABで超音波センサ(HC-SR04)を制御しようとしています。
以下のように既に
・ラズパイで制御するためのPythonで書かれたコード超音波距離センサの仕組み[HC-SR04とラズパイの場合]
・Arduinoのコード【Arduino】超音波距離センサ(HC-SR04)の使い方がありますが、これらをどのようにMATLABで実装すればいいのかわからず困っています。

MATLABと(VCCとGND)を5Vの電源を繋いだセンサはあるのですが、ここからどのようなアプローチで信号を取得すればいいのか検討がつかず、また検索で「MATLAB HC-SR04」としても、以下の試したことにある結果しか得られなかったので、何をすべきかアドバイスをいただきたいです。

試したこと

MATLABには以下のようなライブラリがあるようなのですが、Arduinoを介さずに信号を処理するとなるとAD変換をMATLABで行うということになるのでしょうか。
HC-SR04 Add-On Library for Arduino

補足情報(FW/ツールのバージョンなど)

MATLABR2017b

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

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

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

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

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

guest

回答2

0

ベストアンサー

普通に調べればRaspberry Pi + PythonでHC-SR04を使っている例とかが引っかかりますけどね(他、PICとかも)。
Linux用のMATLABをRaspberry Piに載せられないかな、と思ってMathworksのサイト見てみましたが、とりあえずARMのCPUは対象環境ではないようで。

さて。

距離測定ってなにをやっているのでしょう? 測定にAD変換は登場せず、モジュールに指示して超音波のパルスを出し、それが物体に当たって反射して戻るまでの時間を測定する、というのが原理です。それがどのくらいの時間かというと、単純に音速(ざっくり340m/s)と測定対象までの距離x2(往復)なので測定距離が最低2cmということは116μs、最大4mで11msといったところ。
普通のPCではそういう時間スケールで外部に信号を出したり取り込んだりする機能はありません。USBというインターフェースもそういう作りではなく、また、Windows OSもそういう細かい時間を普通に制御出来るようには出来ていません。

PCとMATLAB"だけ"でその測定を真面目にやるのは無理、というのが結論になるかと思います。
ArduinoでもRaspberry PiでもPICでもいいですけど、パルスを扱う測定の部分はそういうものに任せる必要があるでしょう。
(いや、Raspberry PiはLinuxだと...ちょっと不安。)

投稿2019/04/13 09:42

thkana

総合スコア7610

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

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

0

リンク先を見ると、出力を出し、帰ってくる入力が来るまでの時間を計測してるようです。
ということで、Arduino以外の環境でも、この通りに動作するようにコードを組めばいいという話になります

まあ、ネットをいくら検索してもArduino以外の環境では製作例は見つからないと思いますので、
まずは使用するCPUのデータシートをよく読み、センサのピンに出力する、センサからデータを読む、のをどうするのか調べてみましょう

#まずは、Lチカあたりから始めてみれば

投稿2019/04/13 07:30

y_waiwai

総合スコア87719

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

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

退会済みユーザー

退会済みユーザー

2019/04/13 09:15

ご回答いただきましてありがとうございます。 使用するCPUとは、ラズパイやArduinoのようなものを通してMATLABからの信号を送るという理解でしょうか。
y_waiwai

2019/04/13 11:11

対象はラズパイなんでしょうか? タグにIoTとあるのでてっきりワンチップCPUだとおもってましたが ラズパイのみならず、LinuxやWindowsが走ってるという環境ででこの手の計測するというのはちと無理があります 計測自体はArduinoやPICで行ってデータを転送してどーこーとする必要がありますね
退会済みユーザー

退会済みユーザー

2019/04/15 07:03

わかりました。まずはラズパイでやってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問