第三章 板載感測器實驗(6、計時器)
第三章 板載感測器實驗(6、計時器)
6,計時器
任務1:顯示開機時間。
從“輸入”,拖出“執行時間”:
小強:沒地方放,灰色的!
小明:要放到變數裡! 設定一個變數time:
板子會不斷地顯示開機時間。
小強:有兩個一樣的“執行時間”!
是的,一個是毫秒,一個是微秒,翻譯有錯。滑鼠停在程式塊上,有說明,看清楚!
小強:這有什麼用?能不能做成秒錶?
任務2:秒錶。
bit沒有專門的定時器,只有一個記錄開機執行的時間。所以,得動動腦子。
小明: 用按鍵。
當按鍵A按下時,記錄開機執行時間,存放在變數time裡,
當按鍵B按下時,再讀一次開機執行時間,減去上次記錄的時間,就是兩次按鍵事件的時間,存放在變數time2裡。顯示出來:
小強:這是毫秒錶,不是秒錶!
**小明:**time2/1000!
小強:看不到變化,能不能象秒錶一樣,不斷地顯示時間?
小明:加一個無限迴圈,不斷地顯示時間:
小強:顯示停不下來!
小明:再加個開關,當A按下時啟動顯示:
小強:還是不行!只顯示了一次,除非一直按著A不放。
這個辦法確實行不通。想想看,按下A後,執行了什麼?能不能讓板子知道?
小明: 記錄了開機時間。可以讓板子判斷time是否為0,如果不為0,顯示時間差,如果為0,則什麼也不做。
小強:還是不行!按下B後沒停。
是的,因為time一直在增加,大於0。
小明:在按下B事件中將time清0!
小強:終於好了!能不能顯示毫秒,比如9.125秒?
在makecode程式設計環境中,不支援小數,不過還是有辦法的,先做個實驗,顯示9.125:
按下A顯示9,按下B顯示125,這樣,就把整數和小數分開了。
接下來,把它們拼到一起:
小強:組合字串在哪?
小明:在高階,文字里!
表揚小明,你是怎麼做到的?
小明:按顏色找,或者搜尋:
任務3:倒數計時器。
任務描述:當按下A,開始倒數計時,並顯示10,9,8,7,6,5,4,3,2,1,0,10秒後顯示心型圖案。
小強:這是正計時!
好吧,改為顯示:10-time2
小強:為什麼是如果為“time",而不是原來的”time>0“?
這是因為,邏輯判斷只有真和假,就是1和0。
而所有變數預設會初始化為0,切換到程式碼可以看到:
任務4:速度計。
任務描述:按下A開始計時,按下B計算時間差,用距離除以時間差得到速度。
比如距離是10米,速度=10/time2*1000
小強:為什麼要*1000?
小明:因為時間單位是毫秒。
小強:不對,總顯示0?
這個!@#¥%…… 想起來了,time2 是一個很大的數, 10/time2不到1,因為makecode程式設計環境不支援浮點運算,就是不會算小數,所以總為0。
改為:速度=10*1000 /time2:
記住這個技巧。
相關文章
- 第三章 板載感測器實驗(7、溫度亮度)
- 第七章 外接感測器實驗
- 感測器-雨滴感測器(雨刷)
- 51微控制器內部定時器/計數器實驗定時器
- 汽車智聯網實驗二:視覺感測器標定視覺
- 杭電計算機組成實驗6(六)MIPS彙編器與模擬器實驗計算機
- 感測器噪聲
- FBG感測器模型模型
- Android感測器完全解析Android
- iOS 感測器集錦iOS
- 物聯網實驗4:基於協議棧的感測器應用2協議
- Python實現 感測器的隨機佈置Python隨機
- 多感測器融合研究(三)
- 樹莓派-感測器篇樹莓派
- android 中感測器的使用Android
- js 獲取驗證碼計時器JS
- 車載多感測器融合定位方案:GPS +IMU+MM
- win10怎麼關閉感測器_win10禁用感測器功能的方法Win10
- 在樹莓派用C#+Winform實現感測器監測樹莓派C#ORM
- Unity——計時器功能實現Unity
- 可穿戴設計的感測器技術_凱利訊
- 電磁波類感測器原理
- CMOS鐳射感測器GV系列
- 影像感測器熱點技術
- 物聯網如何工作:感測器
- INDEMIND:多感測器融合,機器人的必由之路機器人
- Flutter倒數計時/計時器的實現Flutter
- JavaScript6:定時器JavaScript定時器
- python 實現計時器,統計執行時長Python
- Arduino 驅動火焰感測器模組UI
- SCHNOKA:視覺感測器的好處視覺
- 賽迪顧問:2021工業智慧感測器白皮書(附下載)
- (6)從計數器到可控線性序列機——led實驗六部曲
- 測量幾個光電感測器反向電容
- 發售了超過7.5億顆位置感測器,ams的霍爾感測器背後的祕密
- 光學雨量計雨量感測器在氣象監測中的重要作用
- Arduino 驅動煙霧感測器模組UI
- PIR感測器選型及其使用介紹