ESP32, IOT物聯網

【IOT物聯網應用-ESP32】第十二篇:使用可變電組 調控燈光明暗

實驗說明:

本章節將完成一個用可變電阻控制的LED小燈。可變電阻器可經由滑動(轉動)而改變滑動端與兩個固定端間電阻值的電子零件,可變電阻沒有分正負級,中間接上類比訊號Pin即可。

材料:

  • ESP32-E DevKit
  • USB 傳輸線
  • 可變電阻
  • 直插LED
  • 220Ω直插電阻
  • 麵包板
  • 麵包板跳線

▼ 購買IoT物聯網學習教材:

ESP32 物聯網應用學習套件 ESP32CAM IoT物聯網學習教材 適用Arduino

 

 

▼注意:假如使用下列程式碼發生編譯錯誤,則表示您目前安裝的ESP32函式庫較為新版,請務必將「#include <analogWrite.h>」這一行移除並重新編譯,則可編譯成功並正常運行。

程式:

#include <analogWrite.h> 
int potpin=36;
int ledpin=15;
int val=0;
void setup()
{
  pinMode(ledpin,OUTPUT);
  Serial.begin(9600);
}
void loop()
{
  val=analogRead(potpin);
  Serial.println(val);
  analogWrite(ledpin,val/16);
  delay(10);
}

 

程式說明:

  • 第 2 列定義類比接口GPIO36 Pin 。
  • 第 3 列定義數位接口GPIO15 Pin(PWM輸出) 。
  • 第 4 列暫存來自傳感器的變量數值。
  • 第 7 列定義LED數位接口GPIO15為輸出。
  • 第 8 列設置鮑率每秒9600。
  • 第 12 列讀取傳感器的類比值並賦值給val ,ESP32類比值為04095之間的表示範圍。。
  • 第 13 列顯示val變數值。
  • 第 14 列打開LED 並設置亮度(PWM 輸出最大值255)
  • 第 15 列延遲0.01 秒。

 

我們在本實驗中讀取可變電阻的類比值信號並將其賦給PWM Pin使LED燈產生相應的亮度變化,並在序列埠監控視窗上顯示出讀取的類比值。

 

 

 

 

 

 

 

 

相關文章