第1步:Pssst,公民科學和“官方科學”有什么區別?
最大的區別在于,正如我所說,公民科學是“手波浪”,這意味著存在許多錯誤和不確定性,并且沒有嚴格的過程來識別它們。因此,通過公民科學得出的結論遠不如科學科學那么準確,不應該依賴于做出嚴重/改變生命/危及生命的主張或決定。*
話雖如此,公民科學是建立對各種迷人科學現象的基本理解的好方法,對于大多數日常應用來說已經足夠好了。
*如果您正在進行公民科學研究并發現有潛在危險的事物(例如水中鉛含量過高),請通知您的教育工作者(如果適用)并聯系相關機構和專業人士尋求幫助。
第2步:什么是Arduino ??
Arduino是一個微控制器板和集成開發環境(“IDE”),這是一種說“編碼程序”的奇特方式。對于初學者,我強烈推薦 Arduino Uno 主板,因為它們非常強大,可靠且功能強大。
Arduino板是公民科學項目的不錯選擇,因為它們有很多輸入引腳可以讀取模擬和數字傳感器(我們稍后會詳細介紹)。
當然,您可以根據您(或學生)的需求,能力和舒適程度,將其他微控制器用于公民科學。以下是微控制器的概述,以幫助您決定什么是最適合您的!
1。在工具 - 》板下選擇您正在使用的Arduino類型。 (照片2)
2。選擇端口(也就是連接到計算機的位置)。 (照片3)
3。單擊“上載”按鈕,檢查它是否完成上載。 (照片4)
第3步:工具和材料
如果您剛入門,獲取套件是一種快速簡便的方法一次得到一堆零件。我在本教程中使用的工具包是 Elegoo Arduino入門套件。*
工具
Arduino Uno
USB A到B電纜(又名打印機電纜)
跳線
3 male- to-male
3男性對女性
面包板
可選但建議讓您的生活更輕松,更有趣:)
材料
對于本教程中涉及的項目,您需要以下部分來自Elegoo Arduino入門套件:
傾斜開關
DTH11溫度和濕度傳感器
100歐姆電阻
*完全披露:我購買了相同的套件研討會,但本教程中使用的工具包是由Elegoo的可愛人員捐贈的。
第4步:我們可以使用哪種傳感器?
設計科學前我們通常會提出一個問題:植物每天吸收多少二氧化碳?跳躍的沖擊力是多少?什么是意識?
根據我們的問題,我們可以確定我們想要測量的內容并進行一些研究以找出我們可以用來收集數據的傳感器(雖然最后收集數據有點棘手)問題!)。
使用電子設備時,有兩種主要類型的傳感器數據信號:數字和模擬。 在照片中,前兩行的部分都是數字傳感器,而前兩行是模擬的。
有許多不同類型的數字傳感器,有些更難以工作與其他人相比。在為您的公民科學項目進行研究時,請始終檢查傳感器如何輸出數據(srsly tho)并確保您可以找到該特定傳感器的(Arduino)庫。
在本教程涉及的三個項目中,我們將使用兩種類型的數字傳感器和一種模擬傳感器。讓我們來學習吧!
第5步:數字傳感器!第1部分:Easy Ones!
您將使用的大多數傳感器輸出數字信號,這是一個信號,要么是打開或關閉。*我們使用二進制數來表示這兩種狀態:On信號由1或True給出,而Off為0或False。如果我們要繪制二進制信號的圖像,那就像方波2中的方波一樣。
有一些數字傳感器,如開關,非常簡單直接測量因為按下按鈕并且我們得到信號(1),或者沒有按下按鈕而我們沒有信號(0)。第一張照片底行中的傳感器都是簡單的開/關類型。頂行的傳感器有點復雜,在我們的第一個項目之后就會被覆蓋。
本教程的前兩個項目將教你如何使用這兩種類型!繼續建立我們的第一個項目!!
* On表示電流和電壓形式的電信號。關閉表示無電信號!
步驟6:項目1:傾斜開關數字傳感器
對于第一個項目,讓我們使用一個傾斜開關,即帶有兩條腿的黑色圓柱形傳感器!
步驟1:將傾斜開關的一條腿插入Arduino數字引腳13,另一腳接入引腳13旁邊的GND引腳。方向無關緊要。
步驟2:編寫一個草圖,讀入并打印出Digital Pin 13的狀態。
或者你可以使用我的!
如果您剛開始編寫代碼,請仔細閱讀注釋,以便更好地了解草圖的工作原理,并嘗試更改某些內容以了解會發生什么!打破事情是可以的,這是一種很好的學習方式!您可以隨時重新下載該文件并重新開始:)
步驟3:要查看您的實時數據,請單擊“串行監視器”按鈕(照片2)。
。. aaaand就是這樣!您現在可以使用傾斜開關來測量方向!將它設置為在敲擊東西時叫出你的小貓,或用它來跟蹤風暴期間樹枝如何移動! 。.在這兩個極端之間可能存在其他應用。
第7步:數字傳感器!第2部分:PWM和串行通信
有很多方法可以創建更復雜的數字信號!一種方法稱為脈沖寬度調制(“PWM”),,這是一種奇特的方式,表示信號在一定時間內開啟并關閉一段時間。伺服電機(可用于測量位置)和超聲波傳感器是使用PWM信號的傳感器示例。
還有一些傳感器使用串行通信來發送數據一位,或二進制數字,一次。這些傳感器需要熟悉讀取數據表,如果您剛開始使用它們會非常棘手。幸運的是,常見的串行傳感器將具有代碼庫*和示例程序,因此您仍然可以拼湊一些功能性的東西。有關串行通信協議的更多細節超出了本教程的范圍,但是這里有一個很好的資源來自SparkFun的串行通信以了解更多信息!
對于這個示例項目,讓我們使用溫度和濕度傳感器(DHT11)!這是一個帶有孔和3個針腳的藍色正方形。
首先,我們需要為DHT11傳感器提供一些特殊的庫: DHT11庫和Adafruit統一傳感器庫。
安裝這些庫(以及大多數其他Arduino庫):
步驟1:打開Arduino庫管理器,轉到草圖 - 》庫 - 》管理庫(照片2)
步驟2:安裝并激活DHT庫,搜索“DHT”,然后單擊“安裝”以獲取“DHT Arduino Library”(照片3)
步驟3:安裝并激活Adafruit統一傳感器庫,方法是搜索“Adafruit Unified Sensor”并單擊“安裝”。
步驟4:插入DHT庫Libraries,然后單擊“DHT Arduino Library。”(照片4)這將在草圖頂部插入幾行新行,這意味著我們的庫現在處于活動狀態隨時可以使用!(照片5)
*就像你喜歡的一樣ocal庫,代碼庫是豐富的知識和其他人的辛勤工作,我們可以用來使我們的生活更輕松,yay!
第8步:項目2:溫度和濕度數字串行傳感器
抓住3個男性到來自Elegoo Arduino入門套件的女性跳線我們已經準備好了!
第1步:當標題針朝向你時,連接最右邊的標題將DHT11引腳連接到Arduino接地(“GND”)引腳。
步驟2:將中間接頭引腳連接到Arduino 5V 輸出引腳。
步驟3:將最左邊的標頭引腳連接到Arduino數字引腳2。
第4步:最后,閱讀DHT庫并試著寫一個草圖! Oooor你可以在Arduino中使用我的或DHT測試示例草圖 - 》示例!
當你啟動并運行時,出去測量所有東西的溫度和濕度! 。.就像動物的呼吸,溫室或一年中不同時間你最喜歡的攀巖點,找到*完美的*發送溫度。
步驟9:模擬傳感器!
在難以深入數字傳感器后,模擬傳感器看起來輕而易舉!模擬信號是連續信號,如第2張照片所示。大多數物理世界存在于模擬(例如溫度,年齡,壓力等),但由于計算機是數字*,大多數傳感器將輸出數字信號。一些微控制器,如Arduino板,也可以讀取模擬信號**。
對于大多數模擬傳感器,我們給出傳感器功率,然后使用模擬輸入引腳讀取模擬信號。對于此測試,我們將使用更簡單的設置來測量LED上的電壓時LED上的電壓。
*計算機使用數字信號存儲和傳輸信息。這是因為數字信號更易于檢測且更可靠,因為我們必須擔心的是信號與否,而不必擔心信號的質量/準確性。
**要在數字設備上讀取模擬信號,我們必須使用模數轉換器或ADC轉換器,它通過將輸入與已知輸入進行比較來近似模擬信號設備上的電壓,然后計算達到輸入電壓所需的時間。有關詳細信息,這是一個有用的網站。
步驟10:項目3:LED作為光傳感器!
抓住LED(白色以外的任何顏色),100歐姆電阻和2根跨接電纜。哦,還有面包板!
步驟1:將LED插入面包板,右側有較長的腿。
步驟2 :連接Arduino模擬引腳A0的跳線和較長的LED支腳。
步驟3:在較短的LED支腳和面包板負電源導軌之間連接電阻(藍線旁邊)。
步驟4:將Arduino GND引腳連接到面包板上的負電源軌。
步驟5:編寫一個讀入的草圖模擬引腳A0并打印到串行監視器!
以下是啟動ya的示例代碼。
步驟11:可視化數據:Arduino IDE!
Arduino IDE附帶內置工具來可視化數據。我們已經探索了串行監視器的基礎知識,它允許我們打印傳感器值。 如果您想保存和分析數據,直接從串行監視器復制輸出并粘貼到文本編輯器,電子表格或其他數據分析工具中。
我們可以用來查看Arduino程序中的數據的第二個工具是串行繪圖儀,串行監視器的可視版本(又稱圖形)。 要使用Serial Llotter,請轉到Tools - 》 Serial Plotter。 照片2中的圖表是項目3中LED作為光傳感器的輸出!*
該圖將自動縮放并作為只要您對傳感器使用Serial.println(),它也會以不同顏色打印所有傳感器。萬歲!就是這樣!
*如果你看一下,有一個非常有趣的波浪模式,可能是由于我們的頭燈中的交流電(“AC”)!
第12步:可視化數據:Excel!第1部分
對于更嚴肅的數據分析,有一個超酷(并且免費!)Excel的加載項稱為 Data Streamer *,。
這個加載項從串口讀取,所以我們可以使用完全相同的編碼技術將數據打印到串口,直接將數據輸入Excel 。.哎呀!
如何使用Data Streamer加載項:
1。 一旦安裝完畢(或者如果你有O365),點擊Excel中的Data Streamer標簽(最右邊)。
2。 插入Arduino并點擊“連接設備”,,然后從下拉菜單中選擇Arduino。(照片1)
第3。單擊“開始數據”開始數據收集! (照片2)您會看到三張新紙張打開:“數據輸入”,“數據輸出”和“設置”。
實時數據打印在數據輸入表中。 (照片3)每行對應一個傳感器讀數,最新值打印在最后一行。
默認情況下,我們只獲得15行數據,但您可以通過轉到“設置”來更改此行。我們最多可以收集500行(限制是由于Excel帶寬 - 背景中發生了很多事情!)。
*完全披露:雖然本教程不隸屬于我,但我確實工作w/開發此插件的Microsoft Hacking STEM團隊。
步驟13:可視化數據:Excel!第2部分
4。添加數據圖!做一些數據分析!
散點圖顯示傳感器讀數如何隨時間變化,這與我們在Arduino串行繪圖儀中看到的相同。
添加散點圖:
轉到“插入” - 》“圖表” - 》“散點”。彈出繪圖后,右鍵單擊它并選擇“選擇數據”,然后選擇“添加”。我們希望我們的數據顯示在y軸上,x軸上帶有“time”*。為此,請單擊 y軸旁邊的箭頭,轉到數據輸入表,然后選擇所有傳入的傳感器數據(照片2)。
我們也可以在Excel中進行計算和比較!要編寫公式,單擊一個空單元格并鍵入等號(“=”),然后執行您要執行的計算。有很多內置命令,如平均值,最大值和最小值。
要使用命令,鍵入等號,命令名稱和左括號,然后選擇要分析的數據并關閉括號(照片3)
5。要發送多列數據(AKA多個傳感器),請在逗號分隔的同一行上打印值,最后一行為空行,如下所示:
Serial.print(sensorReading1);
Serial.print(“,”);
Serial.print(sensorReading2);
Serial.print(“,”);
Serial.println();
*如果希望實際時間在x軸上,請在“數據輸入”表中的“A列”中為散點圖中的x軸值選擇時間戳。無論哪種方式,我們都會看到我們的數據隨著時間的推移而變化。
第14步:進行測量并測量所有事情!!
-
微控制器
+關注
關注
48文章
7680瀏覽量
152357 -
Arduino
+關注
關注
188文章
6478瀏覽量
188290
發布評論請先 登錄
相關推薦
FPGA 與微控制器優缺點比較
stm32與Arduino的比較
嵌入式系統中微控制器與微處理器的區別

ESP32 微控制器系列指南


微控制器內部的存儲器有哪些
微控制器的結構和應用
微控制器與運動控制器的區別
微控制器是否能替代PLC
微控制器的定義和工作原理
針對 C2000? 微控制器的集成微控制器 (MCU) 電源解決方案數據表

評論