[Arduino線上教程] 第五篇: 可變電阻與 PWM 控制

更新於 發佈於 閱讀時間約 3 分鐘

本章實驗原理介紹

  1. 可變電阻(Potentiometer)
    • 可變電阻有三個引腳,其中中間的端子稱為「滑動端」或「電位器輸出」。
    • 一側接 5V,另一側接 GND,中間端讀取到的電壓會隨著旋轉角度而改變,範圍從 0V 到 5V。
    • Arduino 的類比輸入(例如 A0)可以讀取這個變化,數值範圍是 0~1023。
  2. PWM 控制 LED 亮度
    • PWM(Pulse-Width Modulation,脈波寬度調變)能夠利用數位輸出產生模擬電壓,用來調整 LED 的亮度。
    • Arduino 的 PWM 輸出腳(如 3、5、6、9、10、11)可使用 analogWrite() 函式,接受 0~255 的數值。數值越高,LED 亮度越高。
  3. 串列監視器
    • 利用 Serial.begin()Serial.print() 函式,可以將數據顯示在 Arduino IDE 的串列監視器上,方便除錯與觀察變化。

硬體接線

raw-image

程式碼範例

// 定義可變電阻接腳與 LED 接腳
const int potPin = A0; // 可變電阻連接至 A0
const int ledPin = 9; // LED 連接至 PWM 輸出腳位 9

int potValue = 0; // 儲存從可變電阻讀取的值 (0~1023)
int pwmValue = 0; // 將轉換後的 PWM 數值 (0~255)

void setup(){
Serial.begin(9600); // 初始化串列監視器,波特率設為 9600
pinMode(ledPin, OUTPUT); // 設定 LED 腳為輸出
}

void loop(){
// 讀取可變電阻電壓,返回值介於 0 到 1023
potValue = analogRead(potPin);

// 將 0~1023 的數值映射到 0~255 (對應 PWM 輸出)
pwmValue = map(potValue, 0, 1023, 0, 255);

// 使用 analogWrite() 將 PWM 值輸出到 LED
analogWrite(ledPin, pwmValue);

// 將數據輸出到串列監視器上,方便觀察
Serial.print("Potentiometer: ");
Serial.print(potValue);
Serial.print(" -> PWM: ");
Serial.println(pwmValue);

// 每次循環延時 1000 毫秒,降低更新頻率
delay(1000);
}

本頻道持續更新中(內容涵蓋前端程式設計入門、大學必備程式設計入門、電子系專業課程入門、數學微積分題解)如果身旁有相關科系的學生,不妨推薦一下喔~

相信這裡會是家教或線上課程之外,高中、大學生系統性綜合學習的好選擇。

最後感謝您的觀看!

在當今數位時代,電資領域人才需求爆發式成長,不論是前端網頁設計、嵌入式開發、人工智慧、物聯網還是軟硬體整合,這些技術都在改變世界。而掌握 C/C++、Python、數位邏輯、電路學與嵌入式開發等大學電資領域的課程,正是進入這個高薪、高需求產業的關鍵!
留言
avatar-img
留言分享你的想法!
串列埠(Serial Port)是一種用來依序(bit-by-bit)傳輸數據的通訊介面。與並列埠一次傳輸多個位元不同,串列埠一次只傳輸一個位元,但可以利用較少的硬體連線進行長距離傳輸。 本章節除了教讀者基本的用法,在文末還提供了一個較具應用、挑戰性的小項目。
本篇將帶你學會如何使用 按鈕開關(Push Button) 控制 Arduino 的輸出裝置,如 LED 燈、蜂鳴器、馬達 等,這是互動式電子設計的第一步。你將了解按鈕在電路中如何工作,如何透過程式讀取開關狀態,並根據使用者輸入做出對應的控制反應。
本章節主要著重在程式碼上。讓讀者練習一些邏輯的推演,也藉此更了解Arduino的語法。
本章節會帶領讀者使用虛擬的模擬平台撰寫你的第一支Arduino程式。Arduino 因其易用性和開源生態成為許多創客和工程師的首選。它是很多人第一次接觸的微控制器,說明其為物聯網和嵌入式系統相關科目的入門學習首選。
串列埠(Serial Port)是一種用來依序(bit-by-bit)傳輸數據的通訊介面。與並列埠一次傳輸多個位元不同,串列埠一次只傳輸一個位元,但可以利用較少的硬體連線進行長距離傳輸。 本章節除了教讀者基本的用法,在文末還提供了一個較具應用、挑戰性的小項目。
本篇將帶你學會如何使用 按鈕開關(Push Button) 控制 Arduino 的輸出裝置,如 LED 燈、蜂鳴器、馬達 等,這是互動式電子設計的第一步。你將了解按鈕在電路中如何工作,如何透過程式讀取開關狀態,並根據使用者輸入做出對應的控制反應。
本章節主要著重在程式碼上。讓讀者練習一些邏輯的推演,也藉此更了解Arduino的語法。
本章節會帶領讀者使用虛擬的模擬平台撰寫你的第一支Arduino程式。Arduino 因其易用性和開源生態成為許多創客和工程師的首選。它是很多人第一次接觸的微控制器,說明其為物聯網和嵌入式系統相關科目的入門學習首選。
你可能也想看
Google News 追蹤
Thumbnail
靈感用盡、鍵盤不再響,盯著喜歡、分享、留言的數字,心跳跟著小鈴鐺七上八下⋯⋯vocus 2025 年 4 月限定新商品,要為創作者打氣! 🚨「創作者打氣包」 最懂創作者的vocus,為創作者打造 ✨ 打氣包,包什麼?!四件道具挺創作者 一、【打氣復活卷】 專屬你的打氣小語,成功登記免費
Thumbnail
全新 vocus 挑戰活動「方格人氣王」來啦~四大挑戰任你選,留言 / 愛心 / 瀏覽數大 PK,還有新手專屬挑戰!無論你是 vocus 上活躍創作者或剛加入的新手,都有機會被更多人看見,獲得站上版位曝光&豐富獎勵!🏆
Thumbnail
本期將針對霍爾感測器(Hall Sensor)於馬達中的運作規律,進行說明及解析。係因在我們存在的物理世界當中,事物往往具有各自的脈絡與法則,若能用心體會了解之後妥善運用,皆可進一步的推動科技發展。 由上一期中,理解了霍爾感測器的安裝規則後,再將其對應到馬達旋轉狀態,可以察覺到霍爾訊號變化具備了固
Thumbnail
傳統馬達會利用調整電阻值的大小,來直接限制馬達輸入電流的上限;但電阻值的增加也會導致銅損值上升,是種如同雙面刃的技法。所幸隨著電控技術的進步,馬達電流的限制工作可以轉交給驅動電路掌控,馬達僅需要盡可能地降低電阻值即可;更直白的說就是漆包線徑越粗越好,暨可以降低馬達電阻,還同時強化散熱能力,以得到更優
Thumbnail
本計算工具是建立在已有一份永磁馬達特性數據後,忽然想要知道更換工作電壓值後,馬達的輸出特性會有甚麼變化。原始檔案範例為24V的直流永磁馬達,想要使用18V的行動電池供電,需要了解馬達特性會有怎樣的改變。 首先可以預先判斷,由於永磁馬達的電壓與轉速成正比關係,因此本案例中的調降工作電壓勢必造成馬達轉
Thumbnail
認識的友人詢問,才讓筆者再次想起馬達電流密度這項參數;事實上筆者已經不太使用這一設計指標了,但長久以來的馬達相關經歷,不免會有這樣的小工具在手上,因此分享給大家,檔案連結如下,請自行取用: 電流密度設計 電流密度計算的小工具分為兩種模式,分別為已知馬達功率的情況下,給定設定之電流密度目標,計算出
Thumbnail
這是筆者常用的馬達設計調整手法,但原意是用於馬達工作電壓變換時,更改繞線條件的計算,如110V的馬達要更改為220V的使用電壓時,需針對繞線條件進行修改。會僅變更繞線條件而非整顆馬達修改,主要是其他材料的變動成本較高,而漆包線徑的調整是馬達當中最容易的項目;因此會發現市面上不同工作電壓的馬達外觀大小
Thumbnail
本文是筆者在查反電動勢公式時,赫然發現並未詳細描述,故進行補完。 反電動勢的數學公式,最常出現在馬達電器方程式當中,是用來描述馬達運作時的電能狀態的數學表示式;如下列所式,其中V為馬達輸入電壓,i為馬達電流,Rm則是馬達電阻,Lm是馬達電感,di/dt代表電流對時間的微分,因為馬達電感的作用僅在電
Thumbnail
這篇介紹如何用加速度取得傾斜角度。 用的是和前篇一樣的<basicMpu6050.h>
Thumbnail
本文介紹了抽水馬達和繼電器的工作原理,以及如何與Arduino搭配使用。繼電器的定義、結構、和工作原理,以及抽水馬達的定義、結構、和工作原理都有詳細說明。此外,還介紹了串聯和並聯的關係,並提供了抽水馬達模組的程式碼。
使用ADC時必須注意 MCU上會有Vref腳位,這兩個腳位必須接上VDD及GND。 這兩個腳位是專門給ADC使用的,ADC在轉換時會需要參考電壓來轉換成digital。公式如下 ​digital = (Vin / Vref) * 2^12 digital:是電腦讀取到的數值。 Vin:輸
Thumbnail
靈感用盡、鍵盤不再響,盯著喜歡、分享、留言的數字,心跳跟著小鈴鐺七上八下⋯⋯vocus 2025 年 4 月限定新商品,要為創作者打氣! 🚨「創作者打氣包」 最懂創作者的vocus,為創作者打造 ✨ 打氣包,包什麼?!四件道具挺創作者 一、【打氣復活卷】 專屬你的打氣小語,成功登記免費
Thumbnail
全新 vocus 挑戰活動「方格人氣王」來啦~四大挑戰任你選,留言 / 愛心 / 瀏覽數大 PK,還有新手專屬挑戰!無論你是 vocus 上活躍創作者或剛加入的新手,都有機會被更多人看見,獲得站上版位曝光&豐富獎勵!🏆
Thumbnail
本期將針對霍爾感測器(Hall Sensor)於馬達中的運作規律,進行說明及解析。係因在我們存在的物理世界當中,事物往往具有各自的脈絡與法則,若能用心體會了解之後妥善運用,皆可進一步的推動科技發展。 由上一期中,理解了霍爾感測器的安裝規則後,再將其對應到馬達旋轉狀態,可以察覺到霍爾訊號變化具備了固
Thumbnail
傳統馬達會利用調整電阻值的大小,來直接限制馬達輸入電流的上限;但電阻值的增加也會導致銅損值上升,是種如同雙面刃的技法。所幸隨著電控技術的進步,馬達電流的限制工作可以轉交給驅動電路掌控,馬達僅需要盡可能地降低電阻值即可;更直白的說就是漆包線徑越粗越好,暨可以降低馬達電阻,還同時強化散熱能力,以得到更優
Thumbnail
本計算工具是建立在已有一份永磁馬達特性數據後,忽然想要知道更換工作電壓值後,馬達的輸出特性會有甚麼變化。原始檔案範例為24V的直流永磁馬達,想要使用18V的行動電池供電,需要了解馬達特性會有怎樣的改變。 首先可以預先判斷,由於永磁馬達的電壓與轉速成正比關係,因此本案例中的調降工作電壓勢必造成馬達轉
Thumbnail
認識的友人詢問,才讓筆者再次想起馬達電流密度這項參數;事實上筆者已經不太使用這一設計指標了,但長久以來的馬達相關經歷,不免會有這樣的小工具在手上,因此分享給大家,檔案連結如下,請自行取用: 電流密度設計 電流密度計算的小工具分為兩種模式,分別為已知馬達功率的情況下,給定設定之電流密度目標,計算出
Thumbnail
這是筆者常用的馬達設計調整手法,但原意是用於馬達工作電壓變換時,更改繞線條件的計算,如110V的馬達要更改為220V的使用電壓時,需針對繞線條件進行修改。會僅變更繞線條件而非整顆馬達修改,主要是其他材料的變動成本較高,而漆包線徑的調整是馬達當中最容易的項目;因此會發現市面上不同工作電壓的馬達外觀大小
Thumbnail
本文是筆者在查反電動勢公式時,赫然發現並未詳細描述,故進行補完。 反電動勢的數學公式,最常出現在馬達電器方程式當中,是用來描述馬達運作時的電能狀態的數學表示式;如下列所式,其中V為馬達輸入電壓,i為馬達電流,Rm則是馬達電阻,Lm是馬達電感,di/dt代表電流對時間的微分,因為馬達電感的作用僅在電
Thumbnail
這篇介紹如何用加速度取得傾斜角度。 用的是和前篇一樣的<basicMpu6050.h>
Thumbnail
本文介紹了抽水馬達和繼電器的工作原理,以及如何與Arduino搭配使用。繼電器的定義、結構、和工作原理,以及抽水馬達的定義、結構、和工作原理都有詳細說明。此外,還介紹了串聯和並聯的關係,並提供了抽水馬達模組的程式碼。
使用ADC時必須注意 MCU上會有Vref腳位,這兩個腳位必須接上VDD及GND。 這兩個腳位是專門給ADC使用的,ADC在轉換時會需要參考電壓來轉換成digital。公式如下 ​digital = (Vin / Vref) * 2^12 digital:是電腦讀取到的數值。 Vin:輸