步驟1:設(shè)計(jì)
電路
這是一個(gè)非常簡(jiǎn)單的電路,基于8針Picaxe 08M。這就是我手頭上的東西,您也可以使用較新的08M2。它使用LDR和1M2電阻器在Picaxe的引腳1上形成分壓器。通過1k2電阻將一個(gè)橙色LED連接到Picaxe的引腳4。這將通過LED的電流限制在約5mA。這會(huì)降低LED的亮度,但是如果您的眼睛適應(yīng)了黑暗,它仍然足以提供昏暗的燈光(我在走廊上使用它,這樣我可以避免在夜間絆倒,但不會(huì)通過打開主燈來喚醒家庭)下拉電阻用于未使用的Picaxe引腳上-優(yōu)良作法是不要使微控制器上的I/O引腳“浮動(dòng)”,而且我認(rèn)為它還可以稍微降低電流消耗。我使用110k電阻作為下拉電阻,因?yàn)槲沂诸^上有很多電阻。您可以使用大約100k的任何電流。
LED是直接從Picaxe驅(qū)動(dòng)的,因此將來自此引腳的總電流限制在20mA以下非常重要。
當(dāng)LED熄滅時(shí),燈的電流消耗小于1mA,大約LED亮起時(shí)為5.5mA。我使用4節(jié)AA NiMH充電電池(可提供約5V電壓)運(yùn)行,平均可持續(xù)使用一個(gè)月左右,然后再為它們充電。
軟件
該軟件用盡了大部分電量時(shí)間處于“睡眠”模式,并且僅每2.3秒喚醒一次以檢查L(zhǎng)DR的狀態(tài)。在讀取LDR之前,它會(huì)關(guān)閉LED,以便其光輸出不會(huì)影響讀數(shù)。讀數(shù)發(fā)生得如此之快,以至于在非常短暫地關(guān)閉LED時(shí)幾乎看不到LED閃爍。為了避免LED在黃昏附近重復(fù)打開和關(guān)閉,代碼中內(nèi)置了一些滯后現(xiàn)象。這是通過計(jì)算環(huán)境光的平均值非常粗略地完成的,因此環(huán)境光的變化需要一段時(shí)間才能在代碼中傳播。 ADC的原始讀數(shù)也被除以10,以最大程度地降低噪聲。
我所附的代碼在Picaxe 08M上有效。您應(yīng)該能夠通過使用Picaxe軟件內(nèi)置的向?qū)⑵滢D(zhuǎn)換為在08M2上運(yùn)行。
硬件
CPU:Picaxe 08M。
LDR:與Philips相似ORP12。我使用了www.jaycar.com.au
LED上的RD3480:高亮度5mm琥珀色LED。我使用了www.jaycar.com.au
PCB上的ZD0295:我在Eagle中設(shè)計(jì)并蝕刻了自己的定制板。所有設(shè)計(jì)文件都附在此Instructionable Case上:我設(shè)計(jì)了上述PCB,以安裝在www.jaycar.com.au HB6005透明塑料外殼中電容器:1x 100uF 16v; 1x 100nF,50v。
電阻:1x 1M2; 2個(gè)110k; 1個(gè)22k; 1x 10k; 1個(gè)1k2。都是1/4w薄膜薄膜(但可能沒關(guān)系)
其他:電源插座,電池座(電路需要5V-我用了4個(gè)1.2V AA可充電電池),編程接頭,約15cm絕緣連接線
如果對(duì)此電路有很大的興趣,我將獲得一批PCB并提供一個(gè)套件。
下載
下面是該電路的Eagle文件原理圖和PCB。如果要蝕刻自己的PCB,則還有一個(gè)完整尺寸的PCB軌跡PDF。
步驟2:構(gòu)造
都很簡(jiǎn)單。如果您沒有PCB,則需要制作一個(gè)PCB,或者使用剝離板(veroboard)
如果您以前從未制作過自己的PCB,請(qǐng)?jiān)诖颂幐鶕?jù)指示進(jìn)行搜索,或者閱讀我的說明本地hackerspace:http://www.makehackvoid.com/projects/pc-pcb-under-30-minutes-quick-n-easy-pcb-fabrication。
如果您使用的是雙面板,頂層只有一個(gè)軌道。如果您使用的是單面電路板,則必須用電線鏈接替換此軌道。
我使用了一個(gè)小的IC插座來安裝Picaxe芯片本身。
我使用了3針接頭用于Picaxe編程電纜。更改此電纜以適合您的編程電纜-有些電纜使用3.5毫米立體聲插頭。
在照片中,您可以看到LDR與所有其他組件都安裝在PCB的另一側(cè)。這是因?yàn)槲业脑脊碳跍y(cè)量環(huán)境光之前沒有關(guān)閉LED,因此必須對(duì)LDR進(jìn)行物理屏蔽。它不能很好地工作,這就是為什么我修復(fù)了固件?,F(xiàn)在可以將LDR安裝在PCB的任何一側(cè),這無關(guān)緊要。
PCB的尺寸適合于流行的UB5項(xiàng)目箱。我使用了一個(gè)透明盒子,使LED發(fā)出的光線柔和且漫射。
步驟3:下載
Picaxe程序編輯器
http://www.picaxe.com/
Cadsoft Eagle原理圖和PCB套件
http://www.cadsoftusa.com/download-eagle/
開放源代碼?
這可能是我最后發(fā)布的依賴于上述軟件的Instructable。為了支持開源軟件,我正在嘗試將Arduino用于微控制器,將Kicad用于示意圖和PCB設(shè)計(jì)。在過去的幾年中,這兩個(gè)軟件包都變得非常用戶友好,我強(qiáng)烈推薦它們。有關(guān)更多信息,請(qǐng)?jiān)L問http://www.arduino.ccandhttp://www.kicad-pcb.org/。
固件
將以下文本復(fù)制并粘貼到Picaxe編程編輯器。對(duì)于Picaxe 08M,它應(yīng)該保持原樣工作。使用編程編輯器中內(nèi)置的向?qū)⒋a轉(zhuǎn)換為與08M2兼容的代碼。
‘用于Picaxe 08M的LED夜燈。
’由Nick West 2012和2013編寫。
‘在知識(shí)共享署名下發(fā)布&符號(hào)相似的許可證。
符號(hào)AVE_ADC = w0’連接到LDR的ADC的移動(dòng)平均值
符號(hào)ADC_READ = b2
符號(hào)LED = 4‘LED在此引腳上
符號(hào)LED_FLAG = b3
符號(hào)TWILIGHT_THRESHHOLD = 20’更改此項(xiàng)以更改觸發(fā)LED的光強(qiáng)度
main:
enableBOD 暫停20‘讓喚醒后一切穩(wěn)定。
如果pin4 = 1,則讓LED_FLAG = 1
否則讓LED_FLAG = 0 endif
low LED’短時(shí)關(guān)閉LED以讀取環(huán)境光。 readadc 1,ADC_READ‘分壓器,通過引腳1上的LDR和1M2電阻
如果LED_FLAG = 1如果LED在ADC讀取之前就亮了,請(qǐng)重新打開LED,因此它不會(huì)閃爍,因此不會(huì)顯著閃爍。
endif
ADC_READ = ADC_READ/10’降低ADC的分辨率以改善磁滯現(xiàn)象
AVE_ADC = AVE_ADC + ADC _READ‘ADC的移動(dòng)平均值
AVE_ADC = AVE_ADC/2
如果AVE_ADC》 TWILIGHT_THRESHHOLD則為高電平LED’高亮LED并在引腳4
elseif上施加1k限流電阻AVE_ADC 《= TWILIGHT_THRESHHOLD然后為低LED
endif
sertxd(#AVE_ADC,CR,LF)
disableBOD‘掉電檢測(cè)禁用,以最小化睡眠電流
sleep 1’最小電流消耗約2.3sec
goto main
-
LED小夜燈
+關(guān)注
關(guān)注
0文章
11瀏覽量
6716
發(fā)布評(píng)論請(qǐng)先 登錄
索尼3.0版虛擬制作工具套裝重磅升級(jí)
小夜燈CE認(rèn)證怎么申請(qǐng)
奧拓電子助力2026全國(guó)大學(xué)生虛擬制作大賽
電子工程師在客戶現(xiàn)場(chǎng)都做哪些測(cè)試?超聲換能器聲功率測(cè)試系統(tǒng)!#硬核拆解 #傳感器 #電子制作 #電路知識(shí)
DCDC線性恒流芯片H7304B 3V4.2V小夜燈調(diào)光應(yīng)用
如何制作 rt117x 閃存驅(qū)動(dòng)程序?
索尼重載設(shè)備的高質(zhì)量遠(yuǎn)程制作方案和應(yīng)用(2)
索尼重載設(shè)備的高質(zhì)量遠(yuǎn)程制作方案和應(yīng)用(1)
不同的PCB制作工藝的流程細(xì)節(jié)
CYBT-343026-01能否使用 HFP 和 AVRCP 制作應(yīng)用程序?
開發(fā)案例 | 用CI1302 AI語音開發(fā)板4步打造智能語音床頭小夜燈,手殘黨也能玩轉(zhuǎn)開發(fā)!
PicaxeLED小夜燈的制作
評(píng)論