-
7-segment, pwm 제어라즈베리파이 2023. 12. 20. 20:53
PWM은 Pulse Width Modulation의 약자로, 디지털 신호를 상용하여 아날로그 신호를 모사하는 방법이다.
PWM은 주로 디지털 출력핀을 사용하여 다양한 작업에 활용된다. 라즈베리파이에서는 GIPO핀을 통해 PWM 신호를 생성 할 수 있다.
그리고 라즈베리 파이의 PWM은 주로 LED의 밝기 제어, 서보 모터의 각도 제어, 소리 발생기의 음량 제어등 다양한 분야에서 사용된다. PWM을 사용하면 아날로그 신호를 모사하느것이 가능해져, 다양한 장치와의 연동이 용이해진다.
원래는 라이브러리를 설치해야하지만 Gpio핀은 일반적으로 소프트웨어 제어를 진행할 때 pwm모드로 설정이 가능하다.
(단, 하드웨어적으로 진행할 때는 PWM핀은 물리핀인 12번, 32번(pwm0), 33번(pwm1)만 진행가능하다.)
for 문을 통해 0~99까지 PWM출력을 증가 시켜 LED를 깜빡이는 효과를 생성할 수 있다.
-스위치1을 누르면 led가 점점 밝아지고, 스위치2를 누르면 led가 점점 어두워지도록 코딩을 진행해자.(단, pwm의 최대값은 100 최소값은 0으로 지정해서 코딩해보자)스위치 1번을 누르면 for 문의 증감연산자를 통해 점점 밝기가 증가하고 스위치 2번을 누르면 for문의 감소 연산자를 통해 밝기가 점점 감소한다.
7-segment는 일반적으로 숫자를 표시하는데 사용된다. 7개의 세그먼트로 구성되어 있으며, 각 세그먼트 라인 형태로 연결되어있다. 각 세그먼트는 a, b, c, d, e, f, g로 레이블링되어 있다. 각각의 세그먼트를 키고 끄고를 통해 숫자를 조합 할 수 있고 간단한 문자도 조작이 가능하다. 7-segment는 주로 디지털 시계, 계산기, 온도 표시기등에 사용된다.
그리고 7-segment에서는 구분법이 있다.
에노드 : 빨간단자(+)을 아래접지하고 검은단자(-)로 위 핀을 가져갈때 불이 들어온다.
캐소드 : 검은단자(-)을 아래접지하고 빨간단자(+)로 위 핀을 가져갈때 불이 들어온다.
*어떤 방식을 쓸지에는 상관이 없는데 에노드인지 캐소드인지 구분은 할 줄 알아야 한다.
1초간격으로 7-segment 켜지고 꺼지고 반복된다. 이 코드는 7-segment 가 잘 작동되는지 한 코드이다.
연결된 8개의 세그먼트 LED 디스플레이에 0부터 9까지의 숫자가 1초 간격으로 차례대로 표시된다.
-스위치1을 누르면 7segment에 표시되는 숫자가 증가하고, 스위치2를 누르면 7segment에 표시되는 숫자가 감소하도록 해보자.(단, 최소 숫자는 0이며, 최대숫자는 9이다. 숫자 감소는 0이하로는 떨어지지 않으며, 숫자의 증가는 9이상으로 증가하지 않는다.)초기값을 설정해 최대값을 넘지 않고 최솟값보다 떨어지지 않게 설정했다.
'라즈베리파이' 카테고리의 다른 글
서보모터(Servo motor) 제어 (2) 2024.01.10 온습도 센서( DHT11) 제어하기 (0) 2024.01.03 sw 제어하기 (0) 2023.12.12 LED제어하기 (0) 2023.12.11 라즈베리파이 작동시키기 (0) 2023.12.11