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 และการขับมอเตอร์