7세그먼트 디스플레이로 라즈베리 파이 피코가 카운트하도록 가르치세요

7세그먼트 디스플레이로 라즈베리 파이 피코가 카운트하도록 가르치세요
당신과 같은 독자는 MUO를 지원하는 데 도움이 됩니다. 귀하가 당사 사이트의 링크를 사용하여 구매하면 당사는 제휴 수수료를 받을 수 있습니다. 자세히 알아보기

저비용 Raspberry Pi Pico 마이크로컨트롤러 보드는 매니아가 프로젝트를 탐색하여 기술 지식을 높일 수 있는 뛰어난 유연성을 제공합니다. 기본 사항을 배우면 보다 복잡한 작업을 자신 있게 수행할 수 있는 견고한 지식 기반을 얻을 수 있습니다.





여기서는 Raspberry Pi Pico와 일부 MicroPython 코드를 사용하여 7세그먼트 디스플레이의 각 부분을 제어하는 ​​방법을 살펴보겠습니다.





무엇이 필요합니까?

다음 항목이 포함되어 있습니다. Raspberry Pi Pico용 Kitronik Inventor 키트 . 그러나 전자 제품을 많이 사재기하는 사람이라면 이러한 부품을 집에 숨겨 둘 가능성이 큽니다.





  • 세븐 세그먼트 디스플레이
  • 7x 220Ω 저항기
  • 9x 수-수 점퍼 와이어
  • 브레드보드

GPIO 핀 헤더가 연결된 Pico가 필요합니다. 아직 해보지 않았다면 알아보십시오. Raspberry Pi Pico에서 헤더 핀을 납땜하는 방법 .

하드웨어 연결

이 프로젝트의 배선은 복잡하지 않습니다. 그러나 소수의 저항과 점퍼 와이어가 작동 중이므로 모든 부품이 올바른 핀에 연결되었는지 확인하기 위해 주의를 기울여야 합니다. 이를 염두에 두고 Raspberry Pi Pico와 브레드보드 사이에 구성 요소가 어떻게 연결되어 있는지 살펴보겠습니다.



먼저 Pico의 GND 핀에서 전선을 연결하고 다른 쪽 끝을 음극 브레드보드 레일을 따라 있는 구멍에 배치합니다. 나머지 커넥터는 7세그먼트 디스플레이 및 저항 주변의 브레드보드 부분에 연결됩니다.

크롬에서 내 기본 Google 계정 어떻게 변경해

라우팅되는 점퍼 와이어 GP16 , GP17 , 그리고 GP18 디스플레이 오른쪽에 디스플레이 위에 있는 저항과 일직선으로 연결됩니다.





7 세그먼트 디스플레이의 왼쪽에서 실행되는 와이어의 다른 쪽을 실행해야 합니다. GP15 , GP14 , GP13 , 그리고 GP12 브레드보드 연결에. 다시 말하지만 올바른 저항에 맞게 전선을 연결해야 합니다.

브레드보드의 네거티브 레일을 따라 연결해야 하는 더 작은 점퍼 와이어가 있습니다. 이 연결의 다른 쪽은 디스플레이 바로 위의 두 저항 사이에 있습니다. 저항 밴드가 빨간색, 빨간색, 갈색 및 금색(220옴의 경우)인지 확인하십시오.





스머프 계정이라고 불리는 이유
  마이크로컨트롤러를 브레드보드에 연결하는 전자 전선 및 부품

문제가 발생했습니까? 저항 테스트를 고려하십시오(특히 한동안 전자 부품을 축적한 경우). 가이드 참조 멀티미터로 저항을 측정하는 방법 테스트 단계용.

코드 탐색

Thonny IDE를 사용하여 디스플레이의 7개 세그먼트를 각각 제어할 수 있습니다. 방법에 대한 가이드를 확인하세요. Raspberry Pi Pico에서 MicroPython 시작하기 자세한 사항은. 당신은 다운로드 할 수 있습니다 7segment.py 의 코드 파일 MUO GitHub 리포지토리 .

코드의 중요한 부분 중 하나는 디스플레이의 7개 세그먼트를 Pico 핀에 할당하는 것입니다. GP12 ~을 통해 GP18 , 각 변수 이름( 세가 에게 ffG ).

 segA = machine.Pin(18, machine.Pin.OUT) 
segB = machine.Pin(17, machine.Pin.OUT)
segC = machine.Pin(16, machine.Pin.OUT)
segD = machine.Pin(15, machine.Pin.OUT)
segE = machine.Pin(14, machine.Pin.OUT)
segF = machine.Pin(13, machine.Pin.OUT)
segG = machine.Pin(12, machine.Pin.OUT)

라는 목록 다리 , 이러한 변수를 동일한 순서로 보유합니다. 중첩 목록(일명 '목록의 목록') 번호 , 그런 다음 각 숫자에 대해 어떤 세그먼트가 켜져야 하는지 결정하는 데 사용됩니다. 각 줄은 0에서 9까지의 숫자와 숫자가 없는 마지막 줄을 나타냅니다. 목록의 '1'은 세그먼트가 켜져야 함을 나타냅니다. '0'은 그렇지 않아야 함을 의미합니다.

그만큼 디스플레이 번호 숫자가 표시되어야 하는 함수가 호출됩니다. 해당 숫자를 표시하려면 번호 목록은 할당된 GPIO 출력 핀을 트리거하여 어떤 세그먼트를 켜야 하는지 결정하는 데 사용됩니다.

마지막으로, 동안 참: 무한 루프는 displayNumber 함수를 반복적으로 호출하여 0에서 9까지 계산한 다음 역순으로 계산합니다. 완료되면 잠시 동안 디스플레이가 지워집니다. 거기에서 프로세스가 다시 시작됩니다.

 while True: 
    for i in range(10):
        displayNumber(i)
        time.sleep_ms(600)
    
    for i in range (9, -1, -1):
        displayNumber(i)
        time.sleep_ms(600)

아직 추측하지 않았다면 이 루프는 멈추지 않을 것입니다. 이 코드는 Raspberry Pi Pico가 무한 루프에서 계산하도록 지시합니다. 따라서 성취의 참신함이 사라지면 Thonny에서 중지 버튼을 눌러야 합니다.

다음에는 무엇을 실험할 것인가?

이 프로젝트에서 Raspberry Pi Pico와 추가 7세그먼트 디스플레이를 사용하여 디지털 시계를 만들도록 영감을 받았습니까? 더 나은 방법은 대형 Raspberry Pi 컴퓨터를 사용하여 크론 스케줄러를 구성하여 매일 아침 7시에 노래를 재생하는 것입니다. 스누즈 버튼은 음악을 멈추고 10분 후에 오디오를 재생하여 추가할 수 있습니다. 버튼을 세 번 누르면 내일까지 음악이 꺼지도록 설정할 수 있습니다.