6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

第1回ETロボコン講座

Last updated at Posted at 2019-10-08

##ETロボコン講座
始まりましたETロボコン講座
プライマリークラスの初心者向けに向けてのやっていきます
最終的にはゴールできるまでのレベルまであげていけたらいいなと思います
##注意事項
初心者向けの講座になります。
アドバンスクラスやレベルの高い方にはあまり参考にならないと思うので読み飛ばすか、
間違っている所をみつけようとしてくれたら幸いです
筆者の環境はwindows10、cigwin64です
#本編
今日の講座が終わればコードをコンパイルまでができるようになります
##環境構築
開発は環境を整えなければ何もできませんまずは環境を整えましょう
環境構築は公式サイトを参考にしてください。
チームに配布されるパスワードがあれば閲覧できるはずです。
正直これが一番大変です。
ETロボコン公式サイト
##ファイル構造
大変な環境構築が終わったらファイル構造から理解していきましょう。
image.png
workspaceのなかで開発します。workspaceの中で開発したいもののファイルを作成します。
そのファイルの中に必須のファイルがあるので以下に記します
###app.c
必須ファイルです
ここでソースコードを書いていきます
###app.h
app.cの構造を理解しなければapp.hは理解できないので今回はおまじないとしておきます
###app.cfg
これもおまじないです
###Makefile.inc
これもおまじないです

この4つがコードを書く上で同一のファイル内に必須となりますimage.png
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ディレクトリ内にあるか確認してください
image.png
2.make appコマンドで実行します。
今回の場合はtest.cファイルをコンパイルしたいので下のようになります
image.png
LD appと表示されれば成功です
image.png
3.コンパイル後
コンパイルが成功するとworkspace内にappファイルが作成されます。
このappファイルをEV3にSDカード等を使用し移動させれば完了です。
image.png

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?