第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の構造
必須のコードが以下に示します
#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カード等を使用し移動させれば完了です。
Author And Source
この問題について(第1回ETロボコン講座), 我々は、より多くの情報をここで見つけました https://qiita.com/kanimaru0612/items/959fe38b47fc22e4719a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .