《Arduino實戰》 2 3 反應測試儀

2021-09-23 14:44:15 字數 1248 閱讀 4174

arduino實戰

這是你在本章中最後一次電路修改。你要在電路中再新增兩個led,最好是一紅一綠,它們被用作開始和停止指示燈。最初是紅色led點亮,當它熄滅且綠色led點亮時,你要盡可能快地按下按鈕,來讓在前一節中搭建的led序列暫停。反應速度處於平均水平的人,可以在序列有2個或者3個led亮起時將其停止。

2.3.1 電路圖

請看圖2-10給出的電路圖,注意新加入的兩個led是如何連線到arduino的。綠色的led6和紅色的led7已被新增到電路中,一起加入的還有兩個220ω的限流電阻,r7和r8。

2.3.2 連線

圖2-11展示了連線完成後的arduino和麵包板,已將兩個新加的led和兩個電阻新增到了現有的電路中。

這就是本章最後完成的電路。下面讓我們看一下本章的倒數第二個程式。

2.3.3 測試反應速度的程式

下列**清單給出了反應測試儀的程式,請將其仔細地輸入乙個新的程式檔案中。

**清單2.4 反應測試儀

初始化隨機數生成器的種子

你可以在初始化階段呼叫randomseed影象說明文本來初始化隨機數生成器的種子:

randomseed(analogread(0));
傳遞給randomseed的值取自未連線的0號模擬引腳的模擬輸入值。由於電氣雜訊的影響,乙個未連線的模擬引腳的輸入值是不斷變化的。

變數state用於控制程式邏輯,並且已經與按鈕的狀態繫結。第一次按下按鈕時,會觸發下列事件:原來的5個led熄滅,紅色的stopled點亮,綠色的goled熄滅。在一段隨機的時間之後,stopled熄滅,goled點亮,並啟動由原來的5個led構成的序列,5個led乙個接乙個地點亮。按下按鈕會停止led點亮的過程。再次按下按鈕會使整個流程重新開始。

2.3.4 燒寫和測試

將arduino連線到usb電纜,確保你的程式已經被正確編譯,然後將其寫入到arduino中。按下按鈕試玩一下,看看你的反應速度有多快。你還可以跟別人比拼,看誰的反應速度是最快的。

你還可以在程式中再加入一些**,讓它用定時器更精確地記錄反應時間。我們會在下一節中講到這些。

反應測試 反應能力測試器電路

反應能力測試器可用來檢測和訓練人的快速反應能力,它有多種結構形式,下面介紹的這個反應能力測試儀,採用十進位制計數器4017與若干發光二極體組成,結構較為簡單,可作為一種玩具來訓練和測試兒童的快速反應能力。電路原理圖見圖所示。從原理圖中可以看出,這個電路利用十進位制計數器4017的輸出端驅動一組發光二...

《Arduino實戰》 3 2 壓電換能器

圖3 6展示了乙個典型的可以用於發聲的壓電換能器,它與那些在 賀卡中使用的類似。它們是如何工作的?術語壓電的意思就是 由壓力產生電流 當乙個壓電裝置受到擠壓時,它就會產生乙個電荷,如圖3 7所示。換能器在與arduino一起使用時的乙個典型應用就是將其作為敲擊感測器。當換能器受到擊打或碰撞時,ard...

《Arduino實戰》 2 2 獲得控制權

arduino實戰 現在你的程式已經開始工作了,伴隨著led乙個接乙個地點亮和熄滅,下面我們要新增乙個按鈕,來控制這電路了。這個按鈕用來啟動和停止led序列的閃爍。2.2.1 電路圖 電路圖如圖2 7所示。你需要保留最初版本的電路,並再新增乙個按鈕 s1 和乙個阻值為10 k 的電阻 r6 就可以了...