RDCの機能を試してみましょう。
Arduinoのメニューの「スケッチ例」のピン番号を修正する場合と、RDC用のサンプルスケッチ「RDC_samples」の例があります。
「RDC_samples.zip」「RDC_ArdublockSamples.zip」は、このページの一番下からダウンロードしてください。
展開して自分のArduinoフォルダ(OSX:書類/Arduino Windows:ドキュメント/Arduino)の中に入れてください。
準備とプログラムの書き込み方はこちら プログラムをはじめよう
1.ボタン
ボタン(12番ピン)を押すとLED(13番ピン)が点灯します。
メニューの「ファイル」から「スケッチの例」>「02.Digital」>「DigitalInputPullup」を開きます。
「pinMode(2, INPUT_PULLUP)」と「digitalRead(2)」のピン番号を2から12に修正して書き込みます。
ArduBlockの場合は、内容が上書きされてもよいファイルの上でArduBlockを起動します。
「開く」ボタンを押して「b01_RDC_Button_LED.abp」を開きます。
2.アナログセンサー
RDCの4つのセンサ(明るさ/スライダー/音/抵抗センサ)からアナログポートへの入力をシリアルモニタで確認します。
メニューの「ファイル」から「スケッチの例」>「01.Basics」>「AnalogReadSerial」を開きます。
「AnalogRead(A0)」のピン番号を各センサーのピン番号に修正して書き込みます。
(RDC-104:明るさA2/スライダーA3/音A4/抵抗センサーA5 RDC-103:明るさA4/スライダーA5/音A0/抵抗センサA3)
このボタンを押してシリアルモニタを開きます。
ArduBlockは「b02a_RDC_AnalogRead.abp」を開きます。
アナログ入力A0~A5までの値をまとめてシリアルモニタに出力することもできます。
メニューの「ファイル」から「スケッチブック」>「RDC_samples」>「c02_RDC_AnalogReadSensors」を開いて書き込みます。
ArduBlockは「02b_RDC_AnalogReadSensors.abp」を開きます。
3.超音波センサー
超音波センサーで対象物までの距離を計測します。
超音波センサーをPINGソケットに差し込みます。ピンの名前を間違えないように接続します。
メニューの「ファイル」から「スケッチの例」>「06.Sensors」>「Ping」を開きます。
「const int pingPin = 7」のピン番号を7から11に修正して書き込みます。
このボタンを押してシリアルモニターを開きます。
ArduBlockは「b03_RDC_Ping.abp」を開きます。
※モーターの動きなどでdelay関数を同時に使用する場合、待ち時間の長さによって計測がうまくいかなくなるので注意が必要です。
4.赤外線測距
赤外線LED(11番ピン)と明るさセンサー(A2ピン)で距離を計測します。
メニューの「ファイル」から「スケッチブック」>「RDC_samples」>「c04_RDC_IRdistance」を開いて書き込みます。
シリアルモニタボタンを押してセンサから対象物までの距離をシリアルモニタで確認します。
ArduBlockは「b04_RDC_IRdistance.abp」を開きます。
5.モーター
モーターを回転させます。2つのモーターと車輪をつけると前進(または旋回、後進)します。
モーターをM1/M2ソケットに接続します。
メニューの「ファイル」から「スケッチブック」>「RDC_samples」>「c05_RDC_Motor」を開いて書き込みます。
ArduBlockは「b05_RDC_Motor.abp」を開きます。
6.サーボ
サーボを回転させます。
サーボをデジタルポートに接続します。サーボのケーブルは茶色(または黒)がGです。
ピンは上からデジタル入出力ピン、V、Gの順に並んでいます。
メニューの「ファイル」から「スケッチの例」 > 「Servo」 > 「Sweep」を開きます。
「myservo.attach(9)」のピン番号を9からサーボを接続したピン番号に修正して書き込みます。
ArduBlockは「b06a_RDC_Servo.abp」を開きます。
ArduBlockでA0 ~ A4ピンを指定する場合はピン番号18 ~ 22で指定します。
スライダーの位置に応じてサーボを回転させます。
メニューの「ファイル」から「スケッチの例」 > 「Servo」 > 「Knob」を開きます。
「myservo.attach(9)」のピン番号を9からサーボを接続したピン番号に修正します。
「potpin = 0」のピン番号を0からA3(RDC-103はA5)に修正して書き込みます。
ArduBlockは「b06b_RDC_Servo_Slider.abp」を開きます。
7.I2C LCD(RDC-104 Type2/Type3+のみ)
LCDに基板搭載のアナログセンサーの値を表示します。
メニューの「ファイル」から「スケッチブック」>「RDC_samples」>「c07a_RDC_I2CLCD_Sensors」を開いて書き込みます。
ArduBlockは「b07_RDC_I2CLCD_Sensors.abp」を開きます。
乾電池1本の電圧と1K〜100KΩまでの抵抗値が計測できる簡易テスターです。
メニューの「ファイル」から「スケッチブック」>「RDC_samples」>「c07b_RDC_I2CLCD_Tester」を開いて書き込みます。
ArduBlock用のプログラムはありません。
8.コンパスセンサー QMC5883
コンパスセンサーで方位を計測します。
I2Cソケットにコンパスセンサーを差し込みます。ピンの名前を間違えないように接続します。
カスタムライブラリのサンプルを使用します。
メニューの「ファイル」から「スケッチの例」 > 「DFRobot_QMC5883」 > 「QMC5883_compass」を開いて書き込みます。
シリアルモニタボタンを押して方位をシリアルモニタで確認します。
ArduBlockは「b08_RDC_QMC5883.abp」を開きます。
9.加速度/ジャイロセンサー MPU-6050/MPU-9250
加速度/角速度を計測します。
I2Cソケットに加速度/ジャイロセンサーを差し込みます。
カスタムライブラリのサンプルを使用します。
メニューの「ファイル」から「スケッチの例」 > 「MPU6050」 > 「Examples」 > 「MPU6050_DMP6」を開いて書き込みます。
ライブラリを使わないスケッチは、「RDC_samples」>「c09a_RDC_MPU6050」または「c09b_RDC_MPU6050」を開いて書き込みます。
シリアルモニタボタンを押してデータをシリアルモニタで確認します。
ArduBlockは「b09_RDC_MPU6050.abp」を開きます。
加速度/ジャイロセンサを購入する(RDC-103は基板に搭載済)
10.ブザー
ブザーからメロディを出力します。
RDC-104は超音波用ソケットのTr(11番ピン)とGに圧電ブザーを差し込みます。
メニューの「ファイル」から「スケッチの例」 > 「02.Digital」 > 「toneMelody」を開きます。
「tone(8, melody[thisNote], noteDuration)」と「noTone(8)」のピン番号を8から11に修正して書き込みます。
ArduBlockは「b10_RDC_tone.abp」を開きます。
※tone関数は5番ピンのanalogWrite(M2のPWM速度制御)と干渉します。同時に使用することができません。
圧電ブザーを購入する(RDC-103は基板に搭載済)
その他
「RDC_samples」のその他のプログラムです。
RDC_Serial(シリアル通信でWifi基板など他のデバイスとシリアル通信します)
RDC_SPIGLCD_Sensors(RDC-103 Type2/Type3+のLCDにアナログセンサーの値を表示します)
RDC_SPIGLCD_Tester(RDC-103 Type2/Type3+用簡易テスター、電池電圧チェッカー+抵抗チェッカー)
Smallbot.ino(スモールボットの出荷時書き込み済みプログラム、機能別のArduBlock版もあります)
RDS_linetrace_1sensor.ino(RDC-104で明るさセンサーを使ってライントレースをするプログラム)
RDS_linetrace_1sensor_LCD.ino(ライントレースで、明るさセンサーの値とスライダーで決めたしきい値をLCDに表示します)