天天看點

Arduino版讀取程式的規則_創客DIY神器大比拼:分别用arduino和555定時器搭建雙穩态電路...

大家好,這裡是創意在行動的科普課堂,我們來講一個例子,就是如何通過給arduino單片機程式設計來實作一個雙穩态電路。雙穩态電路科普講解

什麼是雙穩态電路呢?雙穩态電路就是通過外界信号的觸發,使這個電路處于兩種不同的穩定狀态的電路系統,這樣的一種電路就叫做雙穩态電路。

我們來看一下這個例子:如圖所示的電路當中,當我們去按其中的一個按鈕的時候,我們希望它的燈是保持亮的穩定狀态的,當我們去按另外一個按鈕的時候,我們希望這時候燈保持滅的穩定狀态,這種電路就是雙穩态電路的一個例子!

下面,我們通過子產品化程式設計的方法來實作一個雙穩态電路的搭建:

Arduino版讀取程式的規則_創客DIY神器大比拼:分别用arduino和555定時器搭建雙穩态電路...

右邊是編輯框

首先,我們把需要程式設計的這些子產品移到如圖所示的程式編輯框裡面,我們選擇:如果引腳2為高電平那麼讓arduino電路闆的12号引腳輸出高電平而點亮燈泡,如果引腳4為高電平那麼讓arduino電路闆的12号引腳保持低電平而使燈泡處于滅的狀态,因為我們看到如圖所示的電路圖當中,和引腳2與引腳4分别與兩個按鈕相連,是以我們就可以把電路設定為:當我們按下引腳,2引腳 和4引腳對應的按鈕的時候,燈泡分别對應的亮的穩定狀态和滅的穩定狀态 。

Arduino版讀取程式的規則_創客DIY神器大比拼:分别用arduino和555定時器搭建雙穩态電路...

arduino實驗電路圖

那麼我們通過什麼方法來判斷數字引腳的狀态然後控制燈泡的亮滅呢?我們通過數學的方法子產品來解決這一問題,當我們按壓按鈕的時候呢,按照如圖所示的連接配接方式的話我們可以知道,當按壓按鈕時對應的數字引腳就會就會處于高電平狀态,這實際上是arduino按鈕連接配接的通用方式,你如果并不了解arduino的工作原理,可以把這個連接配接方法記住,在以後的arduino制作的時候你就能夠應用了!

那麼如果我們假設左邊的按鈕,也就是對應2引腳的這個按鈕,當我們向下按壓的時候,那麼2引腳接收到了高電平,那麼我們輸入子產品的話呢,就是讀取數字引腳2,當讀取數字引腳2的時候,如果它屬于高高,那麼我們就讓引腳12相連的這個燈泡處于亮的狀态這個燈泡其實是一個LED,也就是發光二極管,那麼我們讓引腳12相連的這個LED處于滅的狀态應該怎麼寫呢? 通過子產品化程式設計的複制功能就可以節省編輯代碼的時間,當右面的按鈕被按下時,對應的是4引腳處于一個高電平的狀态的時候,引腳12相連的這個LED就是低電平的狀态,也就是說12引腳就處于低電平,我們設定當引腳4接受到高電平時引腳12相連的這個LED就是滅的狀态。

Arduino版讀取程式的規則_創客DIY神器大比拼:分别用arduino和555定時器搭建雙穩态電路...

點亮的狀态

然後我們把這個代碼呢開始進行模拟,然後來看一下這個雙穩态電路處于一個什麼樣的狀況:當我們按左邊的按鈕的時候LED被點亮,當我們按壓右邊的按鈕的時候LED被熄滅了,這就是一個雙穩态電路的例子了。

當我們通過使用555定時器來實作雙穩态電路 ,很顯然通過使用555定時器來實作雙穩态電路的這個結構要比arduino來實作雙穩态結構的這個電路圖 要複雜的多,但是它的優勢在于555定時器的成本較低。

Arduino版讀取程式的規則_創客DIY神器大比拼:分别用arduino和555定時器搭建雙穩态電路...

555定時器雙穩态電路

讓我們來進行555定時器這一雙穩态電路的模拟,我們按這個右邊的按鈕,LED處于亮的狀态按,我們按這個左邊的按鈕,LED處于滅的狀态,這個系統可以在兩個穩定狀态中切換,和arduino雙穩态電路的功能是一樣的!

Arduino版讀取程式的規則_創客DIY神器大比拼:分别用arduino和555定時器搭建雙穩态電路...

555定時器雙穩态電路點亮狀态

但是555定時器的優勢在于:它的成本低,而且不需要任何代碼!但是arduino的優勢在于我們可以用它做更多的更複雜的事情,但是它的成本較高,對于雙穩态的介紹呢,我們就介紹到這裡了。

如果大家有什麼問題可以在評論中來寫出來,大家互相交流。

繼續閱讀