找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 12251|回復(fù): 14
收起左側(cè)

基于51單片機(jī)的汽車大燈自動(dòng)控制

  [復(fù)制鏈接]
ID:293108 發(fā)表于 2018-7-24 15:38 | 顯示全部樓層 |閱讀模式
   最初接觸單片機(jī)就是自己想把自己的汽車改成自動(dòng)大燈(可能是自己懶,又可能是為了安全,但后面實(shí)際上耗費(fèi)了大量精力)。最開始是買了個(gè)開發(fā)板在家看教程學(xué)習(xí)了好幾天,然后就買了繼電器,8個(gè)一起的,但我因車的原因,只用了兩個(gè),所以大的開發(fā)板加上長(zhǎng)的繼電器放在車上換擋的地方,你們腦補(bǔ)一下有多亂多丑。經(jīng)過了一年多的升級(jí),做了最小系統(tǒng),把最初的光敏二極管換成了紅外線感應(yīng)器(自己焊接的感應(yīng)器),把8組繼電器換成了2個(gè),可以直接放在儀表臺(tái)下面。 ————————這里是正題————————-------功能:通過紅外線感應(yīng)器接收自然光,adc轉(zhuǎn)換器處理接收到的光的強(qiáng)度,再發(fā)送到51單片機(jī)處理,單片機(jī)通過設(shè)定好的判斷程序控制繼電器閉合,延時(shí)斷開。
-------材料:?jiǎn)纹瑱C(jī)最小系統(tǒng) 圖1(電路板+stc8952芯片)、紅外傳感 圖2、繼電器 圖3、pcf8591adc轉(zhuǎn)換器 圖4、車載usb充電器、usb充電線給單片機(jī) 供電用,所以要看好單片機(jī)的接口是哪種)、杜邦線若干。
------接線及燒寫:繼電器控制接口接單片機(jī)p1.4與p1.5,pcf8591的scl與sda分別接單片機(jī)的p2.1與p2.0,紅外感應(yīng)器out接口接pcf8591的AIN0或AIN1(兩個(gè)接口只有一個(gè)是正確的),其余的該接vcc的接vcc,該接gnd的接gnd(汽車部分接線不懂的請(qǐng)咨詢汽車維修工程師,請(qǐng)勿亂接,發(fā)生危險(xiǎn)我是不負(fù)責(zé)的),下載器我用的cp2102,怎么下載請(qǐng)去百度一下。最后附上程序,程序可以根據(jù)自己喜好去修改,若有高手發(fā)現(xiàn)程序中有可以優(yōu)化的地方請(qǐng)指出及把修改后的程序發(fā)出來。

圖1

單片機(jī)最小系統(tǒng)

單片機(jī)最小系統(tǒng)


圖2

紅外感應(yīng)器

紅外感應(yīng)器


圖3

2路繼電器

2路繼電器


圖4

pcf8591

pcf8591


下載器

下載器

下載器


紅外線強(qiáng)度+out+按鍵V1.2的單片機(jī)源程序如下:
  1. /****************************************************
  2.                                    自動(dòng)控制

  3.    紅外線感應(yīng)電阻IR與ADC構(gòu)成亮度檢測(cè)電路,
  4.    光線弱時(shí)繼電器閉合燈光開啟,光線強(qiáng)時(shí)繼電器延時(shí)斷開燈光關(guān)閉,達(dá)到節(jié)約電量同時(shí)保證黑夜行駛安全。

  5. ****************************************************/
  6. #include<reg52.h>
  7. #include<intrins.h>
  8. #include"IIC.h"

  9. typedef unsigned int u16;          //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
  10. typedef unsigned char u8;
  11. unsigned char Voltage;
  12. unsigned char Voltagetwo;

  13. sbit turn1=P1^4;//開關(guān)
  14. sbit turn2=P1^5;
  15. sbit turn3=P1^6;
  16. sbit turn0=P1^7;//懸空
  17. sbit turn4=P1^3;

  18. sbit k1=P3^6;//按鍵

  19. u16 t;
  20. u8 bz;

  21. void delay(int j)   //誤差 0us
  22. {
  23.     int i;
  24.     for(j;j>0;j--)
  25.         for(i=0;i<110;i++);
  26. }


  27. void IR()         //第一感應(yīng)器
  28. {
  29.          ADC_Init();
  30.      Voltage=ADC_Read(); //讀取光敏電阻采樣電壓//最大255,用10進(jìn)制轉(zhuǎn)換為16進(jìn)制
  31.        
  32.   if((Voltage<0x0a)&&(bz==0)){bz=1;turn1=0;}  //比較函數(shù)
  33.         if(bz==1){t=t+1;if(t>20){bz=0;t=0;}}   //時(shí)鐘延時(shí)函數(shù)
  34.         if((Voltage<0x32)&&(bz==0)){bz=0;turn2=0;}
  35.         if(bz==1){t=t+1;if(t>200){bz=0;t=0;}}   //時(shí)鐘延時(shí)函數(shù)
  36.        
  37.   if((Voltage>0x12)&&(bz==0)){bz=2;turn0=1;}//故意添加一個(gè)空指令來延長(zhǎng)時(shí)間
  38.         if(bz==2){t=t+1;if(t>1100){bz=0;t=0;}}
  39.         if((Voltage>0x50)&&(bz==0)){bz=3;turn1=1;}
  40.         if(bz==3){t=t+1;if(t>1100){bz=0;t=0;}}
  41.         if((Voltage>0xc8)&&(bz==0)){bz=0;turn2=1;}
  42.        
  43.   if(k1==0){t=t+1;if(t>20){turn3=~turn3;t=0;}}//按鍵處理
  44. }
  45. void IRw()        //第二個(gè)感應(yīng)器
  46.         {
  47.                 ADC_Inittwo();
  48.         Voltagetwo=ADC_Read();                         //讀取光敏電阻采樣電壓//最大255,用10進(jìn)制轉(zhuǎn)換為16進(jìn)制
  49.        
  50.                  //以下是遠(yuǎn)光控制
  51.        
  52.             if(Voltagetwo>0x64){turn4=0;}
  53.                 if(Voltagetwo<0x32){turn4=1;}

  54.         }

  55. void main()
  56. {
  57.         turn1=1;    //開機(jī)優(yōu)先處理值
  58.     turn2=1;
  59.         turn4=1;
  60.         delay(500);
  61.    while(1)
  62.    {
  63.         IR();
  64.         IRw();
  65.    }
  66. }
復(fù)制代碼
0.png

所有資料51hei提供下載:
紅外線強(qiáng)度 out 按鍵V1.2 - 副本.rar (47.56 KB, 下載次數(shù): 63)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:93502 發(fā)表于 2018-9-10 20:08 | 顯示全部樓層
如果在ADC中加入對(duì)汽車電瓶電壓進(jìn)行檢測(cè),這樣可以判斷車輛發(fā)動(dòng)了電壓達(dá)到一定數(shù)值時(shí)再工作,這樣對(duì)電瓶有一定的保護(hù)可能會(huì)比較好,另外,當(dāng)檢測(cè)到光線達(dá)到一定域值時(shí)來控制開關(guān)燈,會(huì)不會(huì)在黃昏時(shí),燈反復(fù)亮暗?可不可以加入在一定時(shí)間內(nèi)達(dá)到這個(gè)域值的次數(shù)時(shí)直接轉(zhuǎn)成黑夜模式,在一定時(shí)間內(nèi)超過這個(gè)域值的次數(shù)直接轉(zhuǎn)成白天模式?個(gè)人看法,歡迎探討。
回復(fù)

使用道具 舉報(bào)

ID:489174 發(fā)表于 2019-3-29 16:56 來自觸屏版 | 顯示全部樓層
解壓密碼是啥
回復(fù)

使用道具 舉報(bào)

ID:704284 發(fā)表于 2020-3-7 21:40 來自觸屏版 | 顯示全部樓層
高手高手,改下來多少錢
回復(fù)

使用道具 舉報(bào)

ID:293108 發(fā)表于 2020-12-7 10:12 | 顯示全部樓層
胡鬧鬧 發(fā)表于 2018-9-10 20:08
如果在ADC中加入對(duì)汽車電瓶電壓進(jìn)行檢測(cè),這樣可以判斷車輛發(fā)動(dòng)了電壓達(dá)到一定數(shù)值時(shí)再工作,這樣對(duì)電瓶有 ...

這個(gè)是剛學(xué)stc時(shí)做的,沒有定時(shí)器,現(xiàn)在已經(jīng)有更新版本,換成了自帶adc的stc15,體積更小,加入了閥值,用了定時(shí)器延時(shí)更靈敏。
回復(fù)

使用道具 舉報(bào)

ID:832201 發(fā)表于 2020-12-15 09:44 | 顯示全部樓層
感謝分享,不錯(cuò)的想法
回復(fù)

使用道具 舉報(bào)

ID:349543 發(fā)表于 2020-12-25 19:22 | 顯示全部樓層
胡鬧鬧 發(fā)表于 2018-9-10 20:08
如果在ADC中加入對(duì)汽車電瓶電壓進(jìn)行檢測(cè),這樣可以判斷車輛發(fā)動(dòng)了電壓達(dá)到一定數(shù)值時(shí)再工作,這樣對(duì)電瓶有 ...

樓主說了,電源應(yīng)該是用車載USB充電器,這充電器一般插在點(diǎn)煙器上的,熄火后點(diǎn)煙器一般是沒電的沒必要做一個(gè)檢測(cè)電瓶電壓的。
回復(fù)

使用道具 舉報(bào)

ID:693523 發(fā)表于 2020-12-25 19:59 | 顯示全部樓層
學(xué)習(xí)了,準(zhǔn)備做一個(gè)自動(dòng)巡航,大致原理是通過車速控制油門(目前市面大部分都是電子油門),想法有了關(guān)鍵是懶得動(dòng)手,也沒有時(shí)間
回復(fù)

使用道具 舉報(bào)

ID:93502 發(fā)表于 2021-2-16 13:50 | 顯示全部樓層
chentang 發(fā)表于 2020-12-7 10:12
這個(gè)是剛學(xué)stc時(shí)做的,沒有定時(shí)器,現(xiàn)在已經(jīng)有更新版本,換成了自帶adc的stc15,體積更小,加入了閥值, ...

新年快樂!可不可以把新版本的分享一下呢?
回復(fù)

使用道具 舉報(bào)

ID:5212 發(fā)表于 2021-9-2 20:08 | 顯示全部樓層
LZ把新版本也分享一下呢,謝謝了
回復(fù)

使用道具 舉報(bào)

ID:540334 發(fā)表于 2021-9-25 00:35 來自觸屏版 | 顯示全部樓層
胡鬧鬧 發(fā)表于 2018-9-10 20:08
如果在ADC中加入對(duì)汽車電瓶電壓進(jìn)行檢測(cè),這樣可以判斷車輛發(fā)動(dòng)了電壓達(dá)到一定數(shù)值時(shí)再工作,這樣對(duì)電瓶有 ...

這個(gè)苦我吃過了,我在某寶購(gòu)買了一片光敏電阻控制模塊安裝在我的摩托車上。在夜晚經(jīng)過有路燈的樹蔭下時(shí)大燈反復(fù)亮滅,爆閃狀態(tài)。感覺很擾民很失敗,對(duì)面來車以為是在挑釁他們。我現(xiàn)在也在想辦法加入適當(dāng)?shù)难訒r(shí),或者是加入時(shí)鐘芯片顯示時(shí)鐘,順便讓摩托車在夜晚的時(shí)間段禁用光敏電阻,大燈自動(dòng)開啟,在白天的時(shí)候(沒有路燈和樹影)使能光敏方便摩托車進(jìn)入車庫(kù)等光線不足的地方可以自動(dòng)開關(guān)。這是我的思路也希望作者有所借鑒
回復(fù)

使用道具 舉報(bào)

ID:130230 發(fā)表于 2021-9-27 10:16 | 顯示全部樓層
qixiu1342 發(fā)表于 2020-12-25 19:59
學(xué)習(xí)了,準(zhǔn)備做一個(gè)自動(dòng)巡航,大致原理是通過車速控制油門(目前市面大部分都是電子油門),想法有了關(guān)鍵是 ...

。。。你這有點(diǎn)危險(xiǎn)吧
回復(fù)

使用道具 舉報(bào)

ID:969272 發(fā)表于 2021-10-12 19:47 | 顯示全部樓層
紅外感應(yīng)器可以用成品代替嗎?比如電視機(jī)上用的。
回復(fù)

使用道具 舉報(bào)

ID:47286 發(fā)表于 2021-10-13 12:57 來自觸屏版 | 顯示全部樓層
Aizlna 發(fā)表于 2021-9-25 00:35
這個(gè)苦我吃過了,我在某寶購(gòu)買了一片光敏電阻控制模塊安裝在我的摩托車上。在夜晚經(jīng)過有路燈的樹蔭下時(shí)大 ...

你只需要加一個(gè)帶導(dǎo)管的光敏以區(qū)分正向光強(qiáng)變化就行
回復(fù)

使用道具 舉報(bào)

ID:969272 發(fā)表于 2021-10-22 18:34 | 顯示全部樓層
看一下新版的?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表