Simulink Support Package for Raspberry Pi ② ライブラリ
Simulink Support Package for Raspberry Piのブロックを調べます。
●環境
- matlab home License R2022b update2
- Simulink Support Package for Raspberry PiHardware バージョン22.2.0
●Basic
Encoderブロックは、Raspberry Piハードウェア・ボードに接続された回転モータの直交エンコーダからティック・カウントを出力します。エンコーダの目盛りカウントのすべての増分は、モータが時計回りに回転していることを示します。エンコーダのティック・カウントが減少するたびに、モータが反時計回りに回転していることを示します。総ティック・カウントは、回転モータの増分位置を表します。
ブロック・パラメータ・ダイアログ・ボックスの [リセット・モード] パラメータを使用して、ブロックからエンコーダの読み取り値をリセットできます。
ハードウェアなしでシミュレートする場合、このブロックはゼロを出力します。詳細について は、シミュレーションでブロックがゼロを生成するか何もしないを参照してください。
External Interruptブロックは、割り込みサービス・ルーチン(ISR)から下流のFunction-Call Subsystemをトリガします。Function-Call Subsystemは、外部割り込みブロックの出力ポートに接続する必要があります 。
ISRは、指定したハードウェア・ピンで割り込みが発生したときに、Raspberry Piカーネルによってトリガされるコードのセクションです。
シミュレーション中に、Simulinkライブラリのソース・ブロックを外部割り込みブロックの入力端子に接続することにより、外部割り込みブロックに入力を提供できます。
External Interruptブロックは、各タイム・ステップで0または1の 入力値を受け取ります。ブロック端子の入力が1の場合、 ブロックは下流の Function-Call Subsystemをトリガします。ブロック端子の入力がブロック 0の入力端子に接続されている場合、または入力ソースがブロックの入力端子に接続されていない場合、ブロックは下流の Function-Call Subsystem をトリガしません。コード生成中、 External Interruptブロックの入力端子に接続されているSimulinkブロックは無視され、生成されたコードには影響しません。
GPIO Readブロックを使用して、Raspberry Piボードのディジタル・ピンの論理値を読み取ります。
GPIO Writeブロックを使用して、Raspberry Piボードのディジタル・ピンの論理値を設定します。
●LED
LEDブロックを使用して、Raspberry Piボード上のユーザ制御可能なLEDを点灯させます。
ハードウェアを使用しないシミュレーション中、このブロックは何もしません。シミュレーションでブロックがゼロを生成するか何もしない を参照してください 。
Pan Tilt Hatブロックを使用して、PCA9685ベースのPWM I2Cドライバを使用し、ハードウェアのパンとチルトの動きを制御します。このブロックは、-90 度から 90 度の範囲のパン角度とチルト角度を受け入れます。PCA9685ドライバは、二つの自由度(DoF)、つまり水平軸と垂直軸に沿ってそれぞれパンとチルトのハードウェア・モジュールの動きを制御します。
●PWM
PWMブロックを使用して、ディジタル出力ピンの電力出力を変化させます。このブロックは、アナログ出力と同様に、ディジタル出力がさまざまな電力レベルを提供できるようにします。
ハードウェアを使用しないシミュレーション中、このブロックは何もしません。シミュレーションでブロックがゼロを生成するか何もしない を参照してください。
Standard Servo Writeブロックを使用して、Raspberry Piハードウェア・ボードのパルス幅変調(PWM)出力ピンに接続されたサーボ・モータのシャフト角を制御します。
ハードウェアを使用しないシミュレーション中、このブロックは何もしません。シミュレーションでブロックがゼロを生成するか何もしない を参照してください。
●Audio and Video
ALSA Audio Captureブロックは、ALSAドライバ・フレームワークを使用して、サウンド・カードからオーディオをキャプチャします。
ブロックはオーディオ・データをNxC配列として出力します。ここで、Nはオーディオ・チャネルあたりのサンプル数で、C はチャネル数です。
デバイス名とデバイスがサポートするチャネル数を入力します。 [オーディオ サンプリング周波数] パラメータを使用して、サンプリング レートをヘルツ(Hz)で設定します。ブロックのサンプル時間は、サンプリング周波数と、ユーザが指定したフレームあたりのサンプル数(N)から導出されます。
ALSA Audio Playbackブロックは、オーディオ・データを、ハードウェアに接続されたスピーカやヘッドホンなどのオーディオ出力デバイスに送信します。このブロックは、Advanced Linux Sound Architecture(ALSA)ドライバ・フレームワークを使用してオーディオ・データを送信します。
ブロックはN行C列の行列を受け入れます。ここで、 Nはチャネルごとのサンプル、Cはオーディオでサポートされるチャネルの数です。ブロックは、これらの値を入力信号から決定します。
Audio File Readブロックはオーディオ・ソース・ファイルをコピーし、オーディオ・データをモデルに出力します。オーディオ・データは、[ファイルを再生する回数]パラメータで指定されているように、ループで複数回再生できます。
オーディオ・データは、一つ以上のチャネルCで構成できます。モノ・オーディオ・ソース ファイルには 一つのチャネルしかなく、ステレオ・オーディオ・ソース・ファイルには 二つのチャネルがあります。オーディオ・データは、オーディオ・データのN個の連続サンプルとしてブロックから出力されます。
eSpeak Text to Speechブロックを使用して、eSpeak音声シンセサイザを使用してテキストを音声に変換します。ブロックは、Raspberry Piボードに接続された既定のオーディオ・デバイスを介して合成音声を出力します。
Raspberry Piボードで実行せずに eSpeak Text to Speech ブロックを含むホスト・コンピュータでモデルをシミュレートすると、ブロックはゼロ(または出力なし)を生成します。詳細については、シミュレーションでブロックがゼロを生成するか何もしないを参照してください。このブロックをエクスターナル・モード(Monitor & Tune)で使用するか、モデルを Raspberry Piボードにデプロイして、音声シンセサイザの出力をリッスンする必要があります。
ブロックを含むモデルをエクスターナル・モードで実行すると、ブロックは入力テキストを対応するアスキ値に変換するバックグラウンド・プロセスを自動的に起動します。変換が完了すると、ブロックは入力テキストの別の配列を変換する準備が整います。入力テキストが現在変換中のテキストと重なる場合、ブロックは同時に実行される複数のバックグラウンド・プロセスを起動します。
Linuxサウンド・ドライバはこれらのプロセスからのサウンドをミックスしますが、結果の出力は満足のいくものではありません。同時に実行するプロセスが多すぎると、エラーが発生します。
SDL Video Displayブロックは、Simple DirectMedia Layer(SDL)を使用してビデオ・データを表示します。このブロックは、RGBまたはYCbCr 4:2:2形式のデータを受け入れます。
V4L2 Video Captureブロックを使用すると、Video for Linux Two API (V4L2) ドライバ・フレームワークを使用して、USBビデオ・カメラからライブビデオをキャプチャできます。シミュレーション中、ブロックは動くカラーバー・イメージを出力します。
Raspberry Piハードウェア上の debian Linuxイメージは、USBビデオ・クラス(UVC)仕様に準拠したUSBカメラからのビデオ・キャプチャをサポートしています。UVC準拠のカメラであることに加えて、カメラ自体もYUYVモードでのデータ取得をサポートする必要があります。
次のカメラは、 V4L2ビデオ・キャプチャ・ブロックでテストされていますが、これらに限定されません。
- ロジクール クイックカム プロ 9000
- ロジクール QuickCam Pro 3000
- ロジクール ウェブカメラ C600
- ロジクール HD ウェブカメラ C310
V4L2ビデオ・キャプチャ・ブロックは、Raspberry Piカメラ・ボードもサポートしています。
●Communication
CAN Receiveブロックは、CANネットワークからメッセージを受信します。このブロックは、すべてのCANシールドをサポートするCANインターフェースを実装するためのデバイスに依存しないドライバであるSocketCANを使用します。
CAN Receiveブロックは、出力タイプとしてRaw dataとCANMsgをサポートします。CANdb (CANデータベース) ファイルを使用するか、信号を手動で指定するには、CANMsg出力タイプとCANUnpackブロックを使用します。CANUnpackブロックは、Vehicle Network Toolboxから入手できます。CANUnpackブロックの詳細については、CANUnpackを参照してください。
CAN Receiveブロックを使用して、実際のまたは仮想のCANインターフェースと対話できます。Raspberry PiでCANインターフェースを起動するには、CANシールドのユーザ・ガイドを参照してください。仮想CANインターフェースの設定方法の詳細については、仮想CANインターフェースの設定を参照してください。
CAN Transmitブロックは、メッセージをCANネットワークに送信します。このブロックは、すべてのCANシールドをサポートするCANインターフェースを実装するためのデバイスに依存しないドライバであるSocketCANを使用します。
CAN Transmitブロックは、入力タイプとしてRawデータとCAN Msgをサポートしています。CANdb (CANデータベース) ファイルを使用するか、信号を手動で指定するには、CANMsg入力タイプとCANPackブロックを使用します。CANPackブロックは、Vehicle Network Toolboxから入手できます。CANPackブロックの詳細については、CANPackを参照してください。
CAN Transmitブロックを使用して、実際のまたは仮想のCANインターフェースと対話できます。Raspberry PiでCANインターフェースを起動するには、CANシールドのユーザ・ガイドを参照してください。仮想CANインターフェースの設定方法の詳細については、仮想CANインターフェースの設定を参照してください。
I2C Master Readブロックは、I2Cスレーブからシリアル・データを読み取ります。このブロックを使用すると、I2Cスレーブ・デバイスの特定のレジスタからデータを読み取ることもできます。
I2C通信の詳細については、I2C通信のサポートとRaspberry Pi I2Cインターフェースを参照してください。
Raspberry Piボードのピン・マップを開くには、[ピン・マップの表示] ボタンをクリックします。
I2C Master Writeブロックは、I2Cスレーブ・デバイスまたは I2Cスレーブ・デバイス・レジスタにデータを書き込みます。このブロックを使用して、I2Cスレーブの特定のレジスタにデータを書き込むこともできます。
I2C通信の詳細については、I2C通信のサポートとRaspberry Pi I2Cインターフェースを参照してください。Raspberry Piボードのピン・マップを開くには、[ピン・マップを表示] をクリックします。
Serial Readブロックは、Raspberry Piハードウェアに接続されたシリアル・デバイスからデータを読み取ります。
詳細は、非同期シリアル通信を参照してください。Raspberry Piボードのピン・マップを開くには、[ピン・マップを表示] ボタンをクリックします。
Serial Writeブロックは、Raspberry Piハードウェアに接続されたシリアル・デバイスにデータを書き込みます。Raspberry Piボードのピン・マップを開くには、[ピン・マップを表示] をクリックします。
詳細は、非同期シリアル通信を参照してください。
SPI Master Transferブロックは、SPIスレーブ・デバイスへのデータの書き込みおよびSPIスレーブ・デバイスからのデータを読み取ります。Raspberry Piボードのピン・マップを開くには、[ピン・マップを表示] ボタンをクリックします。
SPI通信の詳細については、SPI通信のサポートとRaspberry Pi SPIインターフェースを参照してください。
SPI Register Readブロックは、SPIスレーブ・レジスタからSPI読み取り操作を開始します。データ型とデータ長を指定して、スレーブ・レジスタからデータを取得できます。Raspberry Piボードのピン・マップを開くには、[ピン・マップを表示] ボタンをクリックします。
SPI通信の詳細については、SPI通信のサポートとRaspberry Pi SPIインターフェースを参照してください。
SPI Register Writeブロックは、ブロック入力データを指定されたレジスタ・アドレスに書き込みます。Raspberry Piボードのピン・マップを開くには、[ピン・マップを表示] ボタンをクリックします。
SPI通信の詳細については、SPI通信のサポートとRaspberry Pi SPIインターフェースを参照してください。
●IoT
MQTT Publishブロックは、ハードウェア(パブリッシャ)からメッセージ・キューイング・テレメトリ・トランスポート (MQTT)ブローカに、指定されたTopicでメッセージをパブリッシュします。
このブロックには、Message入力端子とStatus出力端子があります。Messageポートは、ブローカに発行されるメッセージを受け入れます。Statusポートは、発行要求のステータスを出力します。ブロック・アイコン の文字列トピック/レベルは、 Topicパラメータによって指定されます。
MQTTの詳細については、MQTTメッセージのパブリッシュとサブスクライブを参照してください。
MQTT Subscribeブロックは、指定されたTopicのメッセージ・キューイング・テレメトリ・トランスポート (MQTT) ブローカからメッセージを受信します。
このブロックには、 IsNew、Message、およびTopicの三つの出力ポートがあります。各タイム・ステップで、ブロックは指定されたTopicで新しいメッセージが利用可能かどうかをチェックします。新しいメッセージが利用可能な場合、ブロックはメッセージを受け取ります。Messageポートは新しいメッセージを出力します。新しいメッセージが利用できない場合、Messageは最後に受信したメッセージを出力します。Topicポートは、受信したメッセージのTopicを出力します。 ブロック・アイコンの文字列topic/level/#は、 Topicパラメータによって指定されます。
MQTT の詳細については、MQTTメッセージのパブリッシュとサブスクライブを参照してください。
TalkBack Readブロックは、 ThingSpeak TalkBackサーバ上のTalkBack IDからコマンドを読み取ります。このブロックは、先入れ先出し(FIFO)の順序でTalkBackサーバ・キュー内のコマンドを読み取り、実行されるとキューから削除されます。
TalkBack Writeブロックは、コマンドをThingSpeak TalkBackサーバ上のTalkBack IDに書き込みます。ブロックはコマンドを先入れ先出し(FIFO)の順序でTalkBackキューに書き込み、実行されるとキューから削除されます。
ThingSpeak Readブロックは、 ThingSpeak.com Webサイトの ThingSpeakチャネルからデータを読み取ります 。
ThingSpeakは、MATLAB分析を備えたオープンなIoTプラットホームであり、センサ・データを収集してクラウドに保存し、IoTアプリケーションを開発できます。ThingSpeak IoTプラットホームは、MATLABでデータを分析および可視化し、データに基づいて操作できるアプリケーションを提供します。ThingSpeakの使用方法の詳細は、ThingSpeakのアプリ、プラグイン、およびチュートリアルを参照してください。
ThingSpeak Writeブロックは、ThingSpeakを使用して、入力データをターゲット・ハードウェアからモノのインターネット(IoT)に発行します。
ThingSpeakは、MATLAB分析を備えたオープンなIoTプラットホームであり、センサ・データを収集してクラウドに保存し、IoTアプリケーションを開発できます。ThingSpeak IoTプラットホームは、MATLABでデータを分析および可視化し、データに基づいて操作できるアプリケーションを提供します。ThingSpeakの使用方法の詳細は、ThingSpeakのアプリ、プラグイン、およびチュートリアルを参照してください。
●Network
Modbus TCP/IP Master Readブロックでは、マスタ・デバイスがスレーブ・デバイスのレジスタからデータを読み取ります。
Raspberry Piハードウェア用のSimulinkサポート・パッケージは、TCP/IPネットワークを介した Modbus通信プロトコルをサポートします。Modbus通信を成功させるには、マスタ(クライアント)とスレーブ(サーバ)をTCP/IPネットワークに接続する必要があります。
マスタは、スレーブ・レジスタのタイプに応じて、スレーブ・レジスタに対して読み取り、書き込み、または読み取りと書き込みのいずれかの操作を実行できます。
Modbus TCP/IP Master Writeブロックでは、マスタ・デバイスがスレーブ・デバイスのレジスタにデータを書き込みます。
Raspberry Piハードウェア用のSimulinkサポート・パッケージは、TCP/IPネットワークを介した Modbus通信プロトコルをサポートします。Modbus通信を成功させるには、マスタ(クライアント)とスレーブ(サーバ)をTCP/IPネットワークに接続する必要があります。
マスタは、スレーブ・レジスタのタイプに応じて、スレーブ・レジスタに対して読み取り、書き込み、または読み取りと書き込みのいずれかの操作を実行できます。
Modbus TCP/IP Slave Readブロックでは、スレーブ・デバイスがそのレジスタからデータを読み取ります。スレーブは、読み取り操作ごとに 一つのレジスタからのみデータを読み取ることができます。
Raspberry Piハードウェア用のSimulinkサポート・パッケージは、TCP/IPネットワークを介した Modbus通信プロトコルをサポートします。
スレーブは、これらのスレーブ・レジスタで読み取りおよび書き込み操作を実行できます。
Modbus TCP/IP Slave Writeブロックでは、スレーブ・デバイスがそのレジスタにデータを書き込みます。スレーブは、読み取り操作ごと 一つのレジスタにのみデータを書き込むことができます。
Raspberry Piハードウェア用のSimulinkサポート・パッケージは、TCP/IPネットワークを介したModbus通信プロトコルをサポートします。
スレーブは、これらのスレーブ・レジスタで読み取りおよび書き込み操作を実行できます。
TCP/IP Receiveブロックでは、ネットワーク経由でリモート・ホスト/別のターゲット・ハードウェアからデータを受信します。
接続モードをサーバとして設定する場合は、ローカル・ポートを指定する必要があります。ローカル・ポートは、TCP/IPサーバのリッスン・ポートとして機能します。
ブロックをクライアントとして設定する場合、データを受信するには、TCP/IPサーバのリモート・アドレスとリモート・ポートを指定する必要があります。ブロックは、ブロッキング・モードまたは非ブロッキング・モードのいずれかでデータを受け入れます。
データ端子の出力には、タイム・ステップごとに要求されたデータが含まれます。Status端子には 0 または 1 が含まれ、指定されたタイム・ステップで新しいデータが受信されたかどうかを示します。Statusポートの値 1 は、Dataポートからのデータが有効であることを示します。
ブロッキング・モードでは、モデルは要求されたデータが使用可能になるまで待機している間、実行をブロックします。
ノンブロッキング・モードでは、モデルは継続的に実行されます。
TCP/IP Sendブロックでは、ネットワーク経由でリモート・ホスト/別のハードウェア・ボードにデータを送信します。
ブロックの接続モードをサーバまたはクライアントとして設定できます。接続モードをTCP/IPクライアントとして設定する場合、データの送信先となるTCP/IPサーバのリモート・アドレスとリモートIPポートを指定する必要があります。
ブロックをTCP/IPサーバとして設定する場合、TCP/IPサーバのローカルIPポートを指定する必要があります。このIPポートは、TCP/IPサーバのリスニング・ポートとして機能します。
UDP Receiveブロックは、UDPホストからUDPパケットを受信します。ブロックをステートレスおよびコネクションレスのデータ交換に使用します。
UDP Sendブロックは、UDPパケットをUDPホストに送信します。ブロックをステートレスおよびコネクションレス・データ転送に使用します。
WebSocket Publishブロックは 、Raspberry PiからIPアドレスとポートで識別されるWebSocketサーバにデータを発行します。パブリッシュされたデータはJavaScript Object Notation(JSON)形式であり、WebSocketクライアントが解釈してデータを視覚化できます。
WebSocketサーバがネットワークIPアドレスでホストされている場合、ネットワーク上の任意のデバイスがサーバに接続してデータにアクセスできます。
WebSocket Subscribeブロックは 、IP アドレスとポートで識別されるWebSocketサーバによって受信されたデータをサブスクライブします。受信したデータはJavaScript Object Notation(JSON))形式である必要があり、WebSocketクライアントが解釈してデータを操作できます。
●Sense HAT
8x8 RGB LED Matrixブロックは、ピクセルの色を制御します。このブロックは、「Write Pixel」モードまたは「Display Image」モードのいずれかで使用できます。
HTS221 Humidity Sensorブロックは、Raspberry Pi Sense HATに搭載された湿度センサ (HTS221) を使用して、相対湿度と周囲温度を測定します。
Joystickブロックは、5 ポジション・ジョイスティックの状態を読み取ります。このブロックは、押されたジョイスティック・ボタンに基づいて 0 ~ 5 の値を出力します。ジョイスティックのボタン位置を示します。
LPS25h Pressure Sensorブロックは、Raspberry Pi Sense HAT に搭載された圧力センサLPS25hを使用して、気圧と周囲温度を測定します。
LSM9DS1 IMU Sensorブロックは、Raspberry Pi Sense HAT に搭載された 9–DoF IMU (慣性測定ユニット) センサLSM9DS1を使用して、線形加速度、角速度、磁場を測定します。
IMUセンサ (LSM9DS1) は、加速度計、ジャイロスコープ、磁力計で構成されています。このブロックを使用して、SenseHAT が接続された Raspberry Piの慣性運動を測定できます。
角速度、加速度、磁場、またはこれらの測定値の組み合わせを測定するために、目的のアクティブ・センサを選択します。
このブロックは、加速度をdoubleデータ型の [1x3] ベクトル値として 'g' (9.8 m/s^2) で出力し、角速度をdoubleデータ型の [1x3] ベクトル値として '度/秒' (dps) で出力し、磁場は、マイクロ・テスラ (µT) のdoubleデータ型の [1x3] ベクトル値として出力します。
オプションで、特定の詳細設定を適用して、必要に応じてセンサの動作をカスタマイズできます。
●Sensors
BME280 Pressure Sensorブロックは、Raspberry Piボードに接続されたBME280センサによって測定された気圧と相対湿度の値を出力します。このブロックは、BME280センサによって読み取られた温度も出力します。
BMP280 Pressure Sensorブロックは、Raspberry Piボードとインターフェース接続されたBMP280圧力センサを使用して、気圧と周囲温度を測定します。
CCS811 Air Quality Sensorブロックは、等価 CO2(eCO2)および等価全揮発性有機化合物濃度(eTVOC)を測定して、室内空気質を監視します。このブロックは、(湿度と温度の値を指定するか、CCS811を外部センサとインターフェースすることによって)補正を有効にするために、温度と湿度のデータを提供するオプションも提供します。
LPS22HB Pressure Sensorブロックは、Raspberry Piボードとインターフェース接続されたLPS22HB圧力センサを使用して気圧を測定します。このセンサは、絶対圧力を測定するための検出素子で構成されています。このブロックは、LPS22HBセンサに組み込まれた温度センサからの温度も測定します。
また、ブロックで出力データ・レートを選択し、ローパス・フィルタ・オプションを使用して測定された圧力値をフィルタ処理もできます。
ADXL34x Accelerometerブロックは、Raspberry Piボードを使用して加速度計のADXL34xファミリ(ADXL343、ADXL344、ADXL345、および ADXL346)からデータを読み取ります。
このブロックを使用して、 X、YおよびZ軸に沿った線形加速度を測定できます。このブロックは、データ・レディ割り込みを有効にするオプションも提供します。
ブロックは加速度を 1 行 3 列の配列として出力します。
BMI160 IMU Sensorブロックは、Raspberry Piボードに接続されたBMI160センサによって測定された x、y、z 軸に沿った直線加速度と角速度の値を出力します。このブロックは、BMI160センサによって読み取られた温度も出力します。
BMM150をセカンダリ・センサとしてBMI160に接続すると、BMI160ブロックは、BMM150センサによって測定された x、y、および z 軸に沿った磁場の値も出力します。
BMM150 Magnetometerブロックは、Raspberry Piボードに接続された BMM150センサによって測定された x、y、z 軸に沿った磁場の値を出力します。
ICM20948 IMU Sensorブロックは、Raspberry Piボードに接続された ICM20948 IMUセンサによって測定された x、y、z 軸に沿った線形加速度、角速度、磁場強度の値を出力します。このブロックは、ICM20948 IMUセンサによって読み取られた温度も出力します。
LIS3MDL Magnetometer Sensorブロックは、Raspberry Piボードに接続された LIS3MDL磁力計センサによって測定された x、y、z 軸に沿った磁場強度の値を出力します。このブロックは、LIS3MDL磁力計センサによって読み取られた温度も出力します。
LSM303C IMU Sensorブロックは、Raspberry Piボードに接続された LSM303Cセンサによって測定された x、y、z 軸に沿った線形加速度と磁場強度の値を出力します。このブロックは、LSM303Cセンサによって読み取られた温度も出力します。
LSM6DS3 IMU Sensorブロックは、Raspberry Piボードとインターフェースに接続された LSM6DS3 Inertial Measurement Unit(IMU)センサを使用して、X、Y、Z 軸に沿った線形加速度と角速度を測定します。この 6 自由度 (DoF) IMU センサは、直線加速度と角速度をそれぞれ測定するために使用される加速度計とジャイロスコープで構成されています。このブロックは、LSM6DS3 Sensor に組み込まれた温度センサからの温度も測定します。
ブロック内のアナログ フィルタ・オプションと複合フィルタ・オプションを加速度計の値に使用し、ハイパス・フィルタ・オプションをジャイロスコープの値に使用することもできます。
LSM6DS3H IMU Sensorブロックは、Raspberry Piボードとインターフェースに接続された LSM6DS3H Inertial Measurement Unit(IMU)センサを使用して、X、Y、Z 軸に沿った線形加速度と角速度を測定します。この 6 自由度(DoF)IMU センサは、直線加速度と角速度をそれぞれ測定するために使用される加速度計とジャイロスコープで構成されています。このブロックは、LSM6DS3Hセンサに組み込まれた温度センサからの温度も測定します。
ブロック内のアナログ ・フィルタ・オプションと複合フィルタ・オプションを加速度計の値に使用し、ハイパス・フィルタ・オプションをジャイロスコープの値に使用することもできます。
LSM6DSL IMU Sensorブロックは、Raspberry Piハードウェアとインターフェースに接続された LSM6DSL Inertial Measurement Unit(IMU)センサを使用して、X、Y、および Z 軸に沿った線形加速度と角速度を測定します。この 6 自由度(DoF)IMU センサは、直線加速度と角速度をそれぞれ測定するために使用される加速度計とジャイロスコープで構成されています。このブロックは、LSM6DSLセンサに組み込まれた温度センサからの温度も測定します。
また、加速度計の値に対してブロック内の複合フィルタ・オプションを使用し、ジャイロスコープの値に対してハイパスおよびローパス・フィルタ・オプションを使用することもできます。
LSM6DSM IMU Sensorブロックは、Raspberry Piハードウェアとインターフェースに接続された LSM6DSM Inertial Measurement Unit(IMU)センサを使用して、X、Y、および Z 軸に沿った線形加速度と角速度を測定します。この 6 自由度(DoF)IMU センサは、直線加速度と角速度をそれぞれ測定するために使用される加速度計とジャイロスコープで構成されています。このブロックは、LSM6DSMセンサに組み込まれた温度センサからの温度も測定します。
また、加速度計の値に対してブロック内の複合フィルタ・オプションを使用し、ジャイロスコープの値に対してハイパスおよびローパス・フィルタ・オプションを使用することもできます。
LSM6DSO IMU Sensorブロックは、Raspberry Piハードウェアとインターフェースに接続された LSM6DSO Inertial Measurement Unit(IMU)センサを使用して、X、Y、Z 軸に沿った線形加速度と角速度を測定します。この 6 自由度(DoF)IMU センサは、直線加速度と角速度をそれぞれ測定するために使用される加速度計とジャイロスコープで構成されています。このブロックは、LSM6DSOセンサに組み込まれた温度センサからの温度も測定します。
また、加速度計の値に対してブロック内の複合フィルタ・オプションを使用し、ジャイロスコープの値に対してハイパスおよびローパス・フィルタ・オプションを使用することもできます。
LSM6DSR IMU Sensorブロックは、Raspberry Piハードウェアとインターフェースに接続された LSM6DSR Inertial Measurement Unit(IMU)センサを使用して、X、Y、および Z 軸に沿った線形加速度と角速度を測定します。この 6 自由度(DoF)IMU センサは、直線加速度と角速度をそれぞれ測定するために使用される加速度計とジャイロスコープで構成されています。このブロックは、LSM6DSR Sensorに組み込まれた温度センサからの温度も測定します。
また、加速度計の値に対してブロック内の複合フィルタ・オプションを使用し、ジャイロスコープの値に対してハイパスおよびローパス・フィルタ・オプションを使用することもできます。
Ultrasonic Sensorブロックは、ハードウェアに接続された超音波センサとセンサの前にある最も近い物体との間の距離を出力します。ブロックは距離を倍精度値(メートル単位)として出力します。オブジェクトがセンサの検出範囲外にある場合、ブロックは 0を出力します。
ハードウェアを接続せずにUltrasonic Sensorブロックを含むモデルをシミュレートすると、ブロックはゼロを出力します。詳細について は、シミュレーションでブロックがゼロを生成するか何もしないを参照してください。
●VL53L0X Time of Flight Sensor
VL53L0X Time of Flight Sensorブロックは、完全な視野(FOV = 25 度)のターゲット・オブジェクトまでの距離を測定します。このブロックは、要件に基づいて四つの測距モードのいずれかを選択するオプションも提供します。
●Protocol Decoder
Protocol Decoderブロックは、パケット構造を指定してuint8バイト・ストリームをデコードします。
このブロックは、指定されたパケット・フィールドに対応する信号を出力し、パケット・ヘッダーとターミネータの値を指定することもできます。
IsNewは、デコードされたフィールドの新しいセットが利用可能かどうかを確認するための追加の出力(ブール値)です。 [チェックサム検証のロジックを指定] を選択して IsValid 出力(ブール値)を取得し、パケットが有効かどうかを確認します。
●Protocol Encoder
Protocol Encoderブロックは、パケット構造を指定して、入力データをuint8バイト・ストリームにエンコードします。
このブロックは、サイズがパケット・フィールドとパケット・ヘッダーおよびターミネータの値に依存するバイト・ストリームを出力します。
出力ストリームにチェックサム・バイトを含めるには、[検証用のチェックサムを生成するロジックを指定する] を選択します。
●function
getRunOnBoot Run-on-boot に追加されたSimulinkモデルの名前を取得する
addToRunOnBoot Run-on-boot へのSimulinkモデルの追加
removeRunOnBoot Run-on-boot からSimulinkモデルを削除する
listAudioDevices 利用可能な ALSA オーディオ・デバイスを一覧表示する