3.6. 전자공학 기초

GPIO 핀으로 외부 장치를 구동하려면 핀 반대편에 회로가 필요합니다. 기초 전자공학의 세 가지 개념 – 전압, 전류, 그리고 저항을 통한 둘 사이의 관계 – 은 이러한 모든 회로에 등장합니다.

3.6.1. 전압, 전류, 저항

  • 전압(볼트, V)은 회로 내 두 지점 사이의 전위차입니다. 칩의 공급 전원 레일은 접지 기준 3.3 V일 수 있으며, 하이(high)로 구동된 GPIO 핀도 동일한 3.3 V에 놓입니다.

  • 전류(암페어, A 또는 밀리암페어, mA)는 전선을 통한 전하의 흐름입니다. 전류는 항상 출발한 곳으로 되돌아가므로, 전류가 흐르려면 회로가 공급원에서 접지로 되돌아오는 완전한 폐회로를 이루어야 합니다.

  • 저항(옴, Ω)은 그 흐름을 경로가 얼마나 방해하는지를 나타냅니다. 저항기의 역할은 주어진 전압에서 전류를 알려진 값으로 설정하는 것입니다.

옴의 법칙이 이들을 하나로 묶습니다:

삼각형이 세 영역으로 나뉘어 위쪽에 V, 아래쪽에 I와 R로 표시되며, 변형된 형태인 V = IR, I = V/R, R = V/I가 그 주위에 표시됩니다.

세 가지 형태로 표현된 옴의 법칙.

말로 표현하면: 저항기 양단의 전압은 그것을 통과하는 전류에 저항을 곱한 값과 같습니다. 세 가지 중 두 가지를 알면 대수적으로 나머지 하나를 구할 수 있습니다.

3.6.2. 다이오드

다이오드는 한 방향(애노드에서 캐소드로)으로만 전류를 흐르게 하고 반대 방향으로는 차단하는 2단자 부품입니다.

다이오드 회로 기호 -- 오른쪽 수직 막대를 향해 가리키는 삼각형 -- 으로, 왼쪽에 애노드, 오른쪽에 캐소드가 표시됩니다. LED 변형은 방출되는 빛을 나타내는 두 개의 바깥쪽 화살표를 기호 옆에 추가합니다.

다이오드는 애노드에서 캐소드 방향으로만 전류를 흐르게 합니다. 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 사이의 직렬 저항기는 전류를 안전한 값으로 설정합니다.

회로: GPIO 핀이 저항기 R을 거쳐 LED의 애노드에 연결되고, LED의 캐소드는 접지로 연결됩니다. 핀에서의 Vsupply, 저항기 양단의 V_R, LED 양단의 Vf, 그리고 루프를 따라 흐르는 전류 If가 표시됩니다.

직렬 저항기가 LED 전류를 설정합니다.

공급 전압은 저항기와 LED 사이에서 분배됩니다: LED는 순방향 전압을 강하시키고, 저항기는 나머지를 강하시킵니다. 옴의 법칙에 따르면:

R = (Vsupply - Vf) / If

3.3 V GPIO 핀에서 10 mA로 구동되는 빨간색 LED(Vf 2.0 V)의 경우:

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

실제로는 가장 가까운 더 큰 표준값(150 Ω 또는 220 Ω)을 선택합니다. 그 결과 LED는 약간 더 어두워지지만 더 건전한 안전 여유를 갖게 됩니다. 정확한 밝기가 중요하지 않을 때는 200 – 470 Ω을 합리적인 기본값으로 사용하세요.

3.6.5. 각 부품이 중요한 이유

모든 GPIO 출력 회로의 형태는 위의 네 가지 개념에서 비롯됩니다:

  • 전압은 핀에서 사용할 수 있는 에너지를 설정합니다. 3.3 V GPIO는 핀과 접지 사이에 연결된 무엇에든 사용할 수 있는 3.3 V를 가집니다.

  • 다이오드(이 경우 LED)는 그 전압의 일부를 순방향 강하로 소비하고 잘못된 방향으로는 도통을 거부합니다 – 즉 어느 방향인지와 고정된 몫을 설정합니다.

  • 전류 제한 저항기는 남은 전압을 소비하고 남은 예산을 제어된 전류로 바꿉니다. 이것이 없으면 LED는 핀이 공급할 수 있는 만큼의 전류를 끌어들이며, 이는 대개 둘 중 하나 또는 둘 모두를 파괴하기에 충분합니다.

  • 옴의 법칙은 저항기의 값을 계산 가능하게 만드는 것입니다: 남은 전압과 원하는 전류가 주어지면, R은 대수적으로 도출됩니다.

전압, 전류, 저항, 다이오드, 그리고 하나의 변형된 방정식이면 모든 기본 GPIO 출력단을 설계하기에 충분합니다.

같은 부품들이 줄곧 온보드 LED 뒤에 숨어 있었습니다. machine.LED("LED_RED").on()이 LED를 켜는 것은 카메라 보드가 이미 그 주변의 모든 것 – 전류 제한 저항기, 접지로 가는 전선, LED 자체 – 을 제공하고 있으며, 클래스는 단지 그 뒤에 있는 실리콘의 GPIO를 토글할 뿐이기 때문입니다. “한 줄로 LED를 켠다”는 관점은 사실이며, 그것은 단지 “그 회로를 구동한다”는 것을 짧게 표현한 것일 뿐입니다. 추상화를 벗겨내면 정확히 위의 회로가 남습니다.

machine.Pin은 주변 부품 없이 노출된 동일한 실리콘입니다. 스크립트는 핀의 전압을 직접 제어하며, 저항기(옴의 법칙으로 크기를 정함), LED, 그리고 접지로 가는 귀환 경로는 여러분이 제공합니다. 동일한 네 가지 개념이 약간 다른 조합으로 스위치 디바운싱, PWM 필터링, 모터 구동 뒤에서 다시 등장합니다.