You are currently reviewing an older revision of this page.
このドキュメントは「GR-SAKURAスタートガイド」に掲載している作例についてのものです。
クラウド開発環境に、ソースコードの内容をコピー&ペーストして使用して下さい。
ソースコード
#include <rxduino.h>// 基板上のピンの番号に名前をつけます// 以後、プログラム上では button1 と書けば、0番のピンを指していることになります#define button1 0#define button2 1#define button3 2#define spaeker 8// setup() は最初に一回だけ実行されるところです// ピンの初期化などに使いますvoid setup(){ // ボタンが押されたことを感知するためにピンを入力モードにします // PULLUP とすることで常に入力がHIGH(電気が流れている状態)になります pinMode( button1, INPUT_PULLUP ); pinMode( button2, INPUT_PULLUP ); pinMode( button3, INPUT_PULLUP ); // スピーカーは出力になりますので OUTPUT とします pinMode( spaeker, OUTPUT);}// loop() は繰り返し実行されるところです// ここにプログラムの本体を記述しますvoid loop(){ // ボタンが押されるとGNDに繋がります // そのため、ピンに流れていた電気がGNDに流れるのでピンはLOW(電気が流れていない状態)になります。 // ここではそれぞれのピンの状態を調べて、LOWだったらtone()を使ってスピーカーから音を出す処理をしています。 if( digitalRead( button1 ) == LOW ) { tone( spaeker, 262 ) ; // ド } else if( digitalRead( button2 ) == LOW ) { tone( spaeker, 294 ) ; // レ } else if( digitalRead( button3 ) == LOW ) { tone( spaeker, 330 ) ; // ミ } else { noTone( spaeker ) ; } // このまま loop() の最初に戻りますが、delay(10)とすることで10ミリ秒処理を止めています。 // 一見不要に見えますが、これが無いと音がきれいに鳴りません。 delay(10) ;}
#include <rxduino.h>
// 基板上のピンの番号に名前をつけます
// 以後、プログラム上では button1 と書けば、0番のピンを指していることになります
#define button1 0
#define button2 1
#define button3 2
#define spaeker 8
// setup() は最初に一回だけ実行されるところです
// ピンの初期化などに使います
void setup()
{
// ボタンが押されたことを感知するためにピンを入力モードにします
// PULLUP とすることで常に入力がHIGH(電気が流れている状態)になります
pinMode( button1, INPUT_PULLUP );
pinMode( button2, INPUT_PULLUP );
pinMode( button3, INPUT_PULLUP );
// スピーカーは出力になりますので OUTPUT とします
pinMode( spaeker, OUTPUT);
}
// loop() は繰り返し実行されるところです
// ここにプログラムの本体を記述します
void loop()
// ボタンが押されるとGNDに繋がります
// そのため、ピンに流れていた電気がGNDに流れるのでピンはLOW(電気が流れていない状態)になります。
// ここではそれぞれのピンの状態を調べて、LOWだったらtone()を使ってスピーカーから音を出す処理をしています。
if( digitalRead( button1 ) == LOW ) {
tone( spaeker, 262 ) ; // ド
} else if( digitalRead( button2 ) == LOW ) {
tone( spaeker, 294 ) ; // レ
} else if( digitalRead( button3 ) == LOW ) {
tone( spaeker, 330 ) ; // ミ
} else {
noTone( spaeker ) ;
// このまま loop() の最初に戻りますが、delay(10)とすることで10ミリ秒処理を止めています。
// 一見不要に見えますが、これが無いと音がきれいに鳴りません。
delay(10) ;
配置図
#include <rxduino.h> // 基板上のピンの番号に名前をつけます // 以後、プログラム上では LED と書けば、3番のピンを指していることになります #define LED 3 #define READPIN 0 // setup() は最初に一回だけ実行されるところです // ピンの初期化などに使います void setup() { // LED は出力になりますので ピンのモードを OUTPUT とします。 pinMode( LED, OUTPUT ); } // loop() は繰り返し実行されるところです // ここにプログラムの本体を記述します void loop() { // 値を一時的の保管するための変数を定義します int val ; // センサー(圧電スピーカー)から読み込んだ値を変数に入れます val = analogRead( READPIN ); // 小さい音に反応させたいので、0から10までの値を0から255に引き伸ばします val = map( val, 0, 10, 0, 255 ); // 調整された値をLEDの出力に使います // これで音に反応して LED が光ります analogWrite( LED, val ); }