PIXNET Logo登入

NetYea 網頁設計

跳到主文

網站設計做得好,訂單不會少。網頁設計公司推薦 《NetYea》 | 網頁設計, 關鍵字優化, 網站架設, 網頁優化, SEO

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 12月 30 週五 202217:28
  • 在 Arduino IDE 上面安裝 ESP32



下載安裝請看此篇





本篇文在說明如何讓 Arduino IDE 可以使用 ESP32 開發板。



我手上目前的這兩塊 ESP32 開發板,都同時具有 WiFi 和藍芽功能,個人覺得大塊的這片(ESP32 Wemos D1) 比較好用,因為它可以適用 Arduino UNO 擴展板。




 

1.jpg


2.jpg










開始安裝



在開始前請先安裝妥 CH340G USB to UART 驅動程式。



STEP1 啟動 Arduino IDE 並點擊下拉功能表「File」>「Preferences」。

3.jpg







STEP2 將下面一行複製到 Additional Boards Manager URLs: 裡(註A),然後點擊「OK」鈕。



https://dl.espressif.com/dl/package_esp32_index.json



註A:如果您之前有使用 esp8266 相關板子,可以在原網址後方加一個逗號隔開,然後再貼入 esp32 的網址,完整網址如下方



https://dl.espressif.com/dl/package_esp8266_index.json

https://dl.espressif.com/dl/package_esp32_index.json





接著,關閉 Arduino IDE。





STEP3 再次啟動 Arduino IDE 並點擊下拉功能表「Tools」>「Board」>「Board Manager...」,在 Type 右方空白欄位輸入「esp32」。

4.jpg





點擊「Install」,然後等待幾分鐘下載完畢後點擊右下角落的「Close」鈕關閉視窗。





STEP4 點擊下拉功能表「Tools」>「Board」,捲動到下方找到適合您的開發板,然後再選擇連接埠。

我目前是使用大板子,所以選擇「"WeMos" WiFi & Bluetooth Battery」。





5.jpg



STEP5 開啟範例檔,點擊下拉功能表「File」>「Examples」>「WiFi」>「WiFiScan」,點擊「Upload」上傳程式。







6.jpg7.jpg





STEP6 等待程式順利完成上傳後,開啟「Serial Monitor」,將 Baud Rate 調到 115200,然後您可以看到 esp32 板子開始掃描 WiFi。在這個例子中 esp32 板子掃描到 3 個 WiFi 訊號。

 


8.jpg






相關連結

Arduino ESP32 WIN驅動程式

https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers



http://pizgchen.blogspot.com/2019/08/esp32-arduino-ide-esp32.html

(繼續閱讀...)
文章標籤

NetYea 網頁設計 發表在 痞客邦 留言(0) 人氣(846)

  • 個人分類:程式設計
▲top
  • 12月 30 週五 202217:25
  • PWM晶片看得多了,那PWM控制又是怎麼一回事呢?

1.jpg我們在研究散熱器和風扇的時候往往會講到PWM,而且很多時候支持PWM的產品會比不支持PWM的顯得更高級一些。而在主板、顯卡還有電源評測中也會提到有PWM控制晶片,顯然對於PC來說PWM已經是一個很普遍的存在。然而PWM是什麼?PWM為什麼會那麼重要?我們相信很多玩家可能連「知其然」都做不到,更別說「知其所以然」了。為此今天的超能課堂我們就來捋一捋關於PWM的二三事,看看這個在PC中似乎無處不在,看著有點臉熟但實際上還是很陌生的PWM到底是何方神聖。





主板上的PWM供電控制晶片

什麼是PWM?

PWM的全稱是Pulse Width Modulation,即脈衝寬度調製,其本質是一種數位訊號,主要由兩個組成部分來進行定義,分別是占空比和頻率,其中占空比值得是信號為高電平狀態的時間量占據總周期時間的百分比,而頻率則代表著PWM信號完成一個周期的速度,也就是決定信號在高低電平狀態之間的切換速度。





圖片源自National Instruments



把握機會 絕版典藏|MINI 60週年限量紀念版

Sponsored by MINI台灣總代理 汎德

目前PWM已經被廣泛應用在各種控制系統中,特別是各種模擬電路的控制,多數離不開PWM信號。可能大家對此會感到疑惑,PWM既然是一種數位訊號,那怎麼會用在模擬電路的控制上呢?實際上PWM很大程度上就是為了實現模擬電路數字化控制而誕生的,我們不妨舉例說明,當一個數位訊號源的高電平為5V、低電平為0V的情況下,如果想要用這個數位訊號源輸出相當於3V的模擬信號,那麼我們就可以將這個數位訊號以PWM占空比60%的方式進行輸出,也就是說一個信號周期內有60%的時間輸出5V,剩下40%的時間輸出0V,此時只要信號周期足夠短,也就是PWM頻率足夠快,那麼我們將獲得一個輸出電平無限接近於5V*60%=3V的信號源,這就是PWM能夠以數位訊號的身份控制模擬電路的主要原因。



以往模擬電路的精確控制往往需要一個相對大規模的電路,不僅笨重而且功耗與發熱都不低。相比之下通過PWM這種數位訊號來控制模擬電路,既可以確保精準度,又可以有效降低控制電路的體積與功耗,因此PWM很快就成為了目前一種主流的電路控制模式,直流電機、閥門、液壓系統、電源等各個領域中我們都能看到PWM的身影,在PC上也是如此,PC主板、顯卡都採用了PWM進行供電控制,散熱風扇也廣泛應用PWM技術,PC電源裡面也少不了PWM的身影。





散熱風扇的PWM技術

常見的散熱風扇調速有兩種,分別是DC調速和PWM調速,其中DC調速又可以叫做電壓調速,簡單來說就是直接調整加載於風扇上的電壓來進行轉速控制。而控制風扇電壓的方式有很多種,比較直接的方式就是外接電阻來進行分壓,例如各種風扇減速線採用的就是這個方式。不過這種電壓控制方式也有一個很明顯的缺點,那就是由於風扇的轉速未必與電壓呈線性關係,例如一把風扇的標稱電壓為12V,當你只給它6V電壓時其轉速未必為一半,更多的可能是因為其啟動電壓至少為7V,只加載6V的話會電壓不足而無法啟動,因此想要精準地控制風扇的轉速,直接調整風扇的輸入電壓往往不是一個理想選擇。





支持PWM調速的風扇都採用4pin接口



你的提案讓台灣更美好-2020年總統盃黑客松報名開跑

Sponsored by 經濟部中小企業處

而採用PWM控制的風扇就沒有上述的問題,雖然從原理上說,風扇所用的PWM調速也算是一種電壓調速,只是其表現出來的是「等效電壓」而非「實際電壓」。由於PWM是通過占空比來調整輸出信號的電平高低,因此轉換為風扇電壓時也就只有12V和0V的區別,只是通電時間長短有所不同,簡單來說就是風扇上雖然加載的是等效6V的電壓,但其實際上是占空比為50%的12V電壓,這個時候風扇就不存在「啟動電壓」的問題了,而且風扇轉速與PWM的占空比基本呈線性關係,這使得風扇轉速的控制變得非常簡單。



當然了這個PWM信號並非作為驅動風扇的電源使用,而是用來驅動風扇內部的三極體或者MosFET,以此實現對風扇的輸入控制,因此支持PWM控制的風扇除了有供電、檢測和接地三根線外,還會有一根額外的PWM控制線。而受PWM控制風扇轉速的啟發,有部分主板也在風扇接口上加入了PWM控制模塊,通過PWM來控制風扇的輸入電壓,讓3pin接口的風扇也能實現近乎線性的轉速控制。不過這種配置基本上只有中高端主板才會享用,真正普及的仍然是直接支持PWM控制的4pin風扇接口。





供電電路的PWM技術

主板、顯卡和PC電源雖然是三個截然不同的硬體,但是就供電所用的技術來說卻是大同小異,PC電源是通過各種拓撲架構和PWM技術將市電的交流輸出變為12V、5V、3.3V、-12V等不同的輸出電壓,而主板和顯卡則是將PC電源的供電通過PWM技術轉變為CPU和GPU等晶片所需要的電壓和電流,因此目前主板、顯卡和PC電源基本上都應用了PWM供電控制技術。





PC電源中的PWM控制晶片

PWM控制電壓的技術放在什麼硬體上都是一樣的,就是通過控制占空比來控制「等效電壓」。顯卡、主板和PC電源上的自然也是如此,只是由於它們所帶的負載對電壓和電流的穩定度要求很高,因此低速的PWM不適合用在供電控制上。目前業內普遍做法是,電源的PWM控制需要使用不低於20kHz的頻率,建議是使用200kHz或以上的,因為越高的頻率越有利於調整的響應速度。





電壓控制型PWM

當然用在供電上的PWM控制比起風扇上的顯然會複雜很多,因為供電電路面對的大多數是恆定電壓、動態電流的負載,因此用在供電上的PWM控制就不僅要考慮設備的輸入電壓,還要考慮到輸入電流。供電電路所用的PWM控制大體上可以分為電壓控制型PWM和電流控制型PWM,前者是通過電壓反饋線路對比基準電壓和實際輸出電壓,然後通過調整PWM的占空比來穩定輸出電壓。這種電路的組成比較簡單,但是用在供電電路中會有一個明顯的缺點,那就是由於實際電路中往往會存在電容和電感等元件,電流與電壓的變化會不一致,對於低功耗、低響應需求的電路來說還問題不大,但是對於高功耗和動態變化豐富的電路來說,電壓控制型PWM往往不能馬上響應設備對供電變化的需求,從而導致電路不穩定,無法正常工作。



(繼續閱讀...)
文章標籤

NetYea 網頁設計 發表在 痞客邦 留言(0) 人氣(1,008)

  • 個人分類:程式設計
▲top
  • 12月 30 週五 202217:22
  • ESP32 用Arduino程式上傳測試HelloWorld

1.jpg上傳測試HelloWorld:
環境設定完成後,就可以來寫程式測試,這裡就先用HelloWorld先做個簡單練習。
(繼續閱讀...)
文章標籤

NetYea 網頁設計 發表在 痞客邦 留言(0) 人氣(887)

  • 個人分類:程式設計
▲top
  • 12月 30 週五 202217:21
  • Arduino ESP32 PWM輸出 讓LED漸亮漸暗

1.jpg用ESP32 PWM實現LED慢慢亮起。



程式的部份主要分成三個:1.設定頻道LEDchannel、2.附加到PIN腳、3.決定輸出大小。



1.設定頻道LEDchannel屬性



ledcSetup(LEDChannel, freq, resolution);

//LEDChannel設定為0,不同輸出要設定到不同頻道,例如RGB LED就要開三個頻道分別管理R、G、B

//freq輸出頻率,建議值5000 Hz

//resolution代表輸出解析度,例如8代表0-255,10代表0-1023



2.附加到PIN腳



ledcAttachPin(ledPin, LEDChannel);

//ledPin代表腳位,看你把設備接在哪個腳位上面

//LEDchannel代表步驟1所宣告的LEDchannel,也就是說把設定好的LEDchannel屬性附加到某個腳位上



3.決定輸出大小。



ledcWrite(LEDChannel, dutyCycle);

//將LEDchannel輸出dutyCycle的值。



範例程式將使接在Pin16的LED逐漸亮起並熄滅,範例複製於 https://randomnerdtutorials.com/esp32-pwm-arduino-ide/



(繼續閱讀...)
文章標籤

NetYea 網頁設計 發表在 痞客邦 留言(0) 人氣(910)

  • 個人分類:程式設計
▲top
  • 12月 30 週五 202217:18
  • Arduino EPS32 DEVKIT V1 用PWM控制轉速正反轉

1.png
 
Arduino EPS32 DEVKIT V1 腳位
(繼續閱讀...)
文章標籤

NetYea 網頁設計 發表在 痞客邦 留言(0) 人氣(905)

  • 個人分類:程式設計
▲top
  • 12月 30 週五 202217:16
  • Arduino的 RGB led燈(共陽極)的使用

1.pngRGB LED依序為紅、最長腳、藍、綠

RGB LED的共陽極(最長腳)串接一個330的電阻後再接地(GND)。
(繼續閱讀...)
文章標籤

NetYea 網頁設計 發表在 痞客邦 留言(0) 人氣(417)

  • 個人分類:程式設計
▲top
  • 12月 30 週五 202217:14
  • ESP32如何利用可變電阻讀取外部電壓數值

1.jpgESP32 腳位34 連接到可變電阻腳位 2

ESP32 腳位VIN 連接到可變電阻腳位 1

ESP32 腳位GND 連接到可變電阻腳位 3







讀取數值為12 bits = 4096

0 - 4095



程式碼:
(繼續閱讀...)
文章標籤

NetYea 網頁設計 發表在 痞客邦 留言(0) 人氣(449)

  • 個人分類:程式設計
▲top
  • 12月 30 週五 202217:11
  • Arduino ESP32 用光敏電阻做小夜燈

1.jpg


ESP32 腳位 34 對應10K歐姆電阻與光敏電組連接處

ESP32 腳位 27 對應LED 正極

10K歐姆電阻另一腳接VCC

LED腳負極接地

光敏另一腳接地

光敏電阻與10K歐姆電阻連接

如圖:


1.jpg










程式碼:





  1. const int potPin = 34;

  2. const int LED = 27;

  3. int val=0;

  4. void setup() {

  5.   Serial.begin(115200); //連線速率

  6.   pinMode(LED, OUTPUT); // 27腳設定維輸出

  7.   delay(1000);

  8. }

  9.  

  10. void loop() {

  11.   // put your main code here, to run repeatedly:

  12.   val = analogRead(potPin); //讀取電壓資料

  13.   Serial.println(val); //印出電壓量化資料

  14.   if (val > 1000) {

  15.     digitalWrite(LED, HIGH); //LED點亮

  16.   } else {

  17.     digitalWrite(LED, LOW); //LED熄滅

  18.   }

  19.   delay(500); //延遲0.5秒

  20. }



複製代碼





當我用手遮住光敏電阻,val大於1000 LED就會亮起,手拿開val小於1000 則LED關閉



2.png



開啟序列繪圖家(功能表/工具/序列繪圖家,但必須要先關閉序列監控視窗),以折線圖形觀察數值變化,下圖中,低谷部份為無遮結果,而高峰處則為用手遮擋的結果。


 


3.png




影片:





文章出處:網頁設計,網站架設 ,網路行銷,網頁優化,SEO - NetYea 網頁設計

(繼續閱讀...)
文章標籤

NetYea 網頁設計 發表在 痞客邦 留言(0) 人氣(536)

  • 個人分類:程式設計
▲top
  • 12月 30 週五 202216:42
  • Arduino ESP32 如何 鍵盤控制 伺服馬達

影片







伺服馬達接線圖





黃線 接 GPIO27 、 紅線 接 5V 、 黑線 接 GND

ESP32 電力只能推動一個馬達,如果要推動兩個馬達就要外接電源了



程式碼
(繼續閱讀...)
文章標籤

NetYea 網頁設計 發表在 痞客邦 留言(0) 人氣(490)

  • 個人分類:程式設計
▲top
  • 12月 30 週五 202216:40
  • 如何用藍芽Bluetooth連線控制 Arduino

1.png學會Arduino基本操控後

一定會想學會無線遙控,如藍芽Bluetooth, Wifi

這篇說明藍芽Bluetooth操控

結果圖







影片





代碼:
(繼續閱讀...)
文章標籤

NetYea 網頁設計 發表在 痞客邦 留言(0) 人氣(358)

  • 個人分類:程式設計
▲top
12»

個人資訊

NetYea 網頁設計
暱稱:
NetYea 網頁設計
分類:
數位生活
好友:
累積中
地區:

熱門文章

  • (449)ESP32如何利用可變電阻讀取外部電壓數值
  • (1,008)PWM晶片看得多了,那PWM控制又是怎麼一回事呢?
  • (91)CKeditor 4.4.5 網頁編輯器與CKfinder 2.4 上傳整合應用
  • (142)Python 使用 MySQL Connector 操作 MySQL/MariaDB 資料庫教學與範例
  • (203)【Python 爬蟲】抓取 Google 搜尋結果的連結
  • (77)解鎖右鍵 Chrome 免任何外掛,用書籤一秒解除,破解右鍵鎖定
  • (235)CentOS 8-9 用雙網卡 PPPOE 撥號並做 NAT(完整)
  • (94)Yolov8 照片偵測後如何抓物體座標位置

文章分類

  • 程式設計 (17)
  • 網頁設計 (20)
  • 未分類文章 (1)

最新文章

  • SEO 網頁優化, 關鍵字優化 解說
  • CentOS 8 的 firefox can't play youtube 影片
  • CentOS 8 下安裝NVIDIA RTX 3070 驅動程式及CUDA
  • 如何在CentOS 8 安裝Anaconda3 及PyCharm
  • CentOS 8 安裝 samba server 及防火牆設定
  • 如何在CentOS 8 下安裝 anydesk 並開啟桌面
  • 如何關閉 GDM 及 nouveau 並安裝 NVIDIA VGA驅動
  • 如何刪除LINUX下回收桶的檔案並釋放空間
  • CentOS 8 如何看CPU溫度
  • opencart 2.X 升級到 3.X 步驟 及 問題

動態訂閱

文章精選

文章搜尋

誰來我家

參觀人氣

  • 本日人氣:
  • 累積人氣: