那今天我就簡單講一下開源硬件以及什麼是開源以及開源硬件包括了什麼東西然後然後開源硬件我們除了開源硬件我們可以利用開源硬件做什麼東西然後這邊的話今天的大綱會大概是這個樣子首先我會先講一下什麼是開源然後我介紹一下開源平台當中的其中一個也就是我們可能也聽過的Arginal的這個平台然後簡單說一下它的上屬指南以及配合Arginal是可以如何配合Groove這個傳感體系去快速的搭建這個產品的原型好 那什麼是開源其實開源這個這個是是指事物的就是指一個東西它所有的原代碼都是可以公開訪問的然後人們可以通過修改以及去分享然後其實最開始開源這個名詞是寵物起源於軟件開發裡面指的是一種很一種開發軟件那種特殊形式不過今天到今天開源以及變成了我們稱之為開源的一種方式那這個概念就包括了我們說開源的項目我們開源的產品或者說一種文化一種協作參與快速原型公開透明的然後什麼是開源軟件呢開源軟件就是軟件的原代碼都是可以審查修改以及增強就是原代碼是完全開源的就是完全開放的那程序員可以通過修改代碼來改變一個軟件以及共同協作那麼從開源軟件我們常見的我們開源軟件常見可能聽得比較多的就是像這幾個就是比較著名的開源項目像Linux的內殼它就是一個開源軟件然後以及我們的數據庫以及我們的GitHub是我們開源社區最活躍的一個社區然後開源軟件對於技術發展其實有著一個很大的一個助理它提高了一個維護性以及可發現性以及覆蓋面和質量那通過開源這個社區就可以列帶出五十個開源的項目然後GitHub因為有著很多的開源項目所以它上面所有的項目都其實不是一個人寫的都是靠著千千不同的貢獻者一起去開發這就是開源的一個意義所在然後那麼現在我就講什麼什麼是開源硬件呢其實開源硬件其實也是從開源軟件這邊預申過來的一個體系然後這邊簡單講一下開源硬件是一個比較主流的一個平台開源硬件其實主要的有四大平台像Adrino然後上面一個草莓那個就樹莓派就我們的RaspyPy然後就是BBC合作推出的一個叫MicroPad的一個機遇也是一個開源硬件的一個平台不過這個就是教育低靈化然後也很多學校用於做創科教育就是用MicroPad基於這個產品體系去做的一個創科教育的一些東西然後另外一個就是我們可能更加高階的一個叫BBG的一個產品體系然後其實開源硬件就從這邊就誕生了很多分支像最近就這幾年很活的創科文化創科教育其實就是屬於從開源硬件分支出去的然後創科教育又可以分支到Steam教育這幾個都是跟開源硬件所相關的那麼其實開源硬件跟開源軟件是互通的因為開源硬件就涉及到軟件軟件的部分也是開源的要下面簡單介紹一下Groove這個體系Groove就是我們現在手上看到這40個傳感器Groove體系是什麼呢那Groove體系就是我們的一個傳感器體系7D的一個傳感器體系在沒有Groove之前呢我們如果想使用傳感器以及我們主控我們開發版如果想對他們進行一些硬件上的連接是比較繁瑣的他們都是需要可能涉及到一些焊接以及一些基本的電子硬件之時然後我們就把這個過程搭建這個具體電路的過程就簡化了我們通過用Groove就需要用一根Groove的連接線就可以跟我們的傳感器以及我們的開發版進行一個連接所以每一個Groove可以實現一個功能它只需要一根Groove線就可以解決這個後面大家到實操的時候可能就比較好理解然後現在我們手上的這個就是我們的Groove Create again我們的一個創新者套件然後它這個是我們的Alpha Beta版本然後包含了40個不同的傳感器然後傳感器就分了我們分了幾大模塊然後這就是像執行器輸入模塊、顯示模塊、LED模塊以及一些常見的一些傳感器模塊都包含在這裡面然後這一套的傳感器也是支持這三大開源硬件就是它們都是兼容的它們同時支持Adreno、Sume Pie以及Micro Beta只需要不同的一個擴展版就可以跟它們用一根Groove線就可以進行一些連接然後我這邊準備了一個小的視頻簡單講一下什麼是Adreno在開始介紹Adreno是什麼之前我想請問什麼是電腦來看一下我們要組裝一台桌上型電腦需要買哪些東西吧首先是一台電腦主機接著你還需要滑鼠、鍵盤或者是搖桿才能夠操作電腦當然還有電腦螢幕跟喇叭這樣才可以看影片玩遊戲也就是說當我們點滑鼠用搖桿的時候對主機來講你正在對它輸入訊息我們稱這些裝置叫做輸入裝置而當電腦主機收到訊息經過處理後會把資料顯示在螢幕上把聲音用喇叭放出來我們稱這些裝置叫做輸出裝置夾在中間的電腦主機當然就是負責管理所有的輸入跟輸出裝置我們姑且稱它為整個電腦系統的大腦有了這樣子的架構我們就可以說這是一個功能完整的電腦好了現在一堆電腦有基本的概念了那我要問第二個問題請問什麼是Adreno它的答案很簡單Adreno就像一台沒接滑鼠沒接螢幕跟喇叭的電腦主機這時候你敢在想什麼就有一台電腦主機要怎麼用所以它還需要搭配Adreno專用的輸入跟輸出裝置也就是所謂的模組關於模組這個東西等一下你會發現它超級好玩的那Adreno這一台小型的電腦主機或者我們也稱它叫做開發版到底可以做哪些事情呢也許它能做得超乎你的想像如果你用Adreno Project在YouTube上面搜尋你會看到這幾年很活紅的四軸支撐機LED矩陣甚至是用香蕉來彈鋼琴都可以用Adreno來完成而且Adreno能夠在全世界有這麼多的玩家就是因為它對於沒有工程背景沒有程式基礎的任何人來說都是非常容易上手的開發版所以只要跟著接下來的影片走很快你就能開始創作精彩的作品囉如果有到他們的官方網站逛一逛你會發現Adreno其實是一系列這種小電腦的總稱根據不一樣的用途可以搭配不同的型號今天我們要介紹的就是最常見的Adreno Uno這塊板子建議在收看影片時隨手準備一塊Uno可以讓你學習效果更好喔首先在板子的上下兩個部分有好幾排黑色的接口它們的功能就像是電腦主機後面可以接螢幕接滑鼠鍵盤的地方我們稱它叫做Pins也就是所謂的接腳這些接腳旁邊都有編號或者是功能的說明包含上排的0到13右下的A0到A5還有它旁邊的電源接腳在板子的左上方有一個按鈕我們稱它為重製鈕按下去Adreno就會重新開機按鈕下面有一個音色的插孔可以用USB線跟電腦連接把程式傳送進去它同時也提供板子的電源所以只要接著這一條USB線你就可以讓Adreno開機跟工作了介紹到這邊我們已經的音符非常多的功能了其他部分再有需要的時候再跟各位介紹囉回到最一開始的這張圖我們現在可以把電腦系統的大腦換成Adreno開發版了但是Adreno並不是透過滑鼠鍵盤來操作使用的還記得我們在介紹電腦的概念的時候有提到對Adreno來說它的滑鼠鍵盤跟螢幕就是所謂的模組這些模組到底是什麼東西以剛才提到的四軸直升機當做例子你要讓直升機背起來就會用到直流刷馬達要控制馬達的轉速你就會需要電子的調速器要讓直升機穩定的飛行你就得使用飛行控制板如果要用遙控器操作飛行的方向你就需要無線電收發器這些東西都是製作四軸直升機所需要的模組而Adreno就是負責操控他們的電腦整機你只要跑一趟電子材料行你就會發現有上百種的酷炫模組可以使用隨時針對你需要的功能自有搭配看到這邊你已經了解Adreno的基本知識了接下來我要介紹Adreno的開發環境在開始寫程式之前先去下載寫程式的軟體吧進入Adreno的官方網站點選Download依照你的系統下載檔案並且安裝這個東西我們稱它為Adreno的 IDE也就是整合了編輯驗證跟燒錄程式的綜合編輯器以後我們的Adreno程式都會透過它來完成所以這個東西一定要安裝從一開始到現在我們介紹了好多東西但是要Adreno實現一個新的點子到底需要經過哪些步驟呢我的做法是先在筆記本裡寫下我的點子還有它的功能然後開始尋找需要的模組跟材料東西都背脫以後就開始依據模組的規則還有我想要的功能編寫程式然後我會把必要的電路設計完成把程式燒錄到Adreno當中檢查功能是不是對的如果出現錯誤就根據 IDE 告訴我的錯誤訊息修改程式或者是電路如果功能正確就大功告成囉這看起來是一個超級複雜的過程不過不用擔心之後我們會帶你一起來就簡單介紹一下什麼是Adreno那其實Adreno就是其實就是一個基於單片級的一個硬體平台然後它是用了一個叫Adreno IDE 的一個編寫軟件的一個開發環境組成它是可以用於開發很多交互類的產品以及快速的一些搭建一些產品的原型因為它有很多的它可以讀取大量的一些傳感系列信號從而去控制很多輸出的一些模塊那麼這邊就簡單講一下因為今天我們是用了我們現在桌子上都有一個Adreno的板子然後這個Adreno板子我說了Adreno就是一個基於一個芯片的一個單片機然後我們看到Adreno如果你們仔細看它是有一個就是可以拔出來的一個芯片很長的那一塊它其實所有功能實現就基於在這個小小的芯片上面然後這個我們Adreno用的芯片就是這個Amega328的一個芯片然後現在市面上其實也做了很多很多不同的一些更加便宜的一些兼容版然後他們是之所以就是做了這麼多兼容版就是因為他們他們可以兼容Adreno這個平台就是因為他們用了其實只要用了相同的芯片就可以做到同一樣的開發環境所以我們公司其實也做了很多Adreno系列的一個兼容版就是用了他們同樣的一個芯片然後這邊的話著重講一下這個Base Show是什麼東西就是我們剛剛說到我們的Groove體系是一整套的一個傳感系體系然後我們我們如果想更方便的去使用我們Groove體系就需要一個這樣子的一個兼容版它這個兼容版的作用就是在上面直接把Adreno原有的一些接口轉換成我們的Groove接口就是只要你把這個擴展版安裝在Adreno上面它就可以實現跟我們Groove整個體系的一個互動它的它的安裝方式其實就直接扣在Adreno上面就好了它是相對的它就可以直接扣上去了然後這樣子就可以對我們的Adreno跟我們整個Groove體系進行一件簡單的連接然後這邊可能會講一些些Adreno的一些基本剛剛可能如果有一定背景的話可能這個還比較簡單就是簡單講一下Adreno它要分了什麼它主要的硬件上面有什麼東西它有它它其實簡單的只分了兩類它只有一個叫數字接口就是Digital的接口它是用於輸入或輸出數字的信號那麼在在電路裡面的數字信號只分了兩個狀態一個就是高的一個數字信號的狀態一個就是低了一個數字信號的狀態就是0和1它只有這兩種狀態然後在實際的實際的電路裡面高的狀態通常是3.3V或者5V這個就是只要有這個只要在電壓在這附近要在3.3V以上或者5V它就會顯示是數字信號1然後低於那個就會是0Yup3.3V是現在用的5V是通常的V for high3.3V是它是關於CMOSCMOSV is 3.3VMOS Group Walls真的全都是它只有5V但現在MOS GroupModules可以用3.3VArduino 其實這是5V的外出但Summing Studio 只有外出3.3V所以你必須確認然後這個的話現在可能還不需要講太多然後數字接口如果我們看它數字接口是靠近那個圖標右邊那邊都是數字接口然後如果我們看它數字接口Arduino 總共有15個數字接口15個0到15然後它有一些是旁邊帶了一個波浪型的這種數字接口就比較特別它是可以作為一個PWM的一種輸出它這種輸出模式就是它以一種數字的模式數字的數字信號一種數字信號去模擬去模擬輸出它就可以它的作用是用於一些不只是只有兩個狀態的就是點燈它可以逐漸去點亮一些LED或者去控制我們的師傅電機就是帶動我們的電機到那種情況下我們就需要用到我們PWM輸出這個可能晚一點會詳細去說所以現在還不用太然後我們這邊還有除了數字接口之外我們還有一些模擬的接口我們模擬接口這邊主要是用於接收一些模擬的信號那麼Arduino自帶了10位的ADC它就可以把一些模擬的信號轉換成對應的一些信號就是轉換成電腦可以讀的一個狀態像那這邊簡單做了一些運算就是1023因為它是因為10位的ADC它總共就是1024位從0開始算那麼1023就代表是5V那麼512就代表是2.5V就是接收了如果電腦接收了2.5V它這個就是在數數上面就會看到是512的這個數字然後這個模擬接口是主要用於接收模擬信號的一些傳感器像光感音量這些都不是說只有兩種狀態之類只有開合觀這種是一種波浪型的一種正旋波類型的所以這種是用於接收模擬的信號然後下面就簡單講一下這樣子我這邊還講了一下我們的iPhone C協議其實這個協議簡單來講就是比數字跟模擬更高階的一個協議就是可以如果我先來講一個例子就是如果我們使用只用數字接口的方式去把我們的傳統的一個LCD顯示器跟我們的Adreno去做一個硬件上的連接的話我們需要做我們需要用到很多那些電阻電容以及我們一些以及很多跳線它可能會用到十多根線可是因為它協議它用到的數字協議它一個線只能表示一個狀態可是如果我們用了更高級的iPhone C一個通信協議的話我們只需其實只需用我那些兩個線其實是兩根數據線再加兩根電源線總共四根線就可以實現就是傳統上如果只用數字接口這個協議的話十多根線才能做到的事情然後這個協議就現在就用的比較廣泛就是主要就是去減去那些複雜的連接方式然後四根線也剛好是我們Groove的Groove的一個剛好是我們Groove也釋拼了所以很多iPhone C協議都直接用四根線就能解決然後這邊我就開始講簡單讓大家上手Adreno如果有電腦的話其實我這邊準備了一些軟件可以實際去做一些簡單開發那我這邊如果大家的完妝了繼續講這邊的話先可以做個簡單的簡單的測試是我們下載好了之後我們可以先把Adreno連接到我們的電腦上然後呢就在我們這邊它就在我們上面你如果打開Adreno的時候它上面應該會有一個有一個工具然後在工具上面點擊開發版選擇我們的Adreno Uno我們這個版就是Adreno Uno首先要選擇正確的開發版然後呢我們就看這個選好之後我們還要選一個端口我們電腦戳上去之後Denix跟Mine一樣應該是Dev這樣子的然後我們就可以點擊選擇那個點擊然後它就會選好了然後我們版子選好了之後我們就可以先上傳一個最簡單的測試文件這個測試文件在文件先如果是英文的應該是File然後有ExampleBlink它這個是在ID上面的直接在Example01Basic然後Blink它就會彈出一個新的窗口然後這個新的窗口之後我們在左上角有個箭頭的時候再點往下一點不是直接在對這個是編譯就是編譯就跟編輯一樣就是看有沒有錯誤編譯沒有錯誤的話就直接可以點右編譯點點這個箭頭就可以點Upload可以讓它編譯就是減差我們預防的錯誤沒有錯誤的時候這裡就會出現張開門就是我們編譯完成編譯完成我們直接可以正常形容一下直接燒血然後就是當它Upload然後這個就是簡單然後這邊這個LED就開始散就是簡單測試版這個一個功能然後呢我們繼續回頭這邊我就講一下其實Arginal基本語法它變成的語法它Arginal其實是基於基加加它的開發環境其實就是西加加就是一個變種的西加加語言所以我們是有西加加這邊就對C了解嗎CC了解那就很好就是其實就是這邊我就簡單講就是我們看剛剛那個其實我們看剛剛那個這個LED內置這個Blank開始散的時候我們就看一下它代碼我們是怎麼實現的Arginal是基於西加加做了一個它的編成是基於西加加的一個分支所以我們它它結構像有一點點會像西加加然後它這邊結構部分呢它只分了它分了兩個部分它需要兩個結構然後第一個就是Voice Setup這裡面它必須你一個Arginal程序必須有Voice Setup以及Voil Loop這邊這兩個結構然後Voice Setup呢我們就是每一次Arginal每一次Arginal上墊它第一次第一次上墊每一次上墊它都會讀取先讀取先調用Setup裡面的東西所以這個函數裡面通常是用於一些我們對變量的一些初始化以及對我們一些影角進行一些初步的設置就是假如我們這個是輸入的模塊我們對它進行一個輸入的把它定義成輸入類型然後這邊還有一些頭文件如果我們有用到一些比較複雜的比較複雜的模塊可能要用到一些頭文件在這裡也是在這裡定義然後Loop部分就是我們的核心我們整個Arginal應該是基於在Loop裡面讓它不斷循環然後這裡我們簡單去看剛剛剛剛我們去看剛剛那個Blank它這個點亮是如何去實現的我們先看Setup這個結構我們首先需要定義我們的內置LED作為一個輸入類型它是怎麼做就是其實如果我們看它就是很簡單我們在它的初始化函數也先首先有個第一個定義我們把我們定義的方式可以是這樣子Pin Mode就是這個是Arginal自帶的把它定義成我們這個也是自然Built-in這個也是就是它自帶就是表示了內置LED就是我們首先把它定義成一個輸出這裡是輸出就是在Setup裡面只需要把它定義成為為一個輸出類型然後在我們組組函數我們Loop循環函數裡面我們就可以看到我們就可以寫Digital Write這個就是數字寫入數字寫入我們的變量我們變量就是我們剛剛的內置LED然後把它寫成高就是我們數字信號高然後就是把它電平拉高了然後我們再做一個Delay然後再把它拉低然後再做一個Delay然後就在這個組函數裡面不斷循環它就做到了這個一直在賞這個這些語法都是跟C++一樣的所以如果有對C有一點了解的話就可能看得比較容易然後下面的話就開始把我們的模塊也用進來我們現在首先在這個基礎上就加多一個加多一個輸入模塊我們用Button就我們在這一個一整套的裡面應該可以找到挺多按鈕的按鈕長什麼樣子呢先用不大LED的那個然後下面就可以開始把輸入模塊加進來然後對然後下面我先就是我就是剛剛我們那個我把那些我把那些歷程都寫在那個DEMO文件上DEMO文件上有一個叫Button的I don't know文件我們可以把把它點開然後這裡我就寫了個很簡單的一個歷程然後這邊就跟剛剛其實就是基於剛剛的一個剛剛那個基礎上加了一些做了一些延伸首先我們首先我們要加入一個外面的模塊首先我們可以定一個長量我們把我們的Button Pin這個名字Button Pin這個長量定為數字定為3然後我們在PIN模這裡用這裡的時候就把這個按鈕定義成輸入類型然後這就代表了然後這裡我還定義了一個辨量叫Button State這個我晚點會用到所以定義了一個Button State的一個辨量這裡晚點會用所以我們一樣我們先看Setup裡面有什麼東西Setup裡面我們直接先PIN模先定義我們剛剛定義了長量3就是我們把3定義為一個輸入類型3就是我們的數字解构3然後然後我們這裡我多了一個Serial Begin這個也是Arginal自帶的Serial Begin就是我們把我們的一個叫串口通行器串口監視器串口監視器就是我們通過電腦去監視一個對Serial Monitor就是我們通過串口去監視它一個狀態我這裡先把它開始這個串口監視通常也是在Setup這邊開始的就主要去用Debug就是去用用Debug然後這邊我就調成了9600的一個比特率所以正常是9600或者115200也是可以這兩個比較常用然後我們看到主函數我們看到我們循環這個函數裡我用到我之前定義的一個Button State這個辨量去等於這個Digital Read也是我們Arginal自帶的Digital Read就是數字讀取的意思我們不斷去讀取這個這個接口3就是這個長量就是它連接的是Button它不斷去讀取它這個數據然後我們這裡就直接把它Serial Print直接把它打印出來我們看它狀態然後現在我們就是可以把這個這個這段代碼直接上傳到我們Arginal那我就講下一個就這個就很簡單吧一些模塊現在有個多了一個輸入的模塊然後下面的話我就繼續然後這邊我準備那個文件夾裡面還有一個叫Button LED的Button斜槓LED的Arginal文件然後也可以把它打開這個是另外一個就是把之前的內置LED跟我們的跟我們的一個按鈕做一個簡單的結合然後我們也可以先直接看一下它代碼怎麼實現首先我們前面部分一模一樣沒有變也定義了就是我們先定義我們那個Button片就是我們實際按鈕的一個長量我們可以定義它為長量然後上面還是一樣我出實化了一個變量叫Button State去晚點用就是晚點去監測它的一個狀態然後Setup這邊呢我就又定義了一個輸入和這是多了一個輸出然後我們首先我們可以把我們的內置LED內置LED它的它那個就叫做LED下滑線Built-in這個是內置的然後我們就直接把這個變量定義為輸出然後下一個我們把之前定義的就是放在數字3的那個長量定義為輸入然後現在就我們在Setup裡面看到它已經多了一個輸出就一個輸入一個輸出然後我們就直接再看我們的組函數我們的循環函數裡面第一步也是一樣不斷去監測它這個狀態所以我們把Button State這個變量等於我們數字寫入我們數字寫入這個按鈕的接口所以我們不斷去讀取它然後下面就剪這裡就看得懂就很簡單就如果我們寫了個if else做一個流程控制就可以看到如果它是數字是高的就是按下去的狀態我們就把我們就Digital Write我們的那個內置LED為高信號如果不是的話它就沒有按的話就直接把信號拉低然後我們也可以把這個再把直接寫進去然後這個LED這種就是最簡單的輸入輸出類型然後這個內置LED其實你可以接就是外置的LED就是你接其他真正的LED也行然後這邊我繼續往下講這個就簡單了多了一個輸入現在有兩個五塊一個輸入一個輸出然後繼續往下的話這個就講了一下這個簡單講一下我那個流程圖我們首先一開始就首先要讓Arginal初始化就是我們用了哪些模塊需要在setup裡面定義然後這個程序剛剛這個程序的流程圖就是首先我們讀取一個狀態然後檢測按鈕的狀態然後再去點亮LED或者如果它是按下的狀態就點亮LED如果不是我們就關閉就是簡單的這個一整個這個簡單demo的一個流程然後下面它其實就是這樣子有一個輸入我們Arginal就是我們那個控制單元我們的大腦我們的開發品就是我們的大腦然後我們會有一部分的輸入然後一部分的輸出就比較簡單然後這邊demo的話做了簡單大的三個過來就第一個就是這個按鈕就是按鈕然後去按鈕點燈然後去還可以就是通過PWM輸出去逐漸開很逐漸關然後另外一個就是就是我們的光感傳感器加上我們的機電器然後機電器這邊其實可以接就是接一些傳統家電就是去像一些小的台當地接在一把電線接在這個機電器上面就是真的是可以通過這個光感傳感器去控制它然後最後就是做了還有這個就是溫室度傳感器再加4位數碼管輸出就是三個然後這個還做了另外一個版本就我們這個套件裡面還有一個LCD顯示器就出了溫室度傳感器可以在4位數字4位顯示器上面顯示還有就在LCD顯示也行然後這三個的話我們跳1個吧你覺得這個嗎然後這個有兩個版本一個就是這個數字顯示器的另外一個就是一個LCD這種類型所以在這裡數這個就是這一部分就這個部分就要夾雜一些庫就是有一些比較複雜的光感器我們S1那邊就會對它就是比較複雜的部分會放在頭文件然後我們夾雜方式是我們點擊項目然後Manage Manager而Manage Manager在這裡點擊一下然後我們首先需要打我們的溫室度傳感器打groupDHT這個是這我也簡單講一下就是這一個在溫室這麼顯然後首先我們在兩個的阻含數外面我們先因為是比較複雜的然後我們把這個DHT是這個這個LCD版的然後首先我們就是我們要先包含它一些頭文件最上面那些都是頭文件第一個include wire.h這個就是我剛剛講過那個iPhone C協議的一個頭文件首先我們要把它包含在這個然後我們就再看Zettel裡面Zettel裡面我們也需要做一些觸手化首先我們有第一句就是LCD.beginLCD.begin就很簡單我們是把它觸手化然後我們這個LCD是16x2的所以就是16然後2然後在下面就是我們也把我們的DHT就是我們溫室度傳感器觸手化也是一樣DHT.begin要空的一個含數然後呢這邊其實我覺得建議其實要不先直接上傳可能會就是要對準DHT然後這邊我繼續講那個代碼然後我們再看觸手化一些我這裡寫了一個LCD.sector就是把它光標就是我把它打印的光標首先是設置在0000的意思在這個LCD我們的庫是代表是它是從0開始算的它是從D0數它是數和行這樣子算可是是D0數D0行然後它現在sector就它的光標就在D0數然後我們直接LCD.print就是把它打印打印我們這裡可以用一個String類型它可以讀取String我這裡直接寫Temperature等於它就從00這個位置打印Temperature然後我再set它來Cursor因為我要換一行然後我這裡就把它它的光標的位置就set成寫成LCD.setCursor就把它光標1到01就是D0數第一行就是下一行然後在這裡再寫再打印Humanity就是我們的適度然後這邊就把我們因為這邊是可能不會變的這Temperature和Humanity其實它一直都沒有變只打印過一次就不用管它然後我們在我們阻含數裡面Lubnium就多了一些東西這邊就是具體去讀取數據的一個部分然後這裡我先定一個整數類型就定一個變量然後我就叫它Demperature然後我們直接用我們我們之前這一期都包括在我們頭文件裡面就可以直接調用這個函數直接它的用法就是DHT.VTemperature就直接把它的數據讀取到我們這個就保存到我們這個變量裡面一樣的Humanity也一樣直接讀取到我們這個變量裡面然後我們用同樣的方法就把郵標放到我們要用的位置然後我看了就是你其實數也數得出來就直接它數我當時就是數的現在因為它有16位16乘2所以這個數它是到第12個所以它就放了12個然後我打印Temperature就是我的變量的數變量它直接打印那個然後在在它後面再打一個C就很像那個度然後這邊就一樣再把那個郵標放到9191就是第95第9數就對第9然後第1行是0行0行1行然後在這裡再打印Humanity就是直接讀取打它的數據對對對其實有點類似對它是從0開始對這也是上面就是00這就是01對它可以可以然後然後我後面加了一個Delay就是不用它不用讓它讀太快然後後面我就定義了一些定義了一個Delay含數Delay就是我們一個暫緩的一個含數就是把它整個程序緩個100100這裡單位是好秒MS就是1000MS就是1秒我們就只Delay一點點這個默認它這裡Delay裡面默認的單位是MS可是可以去改可是我就直接就不用讓它讀太快然後這個就是最簡單的就是直接在那裡速度因為然後這邊就是溫時度加LCD的簡單那個短次然後其實還有還有另外一種導致方法就是用四位顯示器因為這邊這邊還可以用四位顯示器的方法這邊就講一下我也簡單講一下吧可以先把那四位顯示器找出來它長大概是然後在那個Demo文件夾裡面然後這邊前面的其實定義都是一樣的差不多的首先我們定義了溫時度傳感性的那一邊都是一樣的類型然後我們這邊就是把我們的LCD那個定義的部分換了一下換成了TM就是換成我們數字顯示器的定義方式然後這邊定義方式它這邊用了兩根線用了三和四就是它用了數字的兩根線因為它有一個是時序有一個是clog有一個是data然後它是用了兩個線不過我們group因為是四pin的它其實也是其實還是一個還是一個線就還是一個group線然後這個是接在三第三因為三跟四我們的group其實是第三它是第三的放在一起所以其實我們是有兩個口然後這個就是我們等一下會接到第三就這個四位顯示器然後在setup裡面一樣我們初始化一些東西我們初始化溫時度傳感性然後tma這邊就是我們四位顯示器我們也初始化然後這個因為是比較老的一個老的一個產品這邊定義了當時定義的方式當時寫的定義方式有點跟現在的不一樣這也是寫了tma就是它芯片名字點init開始了就不是我們的begin因為這比較舊的對就當時寫的比較舊然後我們這邊定義完了之後我們就繼續看到我們的group裡面一開始我們一樣還是有兩個辨量去不斷讀取它的數據然後這邊顯示的部分我們這些都是在這些喊數使用說明都會在頭文件那邊顯示然後這邊數字顯示器的話我用的方法就是用磨粗的方法就是讀取每一個位數第一個我先讀先看第二行吧這裡就是temperature就是磨粗時我們直接讀它個位然後在上面這裡就是先讓它處於時再磨粗時就讀它就時位時位數的數字要在這裡分別顯示出來然後這邊也可以直接上傳看一下然後這邊就用了數學的就是軟件用的數學比較多就是用磨粗去把那個數字整數拆分出來簡單其實還有另外兩個另外兩個你們回去也可以看一下