EV3_APIの解説.pptx

Similar documents
スライド 1

Microsoft PowerPoint _開発環境構築相談会_資料_05.pptx

TOPPERS基礎ロボコンセミナー

ERTLテンプレート

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

組込みシステムにおける UMLモデルカタログの実践研究

057 { 058 int i; 059 timecounter=0; 060 pwmvalue=0;x=0;v=0; 061 requestdisplaydata=1; 062 tick=1; 063 for (i=0; i<rbuffsize; i++) { 064 ringbuffer[i]=

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

ETCB Manual

EV3RT Real- Time platform for EV3 user/ev3pf/wiki/whatsev3rt TOPPERS/HRP2カーネルをベースとしたプラット フォーム メモリ 保 護 機 能 を 提 供 CやC++で 開 発

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

1 Atollic TrueSTUDIO( GR-PEACH TOPPERS/ASP ASP GR-PEACH mbed ( git

<4D F736F F D20B6BCB5D7B2CCDED7D8CFC6ADB1D9315F43532E444F43>

tri_s_tg12864_vcp の説明 2014/02/05 飛石伝ひ CPU 基板 の LCD TG12864 の表示プログラムです 漢字表示 (JIS208) を行うことができます USB の VCP ( 仮想 COM ポート ) を使用して非同期シリアル通信により 表示試験を行うことができ

TOPPERS 活用アイデア アプリケーション開発 コンテスト 部門 : 活用アイデア部門アプリケーション開発部門 作品のタイトル : Toppers_JSP と Scicos_lab / (Scilab でも可 ) による 組込みメカトロニクス制御シミュレーション 作成者 : 塩出武 ( シオデタ

マニュアル訂正連絡票

前回の内容 マイクロコンピュータにおけるプログラミング PC上で作成 コンパイル マイコンに転送 実行 プログラムを用いて外部の装置を動作させる LED turnonled turnoffled LCD printf プログラムを用いて外部の装置の状態を読み取る プッシュスイッチ getpushsw

広報紙Gyro12月110号.indd

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

NCB564個別00版

PowerPoint プレゼンテーション

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ

スライド 1

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

アスラテック株式会社 会社案内

Microsoft PowerPoint - prog03.ppt

IntroductionForGR-PEACH.pptx

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

GR-SAKURA-SAのサンプルソフト説明

SpeC記述のC記述への変換 (SpecCによるソフトウェア記述の実装記述への変換)

// USB_CNC_Machine リモート PIO 端末プログラムのメイン関数およびユーザアプリ部 // 編集作成 by Takehiko Inoue /*********** メイン関数 ***************************/ #pragma code

Studuinoプログラミング環境

Copyright c 2009 by Masaki Yagi

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド

Android Layout SDK プログラミング マニュアル

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ

Microsoft Word - ModelAnalys操作マニュアル_

EV3RTの概要.pptx

MS5145、MS7120,USB通信の設定

第3部:プログラミング実習

RCX vs. NXT 機能 CPU メモリサイズ ( バイト ) 1 デバイス I/O 表示 サウンド 通信 コンパイラ オープンソース開発環境 RCX H8 (8bit, 16MHz) 32K ( 含むファームウェア ) センサ 3ch モータ 3ch 液晶 8bit PCM 赤外線 GCC f

ERTLテンプレート

本資料のご使用につきましては 次の点にご留意願います 本資料の内容については 予告無く変更することがあります 1. 本資料の一部 または全部を弊社に無断で転載 または 複製など他の目的に使用することは堅くお断りいたします 2. 本資料に掲載される応用回路 プログラム 使用方法等はあくまでも参考情報で


ET2014 ミニセミナー フィーチャー図と BricRobo で 簡単プロダクトライン 2014/11/19~21 ( 株 ) 富士通コンピュータテクノロジーズ伊澤松太朗 1294karch01 Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITE

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

表紙


DT-950通信機能解説書



untitled

OS

Raspberry Pi (Windows10 IoT Core) を使用したリーダ ライタの制御例 (UART 接続 ) 2018 年 12 月 18 日第 版 株式会社アートファイネックス

Microsoft PowerPoint - OOP.pptx

内容 1. APX-3302 の特長 APX-3312 から APX-3302 へ変更するためには 差分詳細 ハードウェア ハードウェア性能および仕様 ソフトウェア仕様および制限 Ini ファイルの設

改版履歴 Ver 改版日内容 /02/07 新規作成 2 / 18

04-process_thread_2.ppt

ワイヤレスセンサモジュール取扱説明書

Microsoft Word - NanoPhotometer用PCソフトウエア操作説明書 Rev 1.00.doc

プログラミング入門1

1. LCD LS027B4DH01 について LS027B4DH01 は 400dot x 240dot のグラフィック LCD です 秋月電子通商で購入できます 外形サイズ : 62.8 x x 1.53mm LCD のフレキシブルケーブルの根元の部分はちょっと力を加えただけで表示が

DocuWorks Mobile 障害切り分け手順書

技術教育のシラバス: 公式トレーニング

SWEST 17 mruby の現状と事例紹介 九州工業大学情報工学部田中和明 RubyAssociation 軽量 Ruby フォーラム

Microsoft Word - DRSP-Serial Operation Manual_TETRA-DS IV__V1.2_japan.doc

Jungo LTD. COPYRIGHT Copyright (c) Jungo Ltd. All Rights Reserved. Jungo Ltd. POB8493 Netanya Zip Israel Phone (USA) (W

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

(Microsoft PowerPoint - \221g\202\335\215\236\202\335\203\\\203t\203g\203E\203F\203A\215H\212w No02\201i\224z\225z\227p\201j.pptx)

1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成し

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

[PDF] ザルトバインド総合カタログ

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

RP-VL-S-01, RP-VL-R-01

Microsoft PowerPoint - prog04.ppt

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

NFCライブラリマニュアル

プロバイダ ユーザーズガイド

RobotCでの基本プログラミング

MS5145 USB シリアル エミュレーション モードの設定

基礎計算機演習 実習課題No6

JavaプログラミングⅠ

memo

Prog1_6th

プログラミング入門1

Microsoft PowerPoint - CproNt02.ppt [互換モード]

メソッドのまとめ

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

橡00horse.PDF

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

法政大学小林一行研究室 PSoC ドキュメント資料 Gerox(c) 10/12/ PSoC (49466 単体 ) で設定できるシリアル通信の最大クロックは? PSoC の UART のマニュアルによれば,6Mbits/second まで設定できる

スライド 1

iCLR

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

スライド 1

Transcription:

ET ロボコン向け TOPPERS 活 セミナー EV3 API の解説 2016 年 6 11 ( ) 松原豊 ( 名古屋 学 ) 川拓也 の資料を基に作成 1

EV3RT の提供する EV3 API API を提供するモジュール 覧 サーボモータ 各種センサ 超 波, ジャイロ, タッチ, カラー LCD ファイルシステム シリアル送受信機能を含む EV3 本体機能 バッテリ, ボタン,LED, スピーカ 拡張 RTOS 機能 ユーザ空間での周期ハンドラ 2

API リファレンス EV3 C 語 API リファレンス http://www.toppers.jp/ev3pf/ EV3RT_C_API_Reference/index.html こちらのリファレンスが C++API に対するベース EV3 C++ 語 API リファレンス http://www.toppers.jp/ev3pf/ EV3RT_CXX_API_Reference/index.html モータやセンサをクラス化 3

モータ制御 API の例 (1/3) 関数の引数で使 する列挙型 typedef enum { EV3_PORT_A = 0, sdk/common/ev3api/src/ev3api_motor.h // ポートA EV3_PORT_B = 1, // ポートB EV3_PORT_C = 2, // ポートC EV3_PORT_D = 3, // ポートD TNUM_MOTOR_PORT = 4 // モータポートの数 } motor_port_t; // モータポートを表す番号 typedef enum { NONE_MOTOR = 0, // モータ未接続 MEDIUM_MOTOR, // サーボモータM LARGE_MOTOR, // サーボモータL UNREGULATED_MOTOR, // 未調整モータ TNUM_MOTOR_TYPE // モータタイプの数 } motor_type_t; // サポートするモータタイプ 4

モータ制御 API の例 (2/3) クラス Motor (namespace ev3api) Motor の公開関数 Motor ( コンストラクタ ) ~Motor ( デストラクタ ) reset getcount setcount setpwm setbrake stop API リファレンスを確認してみましょう! http://www.toppers.jp/ev3pf/ev3rt_cxx_api_reference/ classev3api_1_1_motor.html 5

モータ制御 API の例 (3/3) 使 例 sdk/workspace/ev3way-cpp/app.cpp /* モータオブジェクトの生成 */ tailmotor = new Motor(PORT_A); /* モータ停止, 回転角度を 0 初期化 */ tailmotor->reset(); /* モータの回転角度を取得 */ float pwm = (float)(angle - tailmotor->getcount()) * P_GAIN; /* モータ回転速度 (PWM) を設定 */ tailmotor->setpwm(pwm); コンストラクタの引数は, モータを繋いでいるポートに対応する motor_port_t, ブレーキモードの true/false( デフォルトは true), モータに対応する motor_type_t( デフォルトは LARGE_MOTOR) getcount は reset 直後は reset 時からの回転 度を返すが, setcount を呼び出すことで, 回転 度のオフセットを設定可能 6

センサ取得 API の例 (1/3) 関数の引数で使 する列挙型 typedef enum { EV3_PORT_1 = 0, sdk/common/ev3api/arc/ev3api_sensor.h // ポート1 EV3_PORT_2 = 1, // ポート2 EV3_PORT_3 = 2, // ポート3 EV3_PORT_4 = 3, // ポート4 TNUM_SENSOR_PORT = 4 // センサポートの数 } sensor_port_t; // センサポートを表す番号 typedef enum { NONE_SENSOR = 0, // センサ未接続 ULTRASONIC_SENSOR, // 超音波センサ GYRO_SENSOR, // ジャイロセンサ TOUCH_SENSOR, // タッチセンサ COLOR_SENSOR, // カラーセンサ TNUM_SENSOR_TYPE // センサタイプの数 } sensor_type_t; // サポートするセンサタイプ 7

センサ取得 API の例 (2/3) クラス GyroSensor (namespace ev3api) クラス Sensor の クラス GyroSensor の公開関数 GyroSensor ( コンストラクタ ) setoffset reset getanglervelocity getangle 8

センサ取得 API の例 (3/3) 使 例 sdk/workspace/ev3way-cpp/app.cpp /* ジャイロセンサオブジェクトの生成 */ gyrosensor = new GyroSensor(PORT_4); /* ジャイロセンサ初期化 */ gyrosensor->reset(); /* ジャイロセンサのオフセット値を設定 */ gyrosensor->setoffset(offset); /* ジャイロセンサ値の取得 */ gyro = gyrosensor->getanglervelocity(); getanglervelocity は, ジャイロセンサの現在の値 ( 速度 ) と, setoffset で指定したオフセット値との差分を返す 9

ファイルシステム API の例 (1/2) シリアル 出 の列挙型 typedef enum { EV3_SERIAL_DEFAULT sdk/common/ev3api/arc/ev3api_fs.h // EV3RTコンソール用ポート EV3_SERIAL_UART // UARTポート ( センサポート1) EV3_SERIAL_BT // Bluetooth 仮想シリアルポート } serial_port_t; // シリアルポートを表す番号 シリアル 出 の関数 ev3_bluetooth_is_connected ev3_serial_open_file 出 体は newlib API を使 できる fprintf, fputc,... 他にファイルストリーム の API もある 10

ファイルシステム API の例 (2/2) 使 例 app.c /* Bluetooth(SPP) 経由でのシリアルI/Oのopen */ bt = ev3_serial_open_file(ev3_serial_bt) /* ホストPCとBluetooth 接続が確立されるまで待つ */ while (!ev3_bluetooth_is_connected()) tslp_tsk(100); /* Bluetooth 経由でのシリアル受信 (1 文字 ) */ uint8_t c = fgetc(bt); /* Bluetooth 経由でのシリアル出力 */ fprintf(bt, "main task started.\n"); 11

拡張 RTOS 機能 API の例 (1/2) ユーザ空間の周期ハンドラ 成 静的 API EV3_CRE_CYC( 周期ハンドラ ID, { 属性, 引数, 周期ハンドラの関数名, 周期 [ms], 初期位相 [ms] }); 各パラメータの意味は CRE_CYC と同じ ユーザ空間の周期ハンドラ制御関数 ev3_sta_cyc 周期ハンドラの動作開始 ev3_stp_cyc 周期ハンドラの動作停 API の仕様書 (ngki-spec-171.pdf) を確認してみましょう! p.242 周期ハンドラの仕様,p.249 sta_cyc の仕様 実 コンテキストは, タスクコンテキストになることに注意 12

拡張 RTOS 機能 API の例 (2/2) 使 例 DOMAIN(TDOM_APP) { EV3_CRE_CYC(TEST_EV3_CYC,{ TA_NULL, 0, test_ev3_cychdr, 250, 0 }); } void main_task(intptr_t exinf){ /* 周期ハンドラの開始 */ ev3_sta_cyc(test_ev3_cyc); } void test_ev3_cychdr(intptr_t exinf) {... } 250ms 周期で 起動するようになる app.cfg app.c 13