Arduino 課程指南
您正忙著尋找某一個 Arduino 的主題或單元嗎?
LazyTomato Lab 精心為您打造 Arduino 課程指南,讓您事半功倍!
無法正常開啟下方連結的朋友們,歡迎到哔哩哔哩 BiliBili 空間上收看完整課程(無需 VPN)
Arduino SpeedUp 系列課程文章目錄
- Arduino #1 – Arduino 到底是什麼?
- Arduino #2 – 基本指令真的好簡單!
- Arduino #3 – 完成你的第一個專案!
- Arduino #4 – 判斷式 if else 讓你操縱自如!
- Arduino #5 – 麵包板是什麼?好吃嗎?
- Arduino #6 – LED 與電阻的必學之術!
- Arduino #7 – 程式宣告?取個綽號吧!
- Arduino #8 – 否定?彈跳?按鈕特輯 Part.1
- Arduino #9 – 邏輯?旗標?按鈕特輯 Part.2
- Arduino #10 – 互動?遊戲?按鈕特輯 Part.3
- Arduino #11 – Serial monitor 讀心術!
- Arduino #12 – 分類帽 switch case 降臨!
- Arduino #13 – 迴圈 for 讓你功力大提升!
- Arduino #14 – 迴圈 while 稱霸 Arduino!
Arduino 的基礎知識與環境建置
- Arduino 到底是什麼?它能做什麼有趣的事呢?
- Arduino Uno 的硬體介紹(接腳、按鈕、USB 孔)。
- Arduino 的擴充模組、擴展板(Shield)。
- Arduino IDE 開發環境下載安裝。
- Arduino IDE 開發環境介紹與設定。
- Arduino IDE 上傳(燒錄)程式碼。
- Arduino Uno 電源接腳的介紹。
Arduino 指令大全
- setup()、loop():代表「設定」與「運作」基本程式架構。
- pinMode():設定接腳輸入(INPUT)或輸出(OUTPUT)模式。
- digitalWrite():設定接腳為高電位(HIGH, 5V)或低電位(LOW, 0V)狀態。
- delay():讓 Arduino 暫時停止工作。
- digitalRead():讀取接腳的高電位(HIGH, 5V)或低電位(LOW, 0V)狀態。
- pinMode() 加上 digitalWrite():開啟輸入接腳的上拉電阻(Pull-up resistors)功能。
小技巧:使用一個 pinMode(<接腳編號>, INPUT_PULLUP); 指令也能開啟上拉電阻功能唷!
- Serial.begin():啟動 Arduino 與電腦之間的溝通模式。
- Serial.println():在序列埠監控視窗上印出字串(String)並換行。
- Serial.print():在序列埠監控視窗上印出字串(String)但不換行。
- Serial.available():檢查 Arduino 是否收到從序列埠傳送進來的訊息。
- Serial.parseInt():讀取並儲存序列埠傳送進 Arduino 的整數(int)。
- Serial.read():讀取並儲存序列埠傳送進 Arduino 的字元(char)。
- break、continue:跳出迴圈或跳過本次迴圈執行。
Arduino 符號大全
- //、/* */:註解(Comment)符號。
- ==:比較左右兩邊敘述是否對等的雙等於符號。
- !:代表不、否定或相反的驚嘆號符號。
- !=:比較左右兩邊敘述是否不對等的不等於符號。
- &&:代表「而且、AND」的邏輯運算符號。
- ||:代表「或者、OR」的邏輯運算符號。
- >, <, >=, <=:代表「大於」、「小於」、「大於等於」、「小於等於」的比較運算子。
Arduino 流程控制語法
- if-else 條件敘述(包含 if, else if, else 語法)。
- switch-case 條件敘述(包含 switch, case, break, default 語法)。
- if-else 與 switch-case 的比較、差別和優缺點。
- for 迴圈(包含初始化、重複條件與變數增減區塊)。
- while 迴圈(包含重複條件區塊)。
- for 與 while 迴圈的比較、差別和優缺點。
電學概念、元件、工具與模組的使用
- 上拉電阻(Pull-Up resistors)的運作原理。
- 麵包板的原理與使用教學。
- 按鈕開關(Push-button)的結構設計與使用。
- LED 發光二極體與 220 歐姆限流電阻。
- 色碼電阻(色環電阻)介紹與電阻值的計算方法。
- 紅外線避障感測器模組介紹。
- L9110 風扇模組介紹。
- 紅外線避障感測器與風扇模組的電路設計。
重要觀念、好習慣與小技巧
- 讓開發過程更順暢的 5 個小步驟。
- 數位訊號(Digital signal)的概念。
- 樣成使用縮排(Indentation)的好習慣。
- 接腳懸空(Floating)所產生的雜訊干擾。
- 變數宣告(Declaration):幫某個整數(int)取綽號吧!
- 請務必使用有意義的宣告名稱。
- 注意!別踩保留字的宣告陷阱。
- 只存放 true、false 兩種狀態的布林(Boolean)宣告型別。
- 按鈕開關的防彈跳(Debounce)機制。
- 序列埠監控視窗(Serial monitor)的介紹與設定。
- 鮑率(Baud rate)的介紹與設定。
- 盡可能避免 for 與 while 迴圈之間的轉換。
- 無窮迴圈、無限循環。
Arduino 系列課程範例與專案
小技巧:您可以在 GitHub Gists 範例程式上找到每堂課程所使用的程式碼唷!
- Class 3:讓 Arduino 上的 LED 閃爍一次。
- Class 3:讓 Arduino 上的 LED 不斷閃爍。
- Class 4:用接腳 7 的高低電位控制 LED 亮滅。
- Class 5:用上拉電阻避免 LED 雜亂閃爍。
- Class 5:用外接的按鈕開關控制 LED 亮滅。
- Class 6:使用杜邦線、麵包板與限流電阻讓外接的 LED 閃爍。
- Class 7:透過整數宣告快速更換接腳功能。
- Class 8:按鈕按下時讓 LED 熄滅的三種方法。
- Class 8:按下按鈕切換 LED 的亮滅狀態。
- Class 9:透過旗標(Flag)技巧設計更人性化的按鈕開關。
- Class 10:用手勢來控制風扇開關。
- Class 10:用手勢來切換風扇轉向。
- Class 11:在序列埠監控視窗上印出單行字串(String)。
- Class 11:在序列埠監控視窗上印出多行字串(String)。
- Class 11:在序列埠監控視窗上印出字串(String)與數字。
- Class 11:將序列埠監控視窗上輸入的數字轉換成華氏溫度。
- Class 11:在序列埠監控視窗上輸入字元(char)控制 LED 亮滅。
- Class 12:字元(char)與數字的轉換器。
- Class 13:使用 for 迴圈控制 LED 閃爍 10 次。
- Class 13:使用 for 迴圈重複印出字串(String)10 次。
- Class 13:使用 for 迴圈依序印出上數(升冪)與下數(降冪)排列數字。
- Class 13:使用 for 迴圈與 6 顆 LED 製作霹靂燈。
- Class 14:按下按鈕停止 LED 閃爍。
- Class 14:for 與 while 迴圈之間的轉換。
其实 @JONES 的那个问题用你已经讲的也可以实现,找三种延时的公约数,他的100,500,1000公约数可以是100,然后就计数就行了,100的计一次,500的计5次,1000的计10次,只是这种方法只适用于程序比较小的项目。
tomato 你好,
相當喜歡你們團隊的教學方式,
非常受用!!
期待你們團隊推出進階課程,
收費也願意購買><
Hi tomato 你好, 看完了你的教学 学到了很多 感激不尽.
我想请问如果我有个方案需要用不同的pin执行不同的指令需要怎么写?
例如:
Void loop :
接脚1 = Led 不断以100毫秒闪烁;
同时
接脚2 = Led 不断以500毫秒闪烁;
同时
接脚3 = Led 不断以1000毫秒闪烁;
请问我该参考哪一集的教学呢? 还是这不在教学范围内呢.
您好,在我們的課程中尚未涵蓋到相關的概念,不過您可以參考這份官方範例「Blink Without Delay」來實作唷!簡單來說,這個範例使用 Arduino 的計時功能,讓程式可以在不需要使用
delay()
的情況下進行 LED 閃爍。根據您的目標來看,您可以使用 3 組interval
來實現您要的閃爍功能哦!