Arduino 01 - 認識Arduino

閱讀時間約 6 分鐘

什麼是Arduino?

Arduino是一種被稱為「開發板」的東西,能夠用來做出各式各樣的裝置。而使用的方法是將「模組」接上去,並輸入程式來控制它,製作自己的玩具。這篇文章後面將會陸續介紹硬體及軟體,最後會用一條傳輸線和一片Arduino來做出一個簡單的專案!


Arduino的本體—開發板

Arduino其實板子不是只有一種,到他們的網站上看,會有大大小小的板子。本文將會使用Arduino UNO來示範。在模擬起來像這樣:

在Tinkercad上模擬的樣子

在Tinkercad上模擬的樣子

raw-image

上面有很多看起來相當複雜的東西,接下來會來解釋這些東西的功用:

Arduino上的東西

左上角有個重開機按鈕,按下後可以重新運行一次程式;它底下的銀色大方塊要接上傳輸線,供電和上傳程式都是要靠這裡;板子中間那塊有很多LED燈,有接上電源的時候寫著ON的LED燈會亮起來。寫著L的則是內建的LED燈,待會就會用到它。

最後有個最重要的東西,就是上下兩側的黑色洞洞,可以接上模組。雖然這次不會用到,不過要做出有趣的功能,這些洞洞必不可少。它就是接腳,下面的POWER顧名思義,就是可以幫模組供電的腳位,GND就是負極,有V的則是正極,不過有時候不會用到正極。因為上面出現的DIGITAL PWM(~)那邊,可以控制訊號輸出,會有0和1。1就代表有訊號、有電,0則是相反,什麼都沒有。

在digital這邊,你會發現後面有PWM(~),PWM就是一種能讓數位(0和1)假裝成類比(0到很大)的東西。數字旁邊有~的腳位就可以用PWM,其他的就不行了。

剩下的ANALOG IN就是剛剛提到的類比腳位,可以接上類比的模組。就跟前面提到的一樣,能夠設定大小。如果拿燈來比喻的話,數位就是只能開和關,類比則是能夠調整亮度。


Arduino的程式

Arduino裡面有很重要的一環——程式,它的程式可以用來控制Arduino,如果什麼都不寫,就什麼都不會發生,所以一定要把程式傳進去。

首先要到這裡,根據你的作業系統選擇下載的檔案,目前的版本是2.2.1,應該會看起來像這樣子:

Arduino的IDE

Arduino的IDE

可以看到畫面上有很多區域,我會大概分成這樣:

raw-image

1.運行區,從左到右是檢查(看能不能運行,但可以過不代表寫對了)、上傳、除錯、 選擇板板、兩種不同的序列阜監控視窗

2.管理區:檔案、板板管理員、程式庫、偵錯、搜尋

3.可以寫程式的地方。現在有兩堆上面是初始的設定,下面是會重複運行的東西。


接下來會講3個比較基本的程式,分別是:digitalWrite()、delay()、pinMode()。其實有很多的程式都會用到括號,各自代表不同的數值,有些是腳位跟狀態,有些是數值大小。那首先介紹的是digitalWrite,分開來是digital(數位)、write(寫),意思是指會在數位的腳位裡面寫入數值。使用的方法是假設要讓3號腳位變成1(啟動),就要寫digitalWrite(3, HIGH);。括號裡面的3是代表幾號腳,隔了逗號的HIGH是代表啟動。替換腳位只要換數字就好,要關閉的話就要把HIGH變成LOW。最後的分號是代表指令結束了,幾乎每個程式最後都會用到分號。

再來是delay(),是等待的意思。如果要讓程式暫停運行1秒鐘,就要寫delay(1000);,注意括號裡面要寫毫秒,也就是千分之一秒。所以如果要寫1秒鐘,需要寫到1000。

最後是pinMode(),這個通常會寫在初始的地方,用處是決定一個腳位是輸出的,也就是會產生反應的;還是輸入的,可以對它做事讓它感應到的。寫法是pinMode(3, OUTPUT);,意思是3號腳位要設定成輸出腳位,之後才可以用digitalWrite。


實作練習!

接下來是實作!要讓Arduino上的內建LED閃爍!

建議可以手動自己打,讓大腦跟手記起來打下程式的感覺,比較不會那麼容易就忘記了

首先,要先打開一個Arduino的檔案,目前會像這樣:

void setup() {  
// put your setup code here, to run once:

}

void loop() {
// put your main code here, to run repeatedly:

}

再來,我們要進行初始的設定,要把有//的註解刪掉,寫上兩個斜線是註解,能夠在後面自由的寫字,讓自己理解這是做什麼用的,不過原本的這些現在用不到。接下來在void setup的大括號裡面,寫上

pinMode(LED_BUILTIN, OUTPUT);
這個LED_BUILTIN是內建LED的腳位,OUTPUT是輸出的意思,所以這行程式會讓內建LED可以控制

接下來會像這樣:

void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
}

​然後呢,可以在void loop,也就是循環運行的地方,寫上:

digitalWrite(LED_BUILTIN, HIGH);

delay(1000);

digitalWrite(LED_BUILTIN, LOW);

delay(1000);

這幾行程式能夠讓內建LED閃爍,第1行是讓燈亮起來,第2行是暫停1秒鐘,第3行是讓燈暗下來,第4行也是暫停1秒鐘。這些數值都是可以改變的,像是更改delay裡面的數字可以讓閃爍間隔增加或減少,可以自己試試看喔!

現在看起來像這樣:

void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}

這樣幾乎就成功了,接下來,最後的步驟就是把傳輸的線接上,並且上傳這個程式,如果看到了閃爍的結果,那就代表成功了,大功告成!

    avatar-img
    2會員
    5內容數
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    你可能也想看
    Google News 追蹤
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
    Thumbnail
    Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
    Thumbnail
    在這18周的自主學習計畫中,將深入研究Arduino抽水馬達模組的原理,同時學習如何整合濕度感測器以實現一個基本的溼度控制系統。計畫內容包括模組原理的瞭解、安裝、Arduino的安裝、程式碼撰寫,以及最後的實測和反思。
    Thumbnail
    本文介紹了抽水馬達和繼電器的工作原理,以及如何與Arduino搭配使用。繼電器的定義、結構、和工作原理,以及抽水馬達的定義、結構、和工作原理都有詳細說明。此外,還介紹了串聯和並聯的關係,並提供了抽水馬達模組的程式碼。
    Thumbnail
    瞭解濕度感測器的工作原理及不同型號的溼度感測器。 濕度感測器是一種用於測量環境中相對濕度水平的裝置,它們通常被應用在氣象站、農業、溫室、室內環境監控等領域。這些感測器的工作原理基於材料的濕度敏感性,並且常見的技術包括電阻性、電容性、和共振式等。
    Thumbnail
    紅外線(IR)接收模組是一種常見的元件,可用於接收來自遙控器等設備的紅外線訊號。在本教學中,我們將使用Arduino來連接和讀取IR Receiver Module V2.0模組,以捕捉紅外線訊號的數值。讓我們開始吧!
    Thumbnail
    Arduino是一個開源的電子原型平台,它讓您能夠輕鬆地創建各種互動式電子項目。在開始之前,您需要安裝Arduino的開發環境。本文將詳細說明如何在台灣使用台灣用語來安裝Arduino環境。
    Thumbnail
    Arduino Nano有組UART port,但是真的需要用UART的應用最好不要用它,因為用了會有這些問題...
    Thumbnail
    本專題為兩塊ESP8266-ESP01 ,分別為 Arduino+ESP-01+YL-69 土壤濕度檢測器與LED燈 ,以及 ESP-01 + DHT11 + LED 傳輸給伺服器端,並於伺服器上 WebSite 透過ESP-01上傳儲 存於 MYSQL 資料呈現曲線圖給前端使用者。此外,前端使用者
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
    Thumbnail
    Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
    Thumbnail
    在這18周的自主學習計畫中,將深入研究Arduino抽水馬達模組的原理,同時學習如何整合濕度感測器以實現一個基本的溼度控制系統。計畫內容包括模組原理的瞭解、安裝、Arduino的安裝、程式碼撰寫,以及最後的實測和反思。
    Thumbnail
    本文介紹了抽水馬達和繼電器的工作原理,以及如何與Arduino搭配使用。繼電器的定義、結構、和工作原理,以及抽水馬達的定義、結構、和工作原理都有詳細說明。此外,還介紹了串聯和並聯的關係,並提供了抽水馬達模組的程式碼。
    Thumbnail
    瞭解濕度感測器的工作原理及不同型號的溼度感測器。 濕度感測器是一種用於測量環境中相對濕度水平的裝置,它們通常被應用在氣象站、農業、溫室、室內環境監控等領域。這些感測器的工作原理基於材料的濕度敏感性,並且常見的技術包括電阻性、電容性、和共振式等。
    Thumbnail
    紅外線(IR)接收模組是一種常見的元件,可用於接收來自遙控器等設備的紅外線訊號。在本教學中,我們將使用Arduino來連接和讀取IR Receiver Module V2.0模組,以捕捉紅外線訊號的數值。讓我們開始吧!
    Thumbnail
    Arduino是一個開源的電子原型平台,它讓您能夠輕鬆地創建各種互動式電子項目。在開始之前,您需要安裝Arduino的開發環境。本文將詳細說明如何在台灣使用台灣用語來安裝Arduino環境。
    Thumbnail
    Arduino Nano有組UART port,但是真的需要用UART的應用最好不要用它,因為用了會有這些問題...
    Thumbnail
    本專題為兩塊ESP8266-ESP01 ,分別為 Arduino+ESP-01+YL-69 土壤濕度檢測器與LED燈 ,以及 ESP-01 + DHT11 + LED 傳輸給伺服器端,並於伺服器上 WebSite 透過ESP-01上傳儲 存於 MYSQL 資料呈現曲線圖給前端使用者。此外,前端使用者