一直想打造一個自己的調光臺燈,于是動手焊接硬件,編寫自己的單片程序,經過調試初步達到要求,沒有條件打板,自己用萬能板焊接的電路,用來控制12V的長條LED實際效果還行! 主要功能: 1、 關機時短按一次開燈,亮度為關機時的檔位,開機時長按三秒關燈,關燈時為漸滅燈的效果; 2、 開機時單按為亮度檔位切換,分為1,2,3檔; 3、 開機時連按三次按鍵,可進入當前檔位的亮度PWM值設定,此時led閃爍,單擊按鍵為亮度增加,雙擊按鍵為亮度減小,長按則快速增加亮度(類似呼吸燈的效果),再次三擊為保存PWM值退出亮度設置; 4、 可以分別對三個檔位的PWM亮度值進行設定,以適合不同的LED組合; 5、 增加了7805穩壓,輸入電壓為6~30V; 6、 TIP31加散熱片后電子負載測試電流800mA有微熱,基本可滿足常用臺燈的要求;
焊接完成的圖片:
焊接完成圖.jpg (83.42 KB, 下載次數: 75)
下載附件
2022-2-20 09:49 上傳
焊接完成圖2.jpg (88.45 KB, 下載次數: 58)
下載附件
2022-2-20 09:50 上傳
焊接完成圖4.jpg (77.69 KB, 下載次數: 47)
下載附件
2022-2-20 09:50 上傳
焊接完成圖5.jpg (104.43 KB, 下載次數: 56)
下載附件
2022-2-20 09:50 上傳
焊接完成圖三.jpg (105.91 KB, 下載次數: 73)
下載附件
2022-2-20 09:50 上傳
線路圖:
臺燈Layout-1.jpg (192.68 KB, 下載次數: 68)
下載附件
2022-2-20 09:51 上傳
臺燈Layout-2.jpg (154.88 KB, 下載次數: 65)
下載附件
2022-2-20 09:51 上傳
測試效果:
002.gif (5.73 MB, 下載次數: 89)
下載附件
2022-2-20 09:53 上傳
如下程序主要體現為PWM調光的部分,按鍵功能部分請參考我的另一個貼子: PIC單片機單個按鍵實現多功能:長按、短按次數識別程序
單片機源程序如下:
//------------------------------------------------------------------------------------------------------------ void IRQ_init(void)//定時A和外部中斷1初始化 { GIE=0; //關總中斷 //RBIE=0; //RB口電平變化中斷禁止 //---------CPU頻率配置------- //IRCF<2:0>:內部振蕩器頻率選擇位 IRCF2= 1 ; IRCF1= 1 ; IRCF0= 1 ; //000 = 31 kHz //001 = 125 kHz //010 = 250 kHz //011 = 500 kHz //100 = 1 MHz //101 = 2 MHz //110 = 4 MHz (缺省值) //111 = 8 MHz RABPU=0; //AB口上拉起動 WPUA0=1; WPUA1=1; //WPUA4=1; //WPUA5=1; WPUA2=1; //-------定時器time0的配置----- T0IF=0; //清中斷標志 T0IE=1; //允許Time0中斷 TMR0=61; //256-61 T0CS=0; //Time0選擇內部時鐘 T0SE=0; //外部電平低至高變化遞增 PSA =0; //預分頻給Time0 PS2 =1; //111為1:256分頻 PS1 =0; PS0 =1; //PS<2:0>:預分頻器比選擇位 //000 1 : 2 //001 1 : 4 //010 1 : 8 //011 1 : 16 //100 1 : 32 //101 1 : 64 //110 1 : 128 //111 1 : 256 //---------------------------- PEIE=1; //允許外圍中斷 GIE=1; //開總中斷 }
|