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

一文認(rèn)識(shí)ARM微控制器及瑞薩RA系列MCU

FPGA 與微控制器優(yōu)缺點(diǎn)比較
stm32與Arduino的比較
嵌入式系統(tǒng)中微控制器與微處理器的區(qū)別

ESP32 微控制器系列指南


評(píng)論