สารบัญ:

ESP32: รายละเอียดภายในและ Pinout: 11 ขั้นตอน
ESP32: รายละเอียดภายในและ Pinout: 11 ขั้นตอน

วีดีโอ: ESP32: รายละเอียดภายในและ Pinout: 11 ขั้นตอน

วีดีโอ: ESP32: รายละเอียดภายในและ Pinout: 11 ขั้นตอน
วีดีโอ: ESP32 เริ่มต้นใช้งานครั้งแรก | Arduino#64 | #เฮ็ดสิดี 2024, พฤศจิกายน
Anonim
Image
Image

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

ขั้นตอนที่ 1: NodeMCU ESP-WROOM-32

ESP-WROOM-32
ESP-WROOM-32

ที่นี่เรามี PINOUT ของ

WROOM-32 ที่ทำหน้าที่เป็นข้อมูลอ้างอิงที่ดีเมื่อคุณตั้งโปรแกรม สิ่งสำคัญคือต้องใส่ใจกับ General Purpose Input / Output (GPIO) นั่นคือพอร์ตอินพุตและเอาต์พุตข้อมูลที่ตั้งโปรแกรมได้ซึ่งยังคงเป็นตัวแปลง AD หรือพินสัมผัสเช่น GPIO4 เป็นต้น สิ่งนี้ยังเกิดขึ้นกับ Arduino ซึ่งพินอินพุตและเอาต์พุตสามารถเป็น PWM ได้เช่นกัน

ขั้นตอนที่ 2: ESP-WROOM-32

ในภาพด้านบน เรามี ESP32 เอง เม็ดมีดมีหลายประเภทที่มีคุณสมบัติแตกต่างกันไปตามผู้ผลิต

ขั้นตอนที่ 3: แต่ Pinout ที่ถูกต้องสำหรับฉันที่จะใช้สำหรับ ESP32 คืออะไร

แต่ Pinout ที่ถูกต้องสำหรับฉันที่จะใช้สำหรับ ESP32 คืออะไร
แต่ Pinout ที่ถูกต้องสำหรับฉันที่จะใช้สำหรับ ESP32 คืออะไร
แต่ Pinout ที่ถูกต้องสำหรับฉันที่จะใช้สำหรับ ESP32 คืออะไร?
แต่ Pinout ที่ถูกต้องสำหรับฉันที่จะใช้สำหรับ ESP32 คืออะไร?
แต่ Pinout ที่ถูกต้องสำหรับฉันที่จะใช้สำหรับ ESP32 คืออะไร?
แต่ Pinout ที่ถูกต้องสำหรับฉันที่จะใช้สำหรับ ESP32 คืออะไร?
แต่ Pinout ที่ถูกต้องสำหรับฉันที่จะใช้สำหรับ ESP32 คืออะไร?
แต่ Pinout ที่ถูกต้องสำหรับฉันที่จะใช้สำหรับ ESP32 คืออะไร?

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

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

ดังที่แสดงในตัวอย่างด้านล่าง เรามีการเชื่อมต่อ LED ใน ESP และโหมดการกำหนดค่าที่ถูกต้อง:

โปรดสังเกตว่าป้ายกำกับคือ TX2 แต่เราต้องปฏิบัติตามการระบุตัวตนที่ถูกต้อง ดังที่ไฮไลต์ในภาพก่อนหน้า ดังนั้นการระบุพินที่ถูกต้องจะเป็น 17 ภาพแสดงให้เห็นว่าโค้ดควรอยู่ใกล้แค่ไหน

ขั้นตอนที่ 4: อินพุต / เอาต์พุต

อินพุต / เอาต์พุต
อินพุต / เอาต์พุต

เมื่อทำการทดสอบ INPUT และ OUTPUT บนพิน เราได้ผลลัพธ์ดังต่อไปนี้:

INPUT ไม่ทำงานบน GPIO0 เท่านั้น

OUTPUT ไม่ได้ทำงานเฉพาะกับพิน GPIO34 และ GPIO35 ซึ่งก็คือ VDET1 และ VDET2 ตามลำดับ

* พิน VDET เป็นของโดเมนกำลังของ RTC ซึ่งหมายความว่าสามารถใช้เป็นพิน ADC และตัวประมวลผลร่วม ULP สามารถอ่านได้ พวกเขาสามารถเข้าได้เท่านั้นและไม่เคยออก

ขั้นตอนที่ 5: บล็อกไดอะแกรม

บล็อกไดอะแกรม
บล็อกไดอะแกรม

แผนภาพนี้แสดงให้เห็นว่า ESP32 มีแกนคู่ พื้นที่ชิปที่ควบคุม WiFi และอีกพื้นที่หนึ่งที่ควบคุม Bluetooth นอกจากนี้ยังมีการเร่งความเร็วด้วยฮาร์ดแวร์สำหรับการเข้ารหัส ซึ่งช่วยให้สามารถเชื่อมต่อกับ LoRa ซึ่งเป็นเครือข่ายทางไกลที่สามารถเชื่อมต่อได้ไกลถึง 15 กม. โดยใช้เสาอากาศ เรายังสังเกตเครื่องกำเนิดสัญญาณนาฬิกา นาฬิกาตามเวลาจริง และจุดอื่นๆ ที่เกี่ยวข้อง เช่น PWM, ADC, DAC, UART, SDIO, SPI และอื่นๆ ทั้งหมดนี้ทำให้อุปกรณ์ค่อนข้างสมบูรณ์และใช้งานได้ดี

ขั้นตอนที่ 6: อุปกรณ์ต่อพ่วงและเซ็นเซอร์

อุปกรณ์ต่อพ่วงและเซ็นเซอร์
อุปกรณ์ต่อพ่วงและเซ็นเซอร์

ESP32 มี 34 GPIO ที่สามารถกำหนดให้กับฟังก์ชันต่างๆ เช่น:

ดิจิตอลเท่านั้น;

เปิดใช้งานแอนะล็อก (สามารถกำหนดค่าเป็นแบบดิจิทัล);

Capacitive-touch-enabled (สามารถกำหนดค่าเป็นดิจิตอล);

และคนอื่น ๆ.

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

ขั้นตอนที่ 7: GPIO

ตัวแปลงอนาล็อกเป็นดิจิตอล (ADC)

Esp32 รวม ADC 12 บิตและรองรับการวัดใน 18 ช่องสัญญาณ (พินที่เปิดใช้งานแอนะล็อก) ตัวประมวลผลร่วม ULP ใน ESP32 ยังได้รับการออกแบบมาเพื่อวัดแรงดันไฟฟ้าขณะทำงานในโหมดสลีป ซึ่งช่วยให้ใช้พลังงานต่ำ CPU สามารถถูกปลุกได้ด้วยการตั้งค่าขีดจำกัดและ / หรือผ่านทริกเกอร์อื่นๆ

ตัวแปลงดิจิตอลเป็นอนาล็อก (DAC)

ช่อง DAC 8 บิต 2 ช่องสามารถใช้เพื่อแปลงสัญญาณดิจิทัล 2 สัญญาณเป็นเอาต์พุตแรงดันอนาล็อก 2 ช่อง DAC คู่เหล่านี้สนับสนุนแหล่งจ่ายไฟเป็นข้อมูลอ้างอิงแรงดันไฟฟ้าขาเข้า และสามารถขับเคลื่อนวงจรอื่นๆ ได้ ช่องสัญญาณคู่รองรับการแปลงอิสระ

ขั้นตอนที่ 8: เซ็นเซอร์

เซนเซอร์
เซนเซอร์
เซนเซอร์
เซนเซอร์

เซ็นเซอร์สัมผัส

ESP32 มี GPIO ตรวจจับแบบ capacitive 10 ตัวที่ตรวจจับการเปลี่ยนแปลงที่เกิดขึ้นเมื่อสัมผัสหรือเข้าใกล้ GPIO ด้วยนิ้วหรือวัตถุอื่นๆ

ESP32 ยังมีเซ็นเซอร์อุณหภูมิและเซ็นเซอร์ฮอลล์ภายใน แต่หากต้องการใช้งาน คุณจะต้องเปลี่ยนการตั้งค่าของรีจิสเตอร์ สำหรับรายละเอียดเพิ่มเติม ดูคู่มือทางเทคนิคผ่านลิงค์:

www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf

ขั้นตอนที่ 9: สุนัขเฝ้าบ้าน

ESP32 มีตัวจับเวลาการเฝ้าระวังสามตัว: ตัวหนึ่งอยู่บนแต่ละโมดูลตัวจับเวลาสองตัว (เรียกว่าตัวจับเวลาการเฝ้าระวังหลักหรือ MWDT) และตัวหนึ่งในโมดูล RTC (เรียกว่า RTC Watchdog Timer หรือ RWDT)

ขั้นตอนที่ 10: Bluetooth

บลูทู ธ
บลูทู ธ
บลูทู ธ
บลูทู ธ

Bluetooth Interface v4.2 BR / EDR และ Bluetooth LE (พลังงานต่ำ)

ESP32 รวมตัวควบคุมการเชื่อมต่อ Bluetooth และเบสแบนด์ Bluetooth ซึ่งใช้โปรโตคอลเบสแบนด์และรูทีนลิงก์ระดับต่ำอื่นๆ เช่น การมอดูเลต / ดีมอดูเลชัน การประมวลผลแพ็กเก็ต การประมวลผลบิตสตรีม การกระโดดความถี่ ฯลฯ

ตัวควบคุมการเชื่อมต่อทำงานในสามสถานะหลัก: สแตนด์บาย การเชื่อมต่อ และดมกลิ่น อนุญาตให้มีการเชื่อมต่อและการดำเนินการอื่น ๆ ที่หลากหลาย เช่น การสอบถาม เพจ และการจับคู่อย่างง่ายที่ปลอดภัย ดังนั้นจึงอนุญาตให้ใช้ Piconet และ Scatternet

ขั้นตอนที่ 11: Boot

บูต
บูต
บูต
บูต

ในบอร์ดพัฒนาจำนวนมากที่มี USB / Serial ในตัว esptool.py สามารถรีเซ็ตบอร์ดเป็นโหมดบูตได้โดยอัตโนมัติ

ESP32 จะเข้าสู่ Serial boot loader เมื่อ GPIO0 เหลือน้อยในการรีเซ็ต มิฉะนั้น โปรแกรมจะรันโปรแกรมแบบแฟลช

GPIO0 มีตัวต้านทานแบบดึงขึ้นภายใน ดังนั้นหากไม่มีการเชื่อมต่อ ตัวต้านทานจะสูงขึ้น

บอร์ดจำนวนมากใช้ปุ่ม "Flash" (หรือ "BOOT" บนบอร์ดพัฒนา Espressif บางรุ่น) ซึ่งจะทำให้ GPIO0 เลื่อนลงเมื่อกด

GPIO2 ไม่ควรเชื่อมต่อ / ลอยตัว

ในภาพด้านบน คุณจะเห็นการทดสอบที่ฉันทำ ฉันใส่ออสซิลโลสโคปบนหมุดทั้งหมดของ ESP เพื่อดูว่าเกิดอะไรขึ้นเมื่อเปิดเครื่อง ฉันค้นพบว่าเมื่อได้รับพิน มันสร้างการสั่น 750 ไมโครวินาที ดังที่แสดงในพื้นที่ที่ไฮไลต์ทางด้านขวา เราจะทำอะไรได้บ้างเกี่ยวกับเรื่องนี้? เรามีทางเลือกหลายอย่าง เช่น การหน่วงเวลากับวงจรที่มีทรานซิสเตอร์ ตัวขยายประตู เป็นต้น ฉันชี้ให้เห็นว่า GPIO08 กลับด้าน การแกว่งออกจากด้านบนและไม่ลง

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

แนะนำ: