3.6. พื้นฐานอิเล็กทรอนิกส์#

การขับเคลื่อนอุปกรณ์ภายนอกใดๆ จากพิน GPIO ต้องมีวงจรเชื่อมต่ออยู่อีกฝั่งหนึ่ง แนวคิดพื้นฐานสามประการจากอิเล็กทรอนิกส์เบื้องต้น ได้แก่ แรงดันไฟฟ้า กระแสไฟฟ้า และความสัมพันธ์ระหว่างทั้งสองผ่านตัวต้านทาน ปรากฏในวงจรทุกประเภทดังกล่าว

3.6.1. แรงดันไฟฟ้า กระแสไฟฟ้า ความต้านทาน#

  • แรงดันไฟฟ้า (โวลต์, V) คือความต่างศักย์ระหว่างสองจุดในวงจร ราง Supply ของชิปอาจอยู่ที่ 3.3 V เทียบกับกราวนด์ พิน GPIO ที่ถูกขับให้สูงจะอยู่ที่ 3.3 V เช่นกัน

  • กระแสไฟฟ้า (แอมแปร์, A หรือมิลลิแอมแปร์, mA) คือการไหลของประจุผ่านสาย กระแสไฟฟ้าจะวนกลับมาที่จุดเริ่มต้นเสมอ ดังนั้นเพื่อให้กระแสไหลได้ วงจรต้องสร้างลูปที่สมบูรณ์จาก Supply กลับมาที่กราวนด์

  • ความต้านทาน (โอห์ม, Ω) คือค่าที่บอกว่าเส้นทางนั้นต้านการไหลมากเพียงใด จุดประสงค์ของตัวต้านทานคือการกำหนดกระแสไฟฟ้าให้ได้ค่าที่ทราบที่แรงดันที่ทราบ

กฎของโอห์มเชื่อมโยงทั้งสามเข้าด้วยกัน:

A triangle divided into three regions labelled V at top, I and R at the bottom; the rearranged forms V = IR, I = V/R, R = V/I appear around it.

กฎของโอห์มในสามรูปแบบ#

กล่าวในรูปคำพูด: แรงดันไฟฟ้าที่ตกคร่อมตัวต้านทานเท่ากับกระแสไฟฟ้าที่ผ่านมันคูณกับความต้านทาน การรู้ค่าใดสองในสามค่าจะให้ค่าที่สามได้ด้วยพีชคณิต

3.6.2. ไดโอด#

ไดโอดเป็นอุปกรณ์สองขั้วที่นำกระแสในทิศทางเดียว (จาก แอโนด ไปยัง แคโทด) และกั้นกระแสในทิศทางตรงกันข้าม

A diode schematic symbol -- a triangle pointing right into a vertical bar -- with anode marked on the left and cathode on the right. An LED variant adds two outward arrows next to the symbol indicating emitted light.

ไดโอดนำกระแสจากแอโนดไปยังแคโทดเท่านั้น LED คือไดโอดที่ปล่อยแสงขณะนำกระแส#

ไดโอดยังมี แรงดันไปข้างหน้า (Vf) -- แรงดันที่ตกคร่อมเมื่อกระแสไหลในทิศทางนำ เมื่อแรงดันที่ใช้ถึง Vf ไดโอดจะทำงานคล้ายสาย ต่ำกว่านั้น แทบจะไม่มีกระแสไหล

3.6.3. LED#

ไดโอดเปล่งแสง (LED) คือไดโอดที่แปลงกระแสนำของมันเป็นแสงที่มองเห็นได้หรืออินฟราเรด ความสว่างแปรตามกระแส สีถูกกำหนดโดยสารเคมีของ LED ไม่ใช่โดยการขับ

แรงดันไปข้างหน้าทั่วไปของ LED:

  • สีแดง: 1.8 -- 2.2 V

  • สีเขียวหรือสีเหลือง: 2.0 -- 2.4 V

  • สีน้ำเงินหรือสีขาว: 2.8 -- 3.4 V

กระแสใช้งานที่เหมาะสมสำหรับ LED แสดงสถานะคือ 5 -- 20 mA กระแสที่สูงขึ้นจะสว่างกว่า แต่จะลดอายุการใช้งานของ LED และอาจเกินขีดจำกัดการขับของพิน GPIO

3.6.4. ตัวต้านทานจำกัดกระแส#

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

A circuit: GPIO pin connects through a resistor R to the anode of an LED; the LED's cathode goes to ground. Labels mark Vsupply at the pin, V_R across the resistor, Vf across the LED, and the current If flowing around the loop.

ตัวต้านทานอนุกรมกำหนดกระแสของ LED#

แรงดัน Supply แบ่งระหว่างตัวต้านทานและ LED: LED ลดแรงดันของตัวมัน ตัวต้านทานลดส่วนที่เหลือ ตามกฎของโอห์ม:

R = (Vsupply - Vf) / If

สำหรับ LED สีแดง (Vf 2.0 V) ที่ขับจากพิน GPIO 3.3 V ที่ 10 mA:

R = (3.3 - 2.0) / 0.010 = 130 Ω

ในทางปฏิบัติ ให้เลือกค่ามาตรฐานที่ใกล้เคียงและสูงกว่า (150 Ω หรือ 220 Ω) ผลที่ได้คือ LED ที่สว่างน้อยลงเล็กน้อยพร้อมความปลอดภัยที่ดีขึ้น ใช้ค่า 200 -- 470 Ω เป็นค่าเริ่มต้นที่เหมาะสมเมื่อความสว่างที่แน่นอนไม่สำคัญ

3.6.5. เหตุผลที่แต่ละส่วนมีความสำคัญ#

รูปร่างของวงจรเอาต์พุต GPIO ทุกวงจรมาจากแนวคิดทั้งสี่ข้างต้น:

  • แรงดันไฟฟ้า กำหนดพลังงานที่มีอยู่ที่พิน GPIO 3.3 V มีแรงดัน 3.3 V ใช้จ่ายกับสิ่งที่ต่อระหว่างมันกับกราวนด์

  • ไดโอด (LED ในกรณีนี้) ใช้แรงดันบางส่วนเป็นแรงดันตกไปข้างหน้า และปฏิเสธที่จะนำกระแสในทิศทางผิด -- มันกำหนด ทิศทาง และ ส่วนที่คงที่

  • ตัวต้านทานจำกัดกระแส ใช้แรงดันที่เหลือและแปลงงบประมาณที่เหลือเป็น กระแส ที่ควบคุมได้ หากไม่มีมัน LED จะดึงกระแสเท่าที่พินสามารถจ่ายได้ -- โดยปกติเพียงพอที่จะทำลายทั้งสองอย่าง

  • กฎของโอห์ม คือสิ่งที่ทำให้ค่าของตัวต้านทานคำนวณได้: เมื่อรู้แรงดันที่เหลือและกระแสที่ต้องการ R จะได้มาจากพีชคณิต

แรงดันไฟฟ้า กระแสไฟฟ้า ความต้านทาน ไดโอด และสมการที่จัดเรียงใหม่หนึ่งสมการ เพียงพอสำหรับการออกแบบวงจรเอาต์พุต GPIO พื้นฐานทุกวงจร

ส่วนเดียวกันนี้ซ่อนอยู่หลัง LED บนบอร์ดมาตลอด machine.LED("LED_RED").on() ทำให้ LED ติดเพราะบอร์ดของ camera ได้จัดเตรียมทุกอย่างรอบข้างไว้แล้ว -- ตัวต้านทานจำกัดกระแส สายต่อกราวนด์ ตัว LED เอง -- และ class เพียงแค่สลับ GPIO ของซิลิกอนที่อยู่เบื้องหลัง มุมมอง "หนึ่งบรรทัดทำให้ LED ติด" เป็นความจริง มันเป็นเพียงการพูดสั้นๆ ว่า "ขับวงจรนั้น" ลอกนามธรรมออกและวงจรข้างต้นนั้นเองที่เหลืออยู่

machine.Pin คือซิลิกอนเดียวกันที่เปิดเผยออกมาโดยไม่มีส่วนประกอบรอบข้าง สคริปต์ควบคุมแรงดันของพินโดยตรง คุณต้องจัดหาตัวต้านทาน (ขนาดตามกฎของโอห์ม), LED และเส้นทางกลับไปยังกราวนด์เอง แนวคิดทั้งสี่เดิมกลับมาใหม่ในการรวมกันที่แตกต่างกันเล็กน้อย ในการ debounce สวิตช์ การกรอง PWM และการขับมอเตอร์