*準備 [#n38f875b]
-専用のライブラリは特にないので、デジタルIOポートとアナログIOポートを読み書きして利用する。

*ピン配置 [#f4b08063]
-デジタルIOポート
|Arduinoポート|接続先|機能|
|6|SW1|プッシュスイッチ|
|7|SW2|プッシュスイッチ|
|8|SW3|プッシュスイッチ|
|10|LED2|LED|
|11|SOUNDER|圧電サウンダー|
|13|LED1|LED|

-アナログIOポート
|Arduinoポート|接続先|機能|
|A4|PHOTO-TR|光センサ|
|A5|TEMP/VR2|温度センサ、可変抵抗器(JP5で切り替え)|
*初期化 [#z41b869e]
-各機能の説明を参照
*LED [#zdeb37b0]
-デジタルの10pinと13pinにHIGH/LOWを書き込むことで点灯/消灯させることができる。
-サンプルコード
 #define led1 13 //ピン番号を定義
 #define led2 10 //ピン番号を定義
 
 void setup()
 {
   pinMode(led1, OUTPUT); //ピンを出力に設定
   pinMode(led2, OUTPUT); //ピンを出力に設定
 }
 
 void loop()
 {
   digitalWrite(led1, HIGH); //LED1を点灯
   digitalWrite(led2, LOW);  //LED2を消灯
   delay(100); //500ms待つ
   digitalWrite(led1, LOW);  //LED1を消灯
   digitalWrite(led2, HIGH); //LED2を点灯
   delay(100); //500ms待つ
 }
*圧電サウンダ [#x0b9aa63]
-デジタルの11pinにHIGH/LOWを書き込むことで音を鳴らすことができる。
-サンプルコード
--自分でHIGH/LOWを書き込む
 #define buzzer 11 //ピン番号を定義
 
 void setup()
 {
   pinMode(buzzer, OUTPUT); //ピンを出力に設定
 }
 
 void loop()
 {
   digitalWrite(buzzer, HIGH); //buzzerピンをHIGH
   delayMicroseconds(1900);    //1.9ms待つ
   digitalWrite(buzzer, LOW);  //buzzerピンをLOW
   delayMicroseconds(1900);    //1.9ms待つ
 }

--PWM出力を使用する
 #define buzzer 11 //ピン番号を定義
 
 void setup()
 {
   pinMode(buzzer, OUTPUT); //ピンを出力に設定
 }
 
 void loop()
 {
   analogWrite(buzzer, 100);  //PWM出力 0(常にオフ)から255(常にオン)の間のデューティー比 
 }

--toneライブラリを利用する
 #include "pitches.h" //toneライブラリをインクルード
 #define buzzer 11 //ピン番号を定義
 
 void setup()
 {
   //特になし
 }
 
 void loop()
 {
   tone(buzzer, NOTE_C4, 250); //ド
   delay(250 * 1.30);
   tone(buzzer, NOTE_D4, 250); //レ
   delay(250 * 1.30);
   tone(buzzer, NOTE_E4, 250); //ミ
   delay(250 * 1.30);
   tone(buzzer, NOTE_F4, 250); //ファ
   delay(250 * 1.30);
   tone(buzzer, NOTE_G4, 250); //ソ
   delay(250 * 1.30);
   tone(buzzer, NOTE_A4, 250); //ラ
   delay(250 * 1.30);
   tone(buzzer, NOTE_B4, 250); //シ
   delay(250 * 1.30);
   tone(buzzer, NOTE_C5, 250); //ド
   delay(250 * 1.30);
 }
*プッシュスイッチ [#ycc8452c]
-デジタルの6~8ピンの状態を読むことでスイッチの状態を得ることができる。
-サンプルコード
 #define sw1 6 //ピン番号を定義
 #define sw2 7 //ピン番号を定義
 #define sw3 8 //ピン番号を定義
 #define led1 13 //ピン番号を定義
 
 void setup() {
   pinMode(sw1, INPUT);   //ピンを入力に設定
   pinMode(sw2, INPUT);   //ピンを入力に設定
   pinMode(led1, OUTPUT); //ピンを出力に設定
 }
 
 void loop() {
   if (digitalRead(sw1) == LOW) {
     digitalWrite(led1, LOW); //SW1が押されていたらLED1を消灯
   }
   if (digitalRead(sw2) == LOW) {
     digitalWrite(led1, HIGH); //SW2が押されていたらLED1を点灯
   }
 }
*光センサ [#c3ad283b]
-アナログのA4ポートを読み込むことでセンサの値を読むことができる。
-サンプルコード(以下を参照)
*温度センサ [#sfa314f0]
-アナログのA5ポートを読み込むことでセンサの値を読むことができる。
-ジャンパーピンJP5はTEMP側に設定。
-サンプルコード([[マイクロファンラボ>http://www.microfan.jp/clcd-booster/sensorのサイトより]])
-サンプルコード([[マイクロファンラボ>http://www.microfan.jp/clcd-booster/sensor]]のサイトより)
 #include <LiquidCrystal.h>
 #define  VCC  5.03  // 基準電圧
 #define  PHOTO_SENSOR  4  // アナログ4
 #define  TEMP_SENSOR  5   // アナログ5
 
 LiquidCrystal clcd(4, 3, 14, 15, 16, 17); // Arduino-0017以降
 
 void setup()
 {
   clcd.begin(16, 2) ; // Arduino-0017以降は追加
   clcd.clear() ;
 }
 
 void loop()
 {
   int v ;
   float temp ; // 温度の計算は実数で
 
   clcd.clear() ;
 
   v = analogRead(PHOTO_SENSOR) ;
   clcd.setCursor(0,0) ;
   clcd.print("\261\266\331\273 ") ;  // アカルサ
   clcd.print(v) ;
 
   v = analogRead(TEMP_SENSOR) ;
   clcd.setCursor(0,1) ;
   clcd.print("\265\335\304\336 ") ;  // オンド
   clcd.print(v) ;
 
   temp = VCC / 1024 * v ;  // 読み取った値を電圧に換算
   temp -= 0.4 ;  // 温度センサーの0度のオフセット:400mV
   temp /= 0.01953 ; // 1度あたり19.53mVの電圧増加
   clcd.setCursor(9,1) ;
   clcd.print(temp) ; // 小数点以下2桁まで出るみたいだけど精度的には意味はない
   clcd.print("\337C") ; // 度C
 
   delay(100) ;
 }
*可変抵抗器 [#i15e84d4]
-アナログのA5ポートを読み込むことでセンサの値を読むことができる。
-ジャンパーピンJP5はVR側に設定。
----
&size(12){Total:&counter(total); / Today:&counter(today); / Yesterday:&counter(yesterday);};

トップ   差分 バックアップ リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS