テクノロジー

img_technologyTop01

製品をもっと詳しく知りたい方へ
技術研究所

センサーや変数の値をファイルに出力する

EV3のC言語プログラム(Toppers)で、センサーや変数の値などをファイルに書き込む方法を紹介します。
プログラム実行中の値の変化の確認や、デバッグにご活用ください。

 

※ここで紹介する内容は、EV3RTパッケージ β6-2環境にて動作を確認したものです。

 

以下のプログラムは、カラーセンサー(反射光)の値を約0.1秒おきに取得して、ファイルに書き込みます。ファイルはmicroSDHCカードのルートに保存されます。(プログラムの48行目参照)

1 #include “ev3api.h”
2 #include “app.h”
3
4 #if defined(BUILD_MODULE)
5 #include “module_cfg.h”
6 #else
7 #include “kernel_cfg.h”
8 #endif
9
10 // センサーポートを設定
11 #define color_sensor EV3_PORT_3
12
13 // 待機時間の設定 [msec]
14 const uint32_t WAIT_TIME_MS = 100;
15
16 void run_task(intptr_t unused)
17 {
18         FILE *file;
19         int i;
20         uint8_t val;
21
22         // ファイルオープン
23         file = fopen(“/log.txt”,”a”);
24
25         ev3_speaker_set_volume(5);
26         ev3_speaker_play_tone(NOTE_G4, 500);
27
28         for ( i = 0; i < 100; i++ ){
29                 val = (int)ev3_color_sensor_get_rgb_reflect(color_sensor);
30
31                 // ファイルに書き込み
32                 fprintf(file , “%d,%d\n” , i+1 , val );
33
34                 // 01.秒待機
35                 tslp_tsk(WAIT_TIME_MS);
36         }
37
38         // ファイルクローズ
39         fclose(file);
40
41         ev3_speaker_play_tone(NOTE_G4, 500);
42 }
43
44 void main_task(intptr_t unused) {
45         // センサーの設定
46         ev3_sensor_config( color_sensor , COLOR_SENSOR );
47
48         // タスクを開始する
49         act_tsk(RUN_TASK);
50 }
51

※センサーや変数の値をファイル出力するプログラムの一例として紹介しています。
※プログラムは動作確認済みですが、誤り等が含まれていた場合はご了承ください。

お問い合わせ

CONTACT

株式会社アフレル

本社/カスタマーセンター

〒918-8231 福井市問屋町3-111
TEL.0776-25-0303 FAX.0776-25-0309 info@afrel.co.jp
カスタマーセンター電話受付  9:30-17:30 (土日・祝日・年末年始を除く) MAP

東京支社

〒103-0001
東京都中央区日本橋小伝馬町2-8 新小伝馬町ビル5F
TEL.03-6661-9251 FAX.03-3249-3741 MAP
  • 正規代理店

    LEGO education logo

  • PITSCO logo

  • NI logo

  • virtual robotics toolkit logo

資料内容の無断転載、複製を禁じます。
製作・著作 株式会社アフレル

Copyright 2017 Afrel Co.,Ltd. All Rights Reserved.

© LEGO, the LEGO logo, MINDSTORMS and the MINDSTROMS logo are trademarks of the LEGO Group.
© 2017 The LEGO Group.
レゴ、レゴのロゴマーク、レゴ マインドストームは、 レゴグループの登録商標です。