##ETロボコン講座
始まりましたETロボコン講座
プライマリークラスの初心者向けに向けてのやっていきます
最終的にはゴールできるまでのレベルまであげていけたらいいなと思います
##注意事項
初心者向けの講座になります。
アドバンスクラスやレベルの高い方にはあまり参考にならないと思うので読み飛ばすか、
間違っている所をみつけようとしてくれたら幸いです
筆者の環境はwindows10、cigwin64です
#本編
今日の講座が終わればコードをコンパイルまでができるようになります
##環境構築
開発は環境を整えなければ何もできませんまずは環境を整えましょう
環境構築は公式サイトを参考にしてください。
チームに配布されるパスワードがあれば閲覧できるはずです。
正直これが一番大変です。
ETロボコン公式サイト
##ファイル構造
大変な環境構築が終わったらファイル構造から理解していきましょう。
workspaceのなかで開発します。workspaceの中で開発したいもののファイルを作成します。
そのファイルの中に必須のファイルがあるので以下に記します
###app.c
必須ファイルです
ここでソースコードを書いていきます
###app.h
app.cの構造を理解しなければapp.hは理解できないので今回はおまじないとしておきます
###app.cfg
これもおまじないです
###Makefile.inc
これもおまじないです
この4つがコードを書く上で同一のファイル内に必須となります
testというファイルを作成する場合は上の画像のようになります。
##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ファイル等を呼び出しています。
よくわからない場合はとりあえずコピペしてください。
##実際に書いていく
実際にコードを書く場所は上の部分の{ }内となります。
void main_task(intptr_t unused)
{
}
これはタイヤを70のスピードで走らせるコードです
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カード等を使用し移動させれば完了です。