3.6. Kiến thức cơ bản về điện tử

Để điều khiển bất kỳ thiết bị ngoại vi nào từ chân (pin) GPIO, cần có một mạch điện ở phía bên kia của chân đó. Ba khái niệm cơ bản trong điện tử -- điện áp, dòng điện và mối quan hệ giữa chúng thông qua điện trở -- xuất hiện trong mọi mạch như vậy.

3.6.1. Điện áp, dòng điện, điện trở

  • Điện áp (vôn, V) là hiệu điện thế giữa hai điểm trong mạch. Đường cung cấp của chip có thể ở mức 3,3 V so với đất; một chân GPIO được kéo lên cao sẽ ở cùng mức 3,3 V.

  • Dòng điện (ampe, A, hoặc miliampe, mA) là dòng chảy của điện tích qua dây dẫn. Dòng điện luôn quay về nơi nó xuất phát, vì vậy để có dòng điện chạy, mạch phải tạo thành một vòng kín từ nguồn cung cấp trở về đất.

  • Điện trở (ôm, Ω) là mức độ cản trở của đường dẫn đối với dòng chảy đó. Mục đích của điện trở là thiết lập dòng điện ở một giá trị đã biết tại một điện áp đã biết.

Định luật Ohm liên kết chúng lại với nhau:

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.

Định luật Ohm trong ba dạng.

Nói cách khác: điện áp trên một điện trở bằng dòng điện qua nó nhân với điện trở. Biết bất kỳ hai trong ba đại lượng là có thể tính ra đại lượng còn lại bằng đại số.

3.6.2. Điốt

Điốt là linh kiện hai đầu dẫn điện theo một chiều (từ anode đến cathode) và chặn chiều ngược lại.

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.

Điốt chỉ dẫn điện từ anode đến cathode. LED là điốt phát sáng khi dẫn điện.

Điốt cũng có điện áp thuận (Vf) -- mức sụt áp trên nó khi dòng điện chạy theo chiều dẫn. Khi điện áp đặt vào đạt đến Vf, điốt hoạt động gần như một dây dẫn; dưới mức đó, gần như không có dòng điện nào chạy qua.

3.6.3. Đèn LED

A light-emitting diode (LED) là điốt chuyển đổi dòng điện dẫn thành ánh sáng nhìn thấy hoặc hồng ngoại. Độ sáng tỷ lệ với dòng điện; màu sắc được xác định bởi thành phần hóa học của LED, không phải bởi tín hiệu điều khiển.

Điện áp thuận điển hình của LED:

  • Đỏ: 1,8 -- 2,2 V

  • Xanh lá hoặc vàng: 2,0 -- 2,4 V

  • Xanh dương hoặc trắng: 2,8 -- 3,4 V

Dòng điện hoạt động hữu ích cho LED chỉ thị là 5 -- 20 mA. Dòng điện cao hơn sẽ sáng hơn nhưng rút ngắn tuổi thọ của LED và có thể vượt quá giới hạn dẫn của chân GPIO.

3.6.4. Điện trở giới hạn dòng

Kết nối LED trực tiếp giữa chân GPIO và đất sẽ cho phép dòng điện gần như không giới hạn chạy qua: khi điện áp thuận đạt đến, LED trở thành gần như ngắn mạch. Một điện trở nối tiếp giữa chân và LED sẽ giới hạn dòng điện ở mức an toàn.

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.

Điện trở nối tiếp giới hạn dòng LED.

Điện áp nguồn phân chia giữa điện trở và LED: LED tiêu thụ điện áp thuận của nó, điện trở tiêu thụ phần còn lại. Theo định luật Ohm:

R = (Vsupply - Vf) / If

Với LED đỏ (Vf 2.0 V) được cấp từ chân GPIO 3,3 V ở 10 mA:

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

Trong thực tế, hãy chọn giá trị tiêu chuẩn lớn hơn gần nhất (150 Ω hoặc 220 Ω). Kết quả là LED hơi tối hơn nhưng có biên độ an toàn lành mạnh hơn. Nên dùng từ 200 -- 470 Ω làm giá trị mặc định hợp lý khi độ sáng chính xác không quan trọng.

3.6.5. Tại sao mỗi thành phần đều quan trọng

Hình dạng của mọi mạch đầu ra GPIO đều xuất phát từ bốn ý tưởng trên:

  • Điện áp xác định năng lượng sẵn có tại chân. GPIO 3,3 V có 3,3 V để phân phối trên bất cứ thứ gì được nối giữa nó và đất.

  • Điốt (LED trong trường hợp này) tiêu thụ một phần điện áp đó như là sụt áp thuận và từ chối dẫn điện theo chiều sai -- nó xác định chiều nàophần cố định.

  • Điện trở giới hạn dòng tiêu thụ điện áp còn lại và biến phần ngân sách dư thành dòng điện được kiểm soát. Không có nó, LED sẽ kéo bất kỳ dòng điện nào mà chân có thể cung cấp -- thường đủ để phá hủy một hoặc cả hai.

  • Định luật Ohm là thứ làm cho giá trị điện trở có thể tính được: cho điện áp dư và dòng điện mong muốn, R được suy ra bằng đại số.

Điện áp, dòng điện, điện trở, điốt và một phương trình sắp xếp lại là đủ để thiết kế mọi tầng đầu ra GPIO cơ bản.

Những thành phần tương tự đã ẩn sau LED trên bo mạch từ trước đến nay. machine.LED("LED_RED").on() bật LED vì bo mạch camera đã cung cấp sẵn mọi thứ xung quanh nó -- điện trở giới hạn dòng, dây nối đến đất, bản thân LED -- và lớp này chỉ bật/tắt GPIO silicon ẩn bên dưới chúng. Cách nhìn "một dòng bật LED" là đúng; đó chỉ là cách ngắn gọn để nói "điều khiển mạch đó". Gỡ bỏ lớp trừu tượng đi và chính xác mạch trên là thứ còn lại.

machine.Pin là cùng silicon đó nhưng được hiển thị mà không có các thành phần xung quanh. Tập lệnh điều khiển trực tiếp điện áp của chân; bạn cung cấp điện trở (được tính bằng định luật Ohm), LED và đường trở về đất. Bốn ý tưởng tương tự quay trở lại, ở các kết hợp hơi khác nhau, đằng sau khử rung nút nhấn, lọc PWM và điều khiển động cơ.