พิน ESP32 ใดที่มีการดึงขึ้น

Phin Esp32 Di Thi Mi Kar Dung Khun



หากคุณเป็นผู้ที่ชื่นชอบอุปกรณ์อิเล็กทรอนิกส์หรือนักพัฒนาที่ทำงานกับ ESP32 คุณอาจเคยได้ยินเกี่ยวกับตัวต้านทานแบบดึงขึ้นและดึงลง ตัวต้านทานเหล่านี้ช่วยให้แน่ใจว่าพินอินพุตดิจิทัลมีระดับลอจิกที่เสถียร ในบทความนี้ เราจะพูดถึงพินบน ESP32 ที่มีตัวต้านทานแบบดึงขึ้นในตัวและวิธีเปิดใช้งาน

ทำความเข้าใจเกี่ยวกับตัวต้านทานแบบดึงขึ้น

ก่อนที่จะดำดิ่งลงไปในรายละเอียดเฉพาะของพินแบบดึงขึ้น ESP32 สิ่งสำคัญคือต้องเข้าใจบทบาทของตัวต้านทานแบบดึงขึ้นในวงจร เมื่อขาอินพุตดิจิทัลถูกปล่อยให้ลอยอยู่ (ไม่ได้เชื่อมต่อกับแหล่งจ่ายแรงดันไฟฟ้าใดๆ) จะสามารถอ่านค่าแบบสุ่มได้ ทำให้ยากต่อการกำหนดระดับลอจิก

เพื่อหลีกเลี่ยงปัญหานี้ ตัวต้านทานแบบดึงขึ้นจะเชื่อมต่อระหว่างขาอินพุตและแหล่งจ่ายแรงดัน (โดยทั่วไปคือ Vcc) เพื่อให้แน่ใจว่าอินพุตอ่านสถานะสูง (ลอจิก 1) ตามค่าเริ่มต้น เมื่ออินพุตเชื่อมต่อกับสัญญาณต่ำ (ตรรกะ 0) ตัวต้านทานจะดึงอินพุตลงมาที่กราวด์ ทำให้อินพุตอ่านค่าสถานะต่ำได้







พินแบบดึงขึ้นในตัวบน ESP32

ไมโครคอนโทรลเลอร์ ESP32 มีพินอินพุต/เอาต์พุตอเนกประสงค์ (GPIO) 34 พิน ซึ่งสามารถกำหนดค่าเป็นพินดิจิทัลหรืออนาล็อกก็ได้ ในบรรดาพิน 34 พินเหล่านี้ พินบางตัวมีตัวต้านทานแบบดึงขึ้นในตัวที่สามารถเปิดใช้งานได้ด้วยซอฟต์แวร์



ตารางต่อไปนี้แสดงพินบน ESP32 ที่มีตัวต้านทานแบบดึงขึ้นในตัว:



หมายเลขพิน ชื่อพิน ตัวต้านทานแบบดึงขึ้นในตัว
0 GPIO0 ใช่
2 GPIO2 ใช่
4 GPIO4 ใช่
5 GPIO5 ใช่
12 GPIO12 ใช่
13 GPIO13 ใช่
14 GPIO14 ใช่
สิบห้า GPIO15 ใช่
25 GPIO25 ใช่
26 GPIO26 ใช่
27 GPIO27 ใช่
32 GPIO32 ใช่
33 GPIO33 ใช่
3. 4 GPIO34 เลขที่
35 GPIO35 เลขที่
36 GPIO36 เลขที่
39 GPIO39 เลขที่

อย่างที่คุณเห็น พินดิจิทัลส่วนใหญ่บน ESP32 มีตัวต้านทานแบบดึงขึ้นในตัว อย่างไรก็ตาม ไม่ใช่ทุกพินที่มีคุณสมบัตินี้ พิน 34, 35, 36 และ 39 ไม่มีตัวต้านทานแบบดึงขึ้นในตัว





บันทึก: ใน ESP32 ตัวต้านทานแบบดึงขึ้นและดึงลงในตัวมีเฉพาะในพินที่รองรับทั้งอินพุตและเอาต์พุต GPIO 34-39 ซึ่งจำกัดเฉพาะอินพุตเท่านั้น ไม่มีตัวต้านทานเหล่านี้ในตัว



ตรวจสอบความเรียบร้อย การอ้างอิง Pinout ของ ESP32 .

การเปิดใช้งานตัวต้านทานแบบดึงขึ้นบน ESP32

หากต้องการเปิดใช้งานตัวต้านทานแบบดึงขึ้นบนพิน ESP32 คุณสามารถใช้ gpio_set_pull_mode() ฟังก์ชันที่จัดทำโดยเฟรมเวิร์ก ESP-IDF

ฟังก์ชันนี้รับสองอาร์กิวเมนต์:

  • หมายเลขพิน GPIO
  • โหมดดึงขึ้น

โหมดดึงขึ้นสามารถเป็นได้ทั้ง GPIO_PULLUP_ENABLE หรือ GPIO_PULLUP_DISABLE . นี่คือตัวอย่างรหัสที่เปิดใช้งานตัวต้านทานแบบดึงขึ้นบน GPIO2:

#include 'ไดรเวอร์/gpio.h'

เป็นโมฆะ enable_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

โหมดพิน ( 5 , INPUT_PULLUP ) ;

สิ่งสำคัญคือต้องทราบว่าการเปิดใช้งานตัวต้านทานแบบดึงขึ้นบนพินจะส่งผลต่อพฤติกรรมของมันเมื่อใช้พินเป็นเอาต์พุต ในกรณีนี้ ตัวต้านทานแบบดึงขึ้นจะทำหน้าที่เป็นแหล่งกระแสไฟอ่อนและอาจส่งผลต่อระดับแรงดันเอาต์พุต

นอกจากนี้ เรายังสามารถเปิดใช้งานการดึงข้อมูลภายในบน ESP32 โดยใช้ โหมดพิน () ฟังก์ชันอาร์ดุยโน่

โหมดพิน ( 5 , INPUT_PULLUP ) ;

รหัสด้านบนจะเปิดใช้งานตัวต้านทานแบบดึงขึ้นภายในที่พิน 5 . ในทำนองเดียวกัน คุณสามารถเปิดใช้งานตัวต้านทานแบบดึงลงภายในได้โดยการระบุโหมด INPUT_PULLDOWN .

บทสรุป

ตัวต้านทานแบบดึงขึ้นเป็นส่วนประกอบที่สำคัญในวงจรดิจิทัล และไมโครคอนโทรลเลอร์ ESP32 มีตัวต้านทานแบบดึงขึ้นในตัวบนพินดิจิทัลส่วนใหญ่ การเปิดใช้งานตัวต้านทานเหล่านี้สามารถรับประกันระดับลอจิกที่เสถียรและหลีกเลี่ยงปัญหาอินพุตแบบลอยตัว อย่างไรก็ตาม สิ่งสำคัญคือต้องทราบว่าไม่ใช่ทุกพินบน ESP32 ที่มีตัวต้านทานแบบดึงขึ้นในตัว ดังนั้น สิ่งสำคัญคือต้องตรวจสอบ พินเอาท์ ESP32 หรือแผ่นข้อมูลก่อนการออกแบบวงจร นอกจากนี้ การเปิดใช้งานตัวต้านทานแบบดึงขึ้นอาจส่งผลต่อลักษณะการทำงานของพินเมื่อใช้เป็นเอาต์พุต