第1回ETロボコン講座


#ETロボコン講座

始まりましたETロボコン講座
プライマリークラスの初心者向けに向けてのやっていきます
最終的にはゴールできるまでのレベルまであげていけたらいいなと思います

注意事項

初心者向けの講座になります。
アドバンスクラスやレベルの高い方にはあまり参考にならないと思うので読み飛ばすか、
間違っている所をみつけようとしてくれたら幸いです
筆者の環境はwindows10、cigwin64です

本編

今日の講座が終わればコードをコンパイルまでができるようになります

環境構築

開発は環境を整えなければ何もできませんまずは環境を整えましょう
環境構築は公式サイトを参考にしてください。
チームに配布されるパスワードがあれば閲覧できるはずです。
正直これが一番大変です。
ETロボコン公式サイト

ファイル構造

大変な環境構築が終わったらファイル構造から理解していきましょう。

workspaceのなかで開発します。workspaceの中で開発したいもののファイルを作成します。
そのファイルの中に必須のファイルがあるので以下に記します

app.c

必須ファイルです
ここでソースコードを書いていきます

app.h

app.cの構造を理解しなければapp.hは理解できないので今回はおまじないとしておきます

app.cfg

これもおまじないです

Makefile.inc

これもおまじないです

この4つがコードを書く上で同一のファイル内に必須となります
testというファイルを作成する場合は上の画像のようになります。

app.cの構造

必須のコードが以下に示します

app.c
#include "ev3api.h"
#include "app.h"
#include <stdio.h>
#include <stdbool.h>
#include <balancer.h>

#if defined(BUILD_MODULE)
#include "module_cfg.h"
#else
#include "kernel_cfg.h"
#endif

#define DEBUG

#ifdef DEBUG
#define _debug(x) (x)
#else
#define _debug(x)
#endif
#define GYRO_OFFSET  0 

static const sensor_port_t
touch_sensor    = EV3_PORT_1,
sonar_sensor    = EV3_PORT_2,
color_sensor    = EV3_PORT_3,
gyro_sensor     = EV3_PORT_4;

static const motor_port_t
left_motor      = EV3_PORT_C,
right_motor     = EV3_PORT_B,
tail_motor      = EV3_PORT_A;
void bt_task(intptr_t unused)
{

}
void main_task(intptr_t unused)
{

}

このコードの中ではポートの設定や同一ファイル内にあるapp.hファイル等を呼び出しています。
よくわからない場合はとりあえずコピペしてください。

実際に書いていく

実際にコードを書く場所は上の部分の{ }内となります。

test.c
void main_task(intptr_t unused)
{

}

これはタイヤを70のスピードで走らせるコードです

test.c
void main_task(intptr_t unused)
{
    ev3_motor_config(right_motor,LARGE_MOTOR);
    ev3_motor_config(left_motor,LARGE_MOTOR);

    ev3_motor_set_power(EV3_PORT_C,70);
    ev3_motor_set_power(EV3_PORT_B,70);
}

上の2行で接続されているLARGEMOTERに接続しているポート名を宣言します。
下の2行は
ev3_motor_set_power(動かしたいモーターのポート名,モーターのスピード(100~-100))
となります。

コンパイル編

1.cygwinでCドライブ内のworkspaceディレクトリ内に移動します
コンパイルしたいファイルがworkspaceディレクトリ内にあるか確認してください

2.make appコマンドで実行します。
今回の場合はtest.cファイルをコンパイルしたいので下のようになります

LD appと表示されれば成功です

3.コンパイル後
コンパイルが成功するとworkspace内にappファイルが作成されます。
このappファイルをEV3にSDカード等を使用し移動させれば完了です。