stem du とarduino のプログラム例yyhome/arduino/ardublock_program.pdf1...

7
1 (作成:江澤良孝) STEM DU Arduino のプログラム例 ボードのピンアサインの例(基板によって異なる) RDC104R4 の場合 ピン 明るさセンサ A2 スライダー A3 音センサ A4 ミノムシクリップ端子 A5 ボタン 12 白色 LED 13 赤外線 LED 11 超音波センサソケット 11 加速度/ジャイロ ブザー M1:モータ1 4 9 6(PWM) 0.5A 程度 M2:モータ2 7 8 5(PWM) 0.5A 程度 M3:モータ3 0 1 11(PWN) 0.5A 程度 M4:モータ4 10 12 13(PWN) 0.5A 程度 LCD:液晶表示 12C 2-SDA 3-SCL RDC-104TYPE II

Upload: others

Post on 11-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: STEM DU とArduino のプログラム例yyhome/Arduino/ArduBlock_program.pdf1 (作成:江澤良孝) STEM DU とArduino のプログラム例 ボードのピンアサインの例(基板によって異なる)

1

(作成:江澤良孝)

STEM DU と Arduino のプログラム例

ボードのピンアサインの例(基板によって異なる)

RDC-104R4 の場合

ピン

明るさセンサ A2

スライダー A3

音センサ A4

ミノムシクリップ端子 A5

ボタン 12

白色 LED 13

赤外線 LED 11

超音波センサソケット 11

加速度/ジャイロ -

ブザー -

M1:モータ1 4 9 6(PWM) 0.5A 程度

M2:モータ2 7 8 5(PWM) 0.5A 程度

M3:モータ3 0 1 11(PWN) 0.5A 程度

M4:モータ4 10 12 13(PWN) 0.5A 程度

LCD:液晶表示 12C 2-SDA 3-SCL

RDC-104TYPE II

Page 2: STEM DU とArduino のプログラム例yyhome/Arduino/ArduBlock_program.pdf1 (作成:江澤良孝) STEM DU とArduino のプログラム例 ボードのピンアサインの例(基板によって異なる)

2

Page 3: STEM DU とArduino のプログラム例yyhome/Arduino/ArduBlock_program.pdf1 (作成:江澤良孝) STEM DU とArduino のプログラム例 ボードのピンアサインの例(基板によって異なる)

3

ArduBlock のプログラム例1,2)

(1)LEDを点滅させる一番簡単なプログラム

Stem Duの C言語だと

#include <STEMDu.h>

STEMDu _STEMDU_robot = STEMDu();

void setup()

{

_STEMDU_robot.init();

}

void loop()

{

_STEMDU_robot.led((bool)HIGH);

delay( 1000 );

_STEMDU_robot.led((bool)LOW);

delay( 1000 );

}

(2)デジタル値をポート(ピン)に設定する場合

Arduino C言語だと

void setup(){

pinMode(13,OUTPUT);

}

void loop(){

digitalWrite(13,HIGH);

delay(1000);

digitalWrite(13,LOW);

delay(1000);

}

Stem DU C言語だと

void __ardublockDigitalWrite(int pinNumber, boolean status)

{

pinMode(pinNumber, OUTPUT);

digitalWrite(pinNumber, status);

Page 4: STEM DU とArduino のプログラム例yyhome/Arduino/ArduBlock_program.pdf1 (作成:江澤良孝) STEM DU とArduino のプログラム例 ボードのピンアサインの例(基板によって異なる)

4

}

void setup()

{

}

void loop()

{

__ardublockDigitalWrite(13, HIGH);

delay( 1000 );

__ardublockDigitalWrite(13, LOW);

delay( 1000 );

}

Arduino:1.8.9 (Windows 10), ボード:"Arduino/Genuino Uno"

エラーメッセージ:

最大 32256バイトのフラッシュメモリのうち、スケッチが 962バイト(2%)を使っています。

最大 2048バイトの RAMのうち、グローバル変数が 9バイト(0%)を使っていて、ローカル変数

で 2039バイト使うことができます。

シリアルポートが選択されていません。

「ファイル」メニューの「環境設定」から

「より詳細な情報を表示する:コンパイル」を有効にするとより詳しい情報が表示されます。

(3)モーターの回転,停止を繰り返す

STEM DU の C 言語だと

#include <STEMDu.h>

STEMDu _STEMDU_robot = STEMDu();

void setup()

{

_STEMDU_robot.init();

}

void loop()

{

_STEMDU_robot.forwardM1M2(200);

delay( 3000 );

_STEMDU_robot.stopM1M2();

delay( 2000 );

}

エラーメッセージ

Arduino:1.8.9 (Windows 10), ボード:"Arduino/Genuino Uno"

sketch_jul14a:1:20: error: STEMDu.h: No such file or directory

compilation terminated.

exit status 1

STEMDu.h: No such file or directory

Page 5: STEM DU とArduino のプログラム例yyhome/Arduino/ArduBlock_program.pdf1 (作成:江澤良孝) STEM DU とArduino のプログラム例 ボードのピンアサインの例(基板によって異なる)

5

「ファイル」メニューの「環境設定」から

「より詳細な情報を表示する:コンパイル」を有効にすると

より詳しい情報が表示されます。

M1,M2 コネクタに接続したモータを回転させるArduino Cの例は10)

/*

DC motor control sample for RDC.

6.2018 Atsushi Hasegawa

Modified by Yoshitaka Ezawa

Connect the motor to the M1/M2 socket

Motor driver setting H:HIGH L:LOW

IN1 IN2 PWM

H H H/L short brake

L H H CCW(counterclockwise) /PWM = L short brake

H L H CW(clockwise) /PWM = L short brake

L L H stop

*/

// Motor driver pin assign for RDC-104 M1/M2.

int M1_1 = 4;

int M1_2 = 9;

int M1_PWM = 6;

int M2_1 = 7;

int M2_2 = 8;

int M2_PWM = 5;

// the setup routine runs once when you press reset:

void setup() {

// initialize the digital pin as an output.

pinMode(M1_1, OUTPUT);

pinMode(M1_2, OUTPUT);

pinMode(M1_PWM, OUTPUT);

pinMode(M2_1, OUTPUT);

pinMode(M2_2, OUTPUT);

pinMode(M2_PWM, OUTPUT);

}

// the loop routine runs over and over again forever:

void loop() {

digitalWrite(M1_1, HIGH);

digitalWrite(M1_2, LOW);

analogWrite(M1_PWM, 200); // PWM 0~255

digitalWrite(M2_1, HIGH);

digitalWrite(M2_2, LOW);

analogWrite(M2_PWM, 200); // PWM 0~255

delay(3000);

digitalWrite(M1_1, LOW);

digitalWrite(M1_2, LOW);

analogWrite(M1_PWM, 0); // PWM 0~255

digitalWrite(M2_1, LOW);

digitalWrite(M2_2, LOW);

analogWrite(M2_PWM, 0); // PWM 0~255

delay(2000);

}

Page 6: STEM DU とArduino のプログラム例yyhome/Arduino/ArduBlock_program.pdf1 (作成:江澤良孝) STEM DU とArduino のプログラム例 ボードのピンアサインの例(基板によって異なる)

6

(4)モーターの回転を逆回転させたりする

(5)いろんなコマンドで動かしてみたら

Page 7: STEM DU とArduino のプログラム例yyhome/Arduino/ArduBlock_program.pdf1 (作成:江澤良孝) STEM DU とArduino のプログラム例 ボードのピンアサインの例(基板によって異なる)

7

(6)音を測定

測定結果は,

「ツール」→「シリアルモニタ」

で表示される.

(7)音が鳴ったらモーターが動く

参考文献

1)埼玉大学,STEM Du 関連資料

2)埼玉大学,富士見☆研究室,富士見市ロボットと未来研究会,STEM Du 関連資料

3)http://www.stem-edulab.org/htdocs/index.php?page_id=38

4)https://sites.google.com/site/japanrobotech2/RDC

5)https://github.com/tairo/STEMDu_ArduinoIDE

6)https://github.com/tairo/STEMDu_Scratch14

7)福田 和宏著,これ 1 冊でできる!Arduino ではじめる電子工作 超入門 改訂第 3 版

ソーテック社(2018/6/16)

8)Massimo Banzi 他著,Arduino をはじめよう 第 3 版 (Make:PROJECTS)

(2015/11/28)

9)https://sites.google.com/site/japanrobotech2/program

10)Japan Robotech Ltd. RoboDesigner User’s Guide ver4.03