<form id="1tbf9"><nobr id="1tbf9"></nobr></form>

          <address id="1tbf9"></address>

            <address id="1tbf9"></address>

                    <form id="1tbf9"></form>

                    ./t20150825_321704_taonews.html
                    專題
                    首頁  >  專題  >  媒體視點  >  名刊精選  >  《無線電》

                    《無線電》

                    開博時間:2016-07-01 14:43:00

                    1955年創刊,是國內電子科普領域創刊最早、發行量最大的知名雜志,累計發行量超過3億冊,倡導科普、興趣、實作、分享的辦刊理念。

                    文章數
                    分享到:

                    創客三級跳-制作延時啟動電源

                    2015-08-25 08:59:28

                    吳俊杰


                    Arduino當作一個電源使用嗎?是不是有一些暴殄天物?但是如果從模塊可重用的角度來看又何妨呢?今天它是一個智能電源,明天它也可以是一個信號發生器,總之,可以隨意改換功能的可編程電路,使我們的世界能夠少生產一些電子垃圾,讓這個世界變得更加美好。

                    原理

                    相比于一個開關串聯一個發光二極管這種控制,延時控制是一個必須要使用邏輯電路的功能,而這也就解釋了我們為什么要使用程序。如何設計一個延時電源呢?S4A軟件通過聯機調試模式可以更方便地讓我們了解到這一點。燒寫S4A的固件以后,找到端口號,然后會看到圖1所示的串口狀態的面板,在數字13號端口插一個暖色調的一針一孔的暖色調排線作電源的正極,在12號端口插一個冷色調排線作為電池的負極,在正極和負極直接插一個發光二極管,啟動程序之后,我們可以看到發光二極管延時1s后亮了。

                    34571

                    1 延時電源的工作原理

                    這是因為“digital 13 off”這個指令相當于將13號端口的電壓降到跟ArduinoGND端口相當,而“digital 13 on”則將13號端口的電壓升高到跟Arduino5V端口相當,那么在啟動程序的時候,將13號端口和12號端口都設為GND(負極),然后,過1s之后,將13號端口電壓升為5V,此時發光二極管自然就亮了。這里需要說明的是,如果將LED直接插在上圖Arduino板下方Power處紅色點所示的5V黑色點所示的GND之間,通過這個發光二極管的電流會超過其能夠承受的最大電流,發光二極管會燒毀,而現在插LED的位置,由于電路板做了電流保護,直接插一個發光二極管是安全的,這就是我們為什么要制作一個延時電源的重要原因了。這種比較小的電流,已經足夠用來驅動LED、蜂鳴器、小型繼電器、手機震動馬達這些需要電流不大的設備。

                    此外如果不希望加延時功能,只是期望將Arduino作為一個電源使用,在S4A當中還可以對11號端口和10號端口進行設置,當Arduino通電時11號端口自動充當電池正極,10號端口自動充當電池負極。這樣只需要將供電一方的電源換成一個手機充電器,就可以安全放心地使用這個Arduino安全延時電源了。

                    34572

                    2添加非延時電源功能

                     

                    原型

                    在這里面,有一個非常自然的改進需求,就是期望能夠調整延時時間,最常用的是電位器,也就是我們通常所說的旋鈕。電位器的原理和滑動變阻器的原理一致,旋轉中間的劃片,改變的是其相對于整個電阻的位置,如圖3所示,電位器的兩端接5VGND,中間接ArduinoA0端口,根據通用的布線的顏色規范,選擇紅色、黑色和藍色的一針一孔排線來完成電路的連接。

                    34573

                    3 連接電位器

                    旋轉電位器的旋鈕,我們會發現旋鈕旋轉到一端,A0的數值為0,另一端數值為1023,如果我們直接將A0數值設定為延時時間,我們會發現旋轉到不同角度時,延時時間不同。如圖4所示,最小為0s,最大為1023s。

                    34574

                    4 簡單的延時控制

                    但是如果我們從實際生活的角度來看這個延時調節旋鈕,會發現它不太方便使用,比如這個延時電源的主要用途有兩個,給自己3min時間做一個眼保健操,和一天之后的同一時間啟動電源來制造一個驚喜,那么A0數值0對應的則是180s,1023對應的是24×60×60s=86400s,這樣就需要建立一個函數來描述這種對應關系了。我們用一次函數的運算公式就可以找到這個對用關系。

                    34577

                    其中A表示A0的數值,t表示需要延時的時間,如圖5所示,改進后的延時電源增加了一個變量t,在一開始的時候告訴用戶延時電源將在多少秒以后啟動。

                    34575

                    5 改進后的延時電源

                        如果用戶希望用戶體驗更好,可以在軟件界面當中增加詢問時間范圍的功能。

                     

                    產品

                    完成了上面的調試工作,我們便可以將延時電源制作成一個比較穩定的產品了,這需要將程序下載到下位機,使用Arduino的圖形化編程插件Ardublock可以很方便地實現這個功能,只需要將上面的算法移植到Ardublock當中即可。如圖6所示,使用串口監視器可以查看每次延時的時間。

                    34576

                    6 串口監視器查看延時時間

                    由于函數涉及到小數點的運算,因此設定延遲時間的變量time的類型為實數型。至此,我們就完成了一個可以隨意設定延時時間的電源,在設計上,還可以給這個電源加上盒子,設計一個旋鈕的面板來表示0.5h、8h等不同的延時效果,從精度上來看,這個延時電源的調節最小精度為(86400-180/1023s,大概是1.5min的時間,但是在實際的使用過程中往往達不到這個精度,工程項目就是在不停的妥協中追求最優的結果,可能這正是我們不懈追求的動力吧。








                    上一篇:全國“少年電子技師”科普活動推薦使用套件輔導-閃光燈
                    下一篇:柴火教育工作坊——發光的魔法帽工作坊
                    ©2011-2020 版權所有:中國數字科技館
                    未經書面許可任何人不得復制或鏡像
                    京ICP備11000850號 京公網安備110105007388號
                    信息網絡傳播視聽節目許可證0111611號
                    國家科技基礎條件平臺
                    久久这里只精品国产免费99热4_一起射久久_久久在线视频_日日天天夜夜久久_日日扞夜夜燥国产