<青色LED>
2014年ノーベル賞に輝いた青色LEDですが、今までLEDと言えば赤色LED、それも素子を覆う樹脂が赤色のものを
使っていました。
遅ればせながら、青、緑、赤の3色を購入して点灯させて見ました。(素子を覆う樹脂は透明です)
緑は輝度が他のLEDに比べて低いようですが、高輝度のものもあるようです。
左の画像をクリックして見てください。(点滅状態を見やすくするため、部屋を薄暗くしています)
動画は、色がはっきりしませんが、肉眼では上の静止画のようにはっきり分かります。
回路図
PICソース
----------------------------------------------------------------------
#include <pic.h>
#include <htc.h>
#include <stdio.h>
__CONFIG(PWRTEN & WDTDIS & MCLRDIS & INTIO);/*内部発振*/
//__CONFIG(PWRTEN & WDTDIS & MCLREN & HS);/*水晶発振*/
#define _XTAL_FREQ 31000
//#define _XTAL_FREQ 10000000
#define JIKAN 200
#define LEDTIME 150
ioport();
flug1();
flug2();
ledon();
int cnt=0;
int flug=0;
//SWの押し下げでスタート
//LEDのR、B、Gが点灯を5回繰り返して終わる
main()
{
OSCCON=0; //INTCONにするときに必要で0は31Khz
ioport();
while(1){
if(RA0==0 && flug==0)flug1();
if(RA0==1 && flug==1){
flug2();
ledon();
}
}//while
}//main
flug1()
{
__delay_ms(JIKAN);
flug=1;
}
flug2()
{
flug=0;
}//flug2
ledon()
{
int cnt=1;
do{
RB4=1;
__delay_ms(LEDTIME);
RB4=0;
__delay_ms(LEDTIME);
RB5=1;
__delay_ms(LEDTIME);
RB5=0;
__delay_ms(LEDTIME);
RB6=1;
__delay_ms(LEDTIME);
RB6=0;
__delay_ms(LEDTIME);
RB5=1;
__delay_ms(LEDTIME);
RB5=0;
__delay_ms(LEDTIME);
++cnt;
}while(cnt<=5);
}//ledon()
ioport()
{
ANSEL=0;
ANSELH=0;
TRISA=0xFF; /*PORTA全ピンを入力に設定*/
TRISB=0x00; /*PORTB全ピンを出力に設定*/
PORTA=0x00; /*PORTA全ピンをLに設定 16進*/
PORTB=0x00; /*PORTB全ピンをLに設定 16進*/
//PORTA=0b01010101; /*PORTAピンをLHLHLHLHに設定 2進*/
//PORTB=0b10101010; /*PORTBピンをHLHLHLHLに設定 2進*/
//PORTC=0b01010101; /*PORTCピンをLHLHLHLHに設定 2進*/
}
----------------------------------------------------------------------