導航:首頁 > 操作系統 > 基於單片機的智能照明系統設計

基於單片機的智能照明系統設計

發布時間:2023-09-17 07:54:09

㈠ 基於單片機設計智能台燈,需要哪些元器件,詳細一點的。

1、測人體的話可以選擇人體紅外感測器,當光束被擋時輸出高電平,這種感測器有一種半成品,輸出也是脈沖的,當有人時輸出3。5V高電平維持3秒,如人沒有離開就繼續輸出,人離開後就變成低電平。
2、測光源基本上用光敏電阻就可以了,將光敏電阻附加三極體等元件做成一個光敏感測器,一旦光強低於某個值就向單片機返回一個高/低電平信號,由單片機處理。
3、單片機用51即可,輸出引腳上連一個7407,然後連到繼電器上即可。
4、其實也可以不用單片機的,只要一個邏輯晶元就可以了,比如如果高電平時有人,高電平時光弱,那麼只要將這兩個信號送到一個與門就可以了,與門輸出一個高電平,然後驅動繼電器即可!
希望能幫到你,對於這個東西你可以分成幾個模塊,一個模塊一個模塊搞定再綜合,多在網上搜索一下,網上有大量的資料可以借鑒,加油!

㈡ 51 單片機的智能台燈設計要求

智控台燈,智能家居大肆興起後的衍生品,智控台燈可以講將信號接收線埋藏於垂直的燈臂中,無形而有力地將信號放大。黑白分明的利落氣質,簡潔至上的線條輪廓,讓這盞美觀實用的台燈可以出現在任意多變的場合。此外,既然擁有了WiFi延長的功能。於是吸取其WiFi控制的思路,賦予它智能化的操作,只要下載一個APP到手機,就能遠程式控制制家中的WiFi與燈光。
智控台燈[1]趨避無語相比獨立的小插件,選擇了將WiFi延長隱藏於必需品台燈中,有別於傳統WiFi延長器生硬突出的天線,凌亂的設計,不堪入目的擺放,而智能台燈將信號接收線埋藏於垂直的燈臂中,無形而有力地將信號放大。
定時開關燈、控制上網時長、開關台燈……一切在指掌中輕松搞定,即使外出度假依然無憂,讓人感嘆原來科技可以讓生活如此便捷。更貼心的是,燈底座側邊,還設置了USB直充插口,不用打開電腦,直接為各種設備充電,更方便了在床頭使用。所有的考量,只是為了更便利的使用,從以人為本的設計理念出發,讓家看起來更加美觀舒適。
糾錯
參考資料

㈢ 求基於單片機的智能照明系統的程序設計

這是我做的光敏電阻電壓採集設計,可以將監測到的電壓值顯示在led上面,同時也能把它發給PC,用串口調試就能接受,4800b/s裡面可能對你有些啟發

/*-------------------------------------------------------------------------
AD0809的工作頻范圍為10KHZ-1280KHZ,當頻率范圍為500KHZ時,其轉換速度為128us
飛翔的雄鷹-----2010.11.27
電路連接為直通型,a,b,c直接接地,選擇模擬輸入0通道
更改情況:增加了與PC的串列通訊
將P3.0和P3.1讓出換為P3.6和P3.7 2010.11.29
---------------------------------------------------------------------------*/

#include<reg52.h>
unsigned char t,m,s,x,ior,cn; //電子表的各個位信號 x顯示字位置控制
unsigned int foat,i; // 6位有效數字eg:4.56845
unsigned char ior;
unsigned char a[5]={0,0,0,0,0}; //注意5個數數組內是5而不是4
sbit start=P3^4; //啟動AD
sbit OE=P3^7; //啟動輸出數據
sbit EOC=P3^3; //轉換結束
sbit CLK=P3^6; //AD始終模擬
bit Recdat;
code unsigned char ledcod[]={0x7e,0x12,0xbc,0xb6,0xd2,0xE6,0xee,0x32,0xfe,0xf6};
code unsigned char ledcod1[]={0x7f,0x13,0xbd,0xb7,0xd3,0xE7,0xef,0x33,0xff,0xf7};//帶小數點的字形碼
/*------------------------------------------------
定時器初始化子程序
------------------------------------------------*/
void Init_Timer0(void)
{
TMOD |=0x02;
TH0=0xd1;
TL0=0xd1; //定時0.05ms
EA=1;
ET0=1;
TR0=1;
}
/*------------------------------------------------
串口初始化子程序
------------------------------------------------*/
void InitCom(void) //初始化串口
{
SCON|=0x50; //0101 0000B,工作方式1,8位UART,波特率可變,允許接收
TMOD|=0x20; //T1工作於方式2自動重裝
TCON|=0x40; //定時器1開始計數TR1=1
TH1=250; //T1計數初值 波特率為4800
TL1=250;
RI=0;TI=0; //清發送接收標志
ES=1; // 開串口
}
/*--------------------------------------------------
顯示子程序
---------------------------------------------------*/
void display(unsigned char num)
{

switch(num)
{
case 0:
{
ior=foat/10000; //3
a[0]=ior;
P1=ledcod1[ior];
P0=0x7e;
x++;
}
break;
case 1:
{
ior=(foat-10000*a[0])/1000;
P1=ledcod[ior];
a[1]=ior; //5
P0=0xfd;
x++;
}
break;
case 2:
{
ior=(foat-10000*a[0]-1000*a[1])/100;
P1=ledcod[ior];
a[2]=ior; //3
P0=0xfb;
x++;
}
break;
case 3:
{
ior=(foat-10000*a[0]-1000*a[1]-100*a[2])/10;
P1=ledcod[ior];
a[3]=ior; //1
P0=0xf7;
x++;
}
break;
case 4:
{
ior=foat-10000*a[0]-1000*a[1]-100*a[2]-10*a[3]; //6
P1=ledcod[ior];
a[4]=ior;
P0=0xef;
x++;
}
break;
case 5:
{
ior=foat-10000*a[0]-1000*a[1]-100*a[2]-10*a[3]; //6
P1=ledcod[ior];
P0=0xdf;
x++;
}
break;
default:
break;
}
}
/*------------------------------------------------
串口發送
------------------------------------------------- */
void ComOut(void) //向串口發送數據
{ unsigned char i;
for(i=0;i<5;i++)
{
SBUF=a[i]; //發送數據t
while(!TI); //等待發送完成
TI=0;
}
SBUF=0x0;
while(!TI); //等待發送完成
TI=0;
SBUF=0x0;
while(!TI); //等待發送完成
TI=0;
SBUF=0x0;
while(!TI); //等待發送完成
TI=0;
}
/*-----------------------------------------------------
延時函數
------------------------------------------------------*/
void delay(unsigned int i)
{
while(i--);
}
/********************主函數************************/
main()
{
Recdat=0;
x=0;
P2=0xff; //P2口工作於讀,所以先寫1,阻斷內部的cmos
EOC=1; //
Init_Timer0();
InitCom();
while(1)
{
if(i==79) //開始的時候這里沒加采樣時間(79*0.05=3.94ms),導致始終無法采樣到信號
{
delay(8000); //為了使數碼管的數字讓人眼能夠分辨。增加了這個延時
start=0;
start=1; //AD在上升沿復位,在下降沿開始轉換(ST端給出一個至少有100ns寬的正脈沖信號 )
start=0;
}
delay(8); //轉換時間為20us
if(EOC==1) //查詢高電平的到來。轉換完畢AD0809的EOC會輸出一個高電平
{
OE=1; //打開--將數據發出到單片機的P2口
delay(2);
foat=P2*196;
OE=0; //輸出數據線呈高阻狀態
}
if(Recdat)
{
Recdat=0;
ComOut();
}

}

}
/*****************************************************/
/*------------------------------------------------
定時器中斷子程序
------------------------------------------------*/
void Timer0_isr(void) interrupt 1 using 2
{
i++;
CLK=~CLK; //為AD轉換提供時鍾周期 0.05ms 20khz
if(i==80) //每0.05ms*50=2.5ms 調用一次顯示
{
i=0;
if(x==6)
{ x=0;}
display(x);
}
}
/*---------------------------------------------------
串口中斷接收
----------------------------------------------------*/
void ComINT() interrupt 4 using 2 //中斷接收程序
{
if(RI) //判斷是否接收完,接收完成後,由硬體置RI位
{
cn=SBUF; //讀入緩沖區
RI=0; //清標志
Recdat=1; //有數據,建立標志
}
}

㈣ 基於單片機的路燈控制

簡單。如果是基於時間的加個RTC時鍾電路,最好是能有紐扣電池,掉電後時間不變。最好是加個根據亮度能自動亮的電路,就是說在白天如果光線太暗,也可以自己亮,就是說加個光感測器。如果你要調光的,需要加個DAC電路,然後路燈上需要加根據你的DAC的輸出,進行路燈電壓或者電流調整的模塊。如果你要輪流熄滅就簡單些。如果你兩盞輪流熄滅就兩盞一組,三盞輪流滅就三盞一組,只需要單片機的IO口輪流高電平就行。但需要在路燈上加繼電器。

你要先根據你所需要的介面選好單片機,然後再選外圍電路的晶元或模塊。原理圖就沒有了,論文還是你自己寫吧。網上找找看有沒有類似的吧。

㈤ 基於單片機的智能照明控制系統設計與實現

你好!

1、單片機的智能照明控制系統,需要具體功能要求
2、確定具體單片機型號
3、是否和光照關聯燈光控制
4、實物還是模擬,都可以具體要求製作完成

閱讀全文

與基於單片機的智能照明系統設計相關的資料

熱點內容
javamap底層 瀏覽:263
賣華為雲伺服器 瀏覽:105
中穎單片機燒錄器 瀏覽:841
pdf轉換成圖片免費軟體 瀏覽:454
編程語言怎麼做出來的 瀏覽:617
文件夾英文名排序 瀏覽:56
西二旗最高程序員 瀏覽:99
台灣寫真內部加密無刪減視頻 瀏覽:830
在線照片壓縮變小 瀏覽:654
隱藏配置文件夾 瀏覽:186
php分布式模塊化開發 瀏覽:389
wula是什麼app 瀏覽:832
豌豆莢里怎麼降低安卓手機版本 瀏覽:371
桌面的文件夾怎樣解散 瀏覽:796
貴州貴陽山洞伺服器雲空間 瀏覽:221
年薪48萬程序員老公 瀏覽:917
使用預構建的python 瀏覽:532
加密對沖基金交易有限公司 瀏覽:357
煙台製冷壓縮機價格 瀏覽:249
平板能用騰訊雲伺服器嗎 瀏覽:867