簡單的高靈敏度光探測器,在黑暗中保持約10uA左右的功耗電流;收光線后,喚醒單片機,控制音樂芯片工作播放音頻,同時點亮指示燈;圖中的430單片機是MSP430G2553,換用更小的F201X系列也能滿足使用要求。光敏器件使用的是5539;可以換用光敏器件與分壓電阻大小調整靈敏度。
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
677e739d6c5ee385e3e2ac8225dcc19.png (52.55 KB, 下載次數: 92)
下載附件
PCB圖(槽用來安裝電池)
2019-1-27 20:05 上傳
d53334047858ff83a820f47a18a6ee1.png (57.62 KB, 下載次數: 73)
下載附件
電路圖
2019-1-27 20:05 上傳
0.png (8.46 KB, 下載次數: 71)
下載附件
2019-1-28 01:43 上傳
單片機源程序如下:
- /*********************************************************
- 功能:光敏電阻變化,檢測比較器電平,驅動喇叭發音及LED燈發光
- 器件:MSP430G2553單片機
- P1.6為輸入,上升沿觸發中斷;
- P1.0與P1.1輸出高電平;
- *********************************************************/
- #include "msp430g2553.h"
- void delay5s(void) //誤差 -0.5us,測試時用,可直接用430自帶的delay_cycles函數準確延時
- {
- unsigned char a,b,c;
- for(c=231;c>0;c--)
- for(b=229;b>0;b--)
- for(a=150;a>0;a--);
- }
- void main(void)
- {
- WDTCTL = WDTPW+WDTHOLD; //關閉看門狗定時器
- if (CALBC1_8MHZ ==0xFF || CALDCO_8MHZ == 0xFF)
- {
- while(1);//掛起
- }
- BCSCTL1 = CALBC1_12MHZ;
- DCOCTL = CALDCO_12MHZ;
- BCSCTL2 |= 0; //MCLK AND SMCLK == DCO, DIVIDER == 1不分頻
- P1DIR=BIT0|BIT1; //P1.5準備輸出脈沖波
- P1OUT=0;
- P1IE|=BIT6;
- P1IES&=~BIT6; //P1.0上升沿觸發進中斷
- P1IFG=0;
- _EINT();
- LPM3; //進入低功耗模式
- }
- #pragma vector = PORT1_VECTOR
- __interrupt void PORT1_ISR(void)
- {
- P1IE=0;
- if(P1IFG & BIT6)
- {
- P1OUT=BIT0|BIT1;
- delay5s();
- P1OUT=0;
- }
- P1IFG=0;
- P1IE|=BIT6;
- }
復制代碼
所有資料51hei提供下載:
光感應探測裝置.zip
(721.64 KB, 下載次數: 49)
2019-1-27 20:06 上傳
點擊文件名下載附件
電路圖,PCB圖,程序 下載積分: 黑幣 -5
|