下手の横好きのスクラップブック!!

下手の横好きの、いろいろな記録です。
電子工作・PIC・Arduino・太陽光発電・写真などetc

Arduino RGB3色フルカラーLEDを3色順次点灯させる

2010-11-29 | Arduino

RGB3色フルカラーLEDは「光の3原色」赤、緑、青を組み合わせることで、多彩な色の発光ができるものです。
各色の明るさは各LEDの電流を調整することで変えることができます。
自然な白色は、赤(3):緑(7):青(1)の割合になります。
使用する注意点としては、1パックに3個のLEDが入っているので1個当たりの消費電力は1/3になります。
全体の消費電力が200mwですので、1個あたりは余裕を見て50mw程度になります。

ArduinoにはPWM(Pulse Width Modulation)機能を使って、出力を変えるanalogWriteが用意されています。
analogWriteは 0から255までの256段階を連続的に変化させることができます。
これを使ってLEDの電流を変化させ明るさを変えます。
analogWriteが使えるピンは、デジタル入出力ピンの内DIGITAL(PWM~)の表示がある
D3,D5,D6,D9,D10,D11の6つのピンのみで、今回はD9からD11までを使います。

接続図

スケッチ

/*RGB3色LEDを各色順番に点灯
点灯はフェードイン/フェードアウトで行う
*/

int ledr = 9;  //ピン9LED赤を接続
int ledb = 10;  //ピン10LED青を接続
int ledg = 11;  //ピン11LED緑を接続

void setup () {
}
//セットアップはなし
void loop () {
  //色の選択 0 = 赤: 1 = 青: 2 = 緑
  for(int j = 0; j <= 2; j++) {
    if( j == 0) {
      //赤をフェードインで点灯
      for(int i = 0; i <= 255; i += 5) {
        analogWrite(ledr,i);
        delay(30);
      }
      //赤をフェードアウトで消灯
       for(int i = 255; i >= 0; i -= 5) {
        analogWrite(ledr,i);
        delay(30);
       }
      //色の選択 0 = 赤: 1 = 青: 2 = 緑 
     }else if( j == 1) {
        //青をフェードインで点灯
       for(int i = 0; i <= 255; i += 5) {
        analogWrite(ledb,i);
        delay(30);
      }
       //青をフェードアウトで消灯
       for(int i = 255; i >= 0; i -= 5) {
        analogWrite(ledb,i);
        delay(30);
       }
    } else {
       //緑をフェードインで点灯
       for(int i = 0; i <= 255; i += 5) {
        analogWrite(ledg,i);
        delay(30);
      }
       //をフェードアウトで消灯
       for(int i = 255; i >= 0; i -= 5) {
        analogWrite(ledg,i);
        delay(30);
       }
    }
  }
}

完成ボード

         

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Arduino 14個のLEDを連続して点滅する

2010-11-27 | Arduino

14個のLEDを連続して点滅する

今回はデジタル入出力14本のピンにLEDを接続して連続して点滅させるスケッチを作成してみました。
接続図はつぎのとおりです。抵抗は本数が多いので1KΩx8の集合抵抗を2個使用しました。

スケッチは次のとおり作りました。

/***************************
/* 14個のLEDを順番に点滅
/***************************
void setup()
{
  // LEDを接続したピンを出力に設定
  for ( int i=0; i <=13; i++) {
  pinMode (i,OUTPUT);
  }
 
}

void loop()
{   
    
  // LEDを「ピン0」から「ピン13」の順番に点滅する
  for (int i =0; i<= 13; i++) {
    digitalWrite (i, HIGH);
    delay(100);
    digitalWrite(i,LOW);
    delay(10);    
  }

}


デジタル入出力ピンはfor文を使って、すべて出力に設定します。

再度for文を使ってLEDをピン0から順番に点灯ー消灯します

LEDの点滅時間は 100msに設定します。この数字を変えるとそれぞれのLEDの点灯時間を変えることができます。

LEDの点滅の間隔は10msに設定、この数字を変えると点滅間隔を変えることが出来ます。

完成したボード

 

Arduino
コメント (1)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Arduino スイッチでLEDを点滅

2010-11-22 | Arduino

初体験はボードのチェックを兼ねたLEDが点滅するスケッチでしたが、
さらに一歩進めてスイッチの入り切りでLEDを点滅する配線とスケッチに進みます。
配線は別図の通りで、スイッチ回路が増設になりピン7に接続されます。
スイッチがONの時ピン7はHIGHに、スイッチがOFFの時はLOWになります。
これをdigitalRead()の命令で読み取ります。
digitalRead()はカッコの中で指定したピンに電圧がかかっているかどうかをチェックし
結果をHIGHかLOWで返します。
その値を if文で判断しdigitalWrite()でLEDをオン/オフします。

接続図

スケッチは次のようになります。

//スイッチによりLEDを点滅させる

#define LED 13 //ピン13にLED
#define SW 7  //ピン7にスイッチ

int val = 0; //SWの状態を記録する変数

void setup() {               
 
  pinMode(LED, OUTPUT); //ピン7を出力に設定
  pinMode(SW, INPUT); //ピン7を入力に 
}

void loop() {
  val = digitalRead(SW);//スイッチの状態をvalに読み込む
 
  if (val == HIGH) {  //スイッチの状態がONならば
   
  digitalWrite(LED, HIGH);   //LEDを点灯する
  }else {                   //スイッチがOFFならば
  digitalWrite(LED, LOW);    //LEDを消灯する
  }
}

スイッチの代わりに光センサ(cdsセル)を入れて、スケッチの
LEDがON/OFFする部分を次の通り書き換えると、暗くなるとLEDが
点灯し明るくなると消灯します。
csdセルは周囲が暗いと抵抗値は高くなりスイッチとしてはOFFの状態、
周囲が明るくなると抵抗値は下がりスイッチとしてはONの状態になります。

digitalWrite(LED, LOW);   //LEDを消灯する
  }else {                   //スイッチがOFFならば
  digitalWrite(LED, HIGH);    //LEDを点灯する

明るい状態(LED消灯)           暗い状態(LED点灯)黒いテープでcdsを覆っている

 

 

コメント (4)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Arduino(アルドゥイーノ)の初体験

2010-11-20 | Arduino

Arduinoはコンピュータの専門知識がなくても使えると言うもので、単純な入出力機能を持ったボードと専用のソフトウエアで構成され、フィジカルコンピュティングと言われています。
イタリア生まれという事もあり若干とっつきにくい感がしておりましたが、今回意を決してチャレンジしてみました。株式会社オライリージャパン発行の本「Arduinoをはじめよう」を参考に進めています。

準備したもの
PC OS Windows XP(Windows7でも動作しました) 
Arduino UNO ボード(最近発売されたばかりのスタンダードボード)
Arduino IDE (Arduino Downloadページから無償でダウンロードできます。

  http://www.arduino.cc/en/Main/software
  今回ダウンロードしたバージョンは「Arduino-0021」

     

Arduinoを使用する準備

ダウンロードしたIDE(統合開発環境)はZIP形式で圧縮されているので、全て展開で解凍をし
Program file等に保存する。

ドライバーのインストール

ArduinoボードをUSBケーブルでPCに接続すると「新しいハードウエアが見つかりました」という
ウインドーが現れるのでその指示に従いドライバーをインストールする。
ドライバーの保存されている場所を指定するときは、Arduinoフォルダの中の「Drivers\FTDUSB Driver」を選ぶ

シリアルポートの確認

Windows XPでは「デバイスマネージャー」を表示し、ポート(COMとLPT)で表示される
COM番号を確認する。

   

ポート番号の設定
Arduinoを起動しポート番号を設定します。
メニューTools→SerialPort→確認したポート番号を設定

ボードの設定
メニューTools→Boad→Arduino UNOを選択
使用しているボードの設定、今回はArduino UNOを選択


LEDを点滅させる
Arduinoボードのデジタル入出力ピンの13番と14番にLEDを接続します
13番にアノード、14番(GND)にカソードを接続13番ピンには電流制限抵抗が内蔵されているので直接LEDを接続できます。

LEDを点滅させるスケッチ(Arduinoではプログラムのこと)はArduino IDEやボードが
正常に動作するかどうかチェックするプログラムで、Arduino IDEに準備されています。

fileメニューからExample→Basics/Blinkを開く
LED点滅のスケッチが表示される。

   

LED点滅のスケッチ
/*
 コメント
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain. 
 */

void setup() {
 //初期化プログラム              
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
  pinMode(13, OUTPUT);  //ピン13を出力に設定   
}

void loop() {
 //電源を切るまで繰り返し実行される
  digitalWrite(13, HIGH);   // set the LED on:ピン13をHIGH LEDを点灯する
  delay(1000);              // wait for a second:1秒待つ
  digitalWrite(13, LOW);    // set the LED off:ピン13をLOW LEDを消灯
  delay(1000);              // wait for a second:1秒待つ
}


Verify(コンパイラ)
通常スケッチを作成した時はVerifyでコンパイラを行います

Upload
今回はスケッチに間違いがないので、VerifyなしでいきなりUploadを行ってもOK
Done uploadingと表示されればOK

動作確認
アップロードされたスケッチが動作を始め、LEDが1秒間隔で点滅すればOK

 

 

 

 

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

盛岡城址公園の紅葉

2010-11-11 | 写真

 11月7日(日)盛岡城址公園に紅葉をミニ行ってきました。昨年を同じ日に出かけたのですが、今年は「モミジ」の一部がまだ緑色で、見頃には少し早いかなという感じでした。例年より色づきが遅れているようです。

公園内では「紅葉とモデル撮影会」が行われており、カメラを持った人がかなり多く見受けられました。

          

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

秋葉原、神田明神、湯島聖堂付近を散策

2010-11-08 | 旅行
 11月6日秋葉原に所用があり出かけたのですが、2時間ほど時間に余裕があったので近辺を散策してみました。秋葉原には電子部品の調達やらで時々行くのですが、いつも忙しくゆっくり散策するのは初めてのことです。
 歩道に掲示されている地図を頼りに、秋葉原から外神田、明神下、神田明神、昌平坂、湯島聖堂とめぐり戻ってきました。
 明神下から急な階段を登ると「神田明神」の境内に入りますが、当日は土曜日で天気も良かったので境内では、結婚式のカップルや七五三の親子が記念撮影する姿が多く見られました。
 更に御茶ノ水駅方面に向かうと「湯島聖堂」があります。こちらは静かな佇まいのなか参拝者・見学者が途切れず続いておりました。
 同じコースを戻り途中神田明神鳥居横の「天野屋」で甘酒を賞味し天然素材を使った自然の味でホット一息。
 最後に秋葉原で「DYI PC Expo in Akihabara」が入場無料で開催されておりましたので、これを見学し散策は終了となりました。

    
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

我が家の太陽光発電  2010年10月の発電量

2010-11-01 | 太陽光発電
 10月の気象データがまだ発表されておりませんが、我が家の計測値のみにて掲載します。
10月の発電量は昨年に比べて約55kwh少なくなっており、日射量が相当下がっているものと思われます。
 消費電力はほヾ昨年並です。1日当りの発電量の多い日でも夏場の発電量に比べて下がってきており、季節による低下傾向が見て取れます。太陽の高度(仰角)が下がってきたためで、
これから更に下がる時期になります。







 10月1日に気象庁から「10月の天候」が発表されました。それによると北・東日本太平洋側が月間で日照時間がかなり低く、盛岡では日照時間が122.8時間で平年比82%となった。
昨年は155.8時間で平年比105%でしたので、昨年に比べ33時間も低く発電量が大幅に下がったことになります。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする