라즈베리 파이 4 LCD 출력 - lajeubeli pai 4 LCD chullyeog

주요 콘텐츠로 건너뛰기

이 브라우저는 더 이상 지원되지 않습니다.

최신 기능, 보안 업데이트, 기술 지원을 이용하려면 Microsoft Edge로 업그레이드하세요.

LCD에 텍스트 표시

  • 아티클
  • 10/11/2022
  • 읽는 데 7분 걸림

이 문서의 내용

LCD 문자 디스플레이는 외부 모니터가 없어도 정보를 표시하는 데 유용합니다. 일반적인 LCD 문자 디스플레이는 GPIO 핀에 직접 연결할 수 있지만 해당 접근 방식에는 최대 10개 GPIO 핀을 사용해야 합니다. 디바이스 조합에 연결해야 하는 시나리오에서는 너무 많은 GPIO 헤더를 문자 디스플레이에 사용하는 것은 보통 실용적이지 않습니다.

대부분 제조업체에서는 GPIO 확장기가 통합된 20x4 LCD 문자 디스플레이를 판매합니다. 문자 표시는 GPIO 확장자에 직접 연결한 다음, Inter-Integrated 회로(I2C) 직렬 프로토콜을 통해 Raspberry Pi에 연결합니다.

이 항목에서는 .NET을 사용하여 I2C GPIO 확장기를 사용하여 LCD 문자 디스플레이에 텍스트를 표시합니다.

필수 조건

  • Raspberry Pi OS가 설치된 Raspberry Pi(2 이상)
  • I 2C 인터페이스가 있는 20x4LCD 문자 표시
  • 점퍼 와이어
  • 브레드보드(선택 사항/권장)
  • Raspberry Pi GPIO 브레이크아웃 보드(선택 사항/권장)
  • .NET SDK 6 이상

참고

많은 LCD 문자 디스플레이 제조업체가 있습니다. 대부분의 디자인은 동일하며 제조업체에서 기능을 변경하면 안 됩니다. 참조용으로 제공되는 이 자습서는 SunFounder LCD2004를 사용하여 개발되었습니다.

Raspberry Pi 준비

raspi-config 명령을 사용하여 다음 두 서비스를 사용하도록 설정했는지 확인합니다.

  • SSH
  • I2C

raspi-config에 관한 자세한 내용은 Raspberry Pi 설명서를 참조하세요.

하드웨어 준비

점퍼 와이어를 사용하여 I2C GPIO 확장기에서 4개의 핀을 다음과 같이 Raspberry Pi에 연결합니다.

  • GND-접지
  • VCC 5V
  • SDA-SDA(GPIO 2)
  • SCL-SCL(GPIO 3)

필요한 경우 다음 그림을 참조하세요.

I2C 인터페이스(디스플레이 뒷면)Raspberry Pi GPIO

Raspberry Pi Foundation이 제공한 이미지.

GPIO 헤더에 대한 연결을 간소화하기 위해 브레드보드와 함께 GPIO 브레이크아웃 보드를 사용하는 것이 좋습니다.

앱 만들기

선호하는 개발 환경에서 다음 단계를 완료합니다.

  1. .NET CLI 또는 Visual Studio 중 하나를 사용하여 새 .NET 콘솔 앱을 만듭니다. 이름을 LcdTutorial로 지정합니다.

    dotnet new console -o LcdTutorial cd LcdTutorial
  2. Iot.Device.Bindings 패키지를 프로젝트에 추가합니다. 프로젝트 디렉터리 또는 Visual Studio에서 .NET CLI를 사용합니다.

    dotnet add package Iot.Device.Bindings --version 2.1.0-*
  3. Program.cs의 내용을 다음 코드로 바꿉니다.

    using System; using System.Device.Gpio; using System.Device.I2c; using System.Threading; using Iot.Device.CharacterLcd; using Iot.Device.Pcx857x; Console.WriteLine("Displaying current time. Press Ctrl+C to end."); using I2cDevice i2c = I2cDevice.Create(new I2cConnectionSettings(1, 0x27)); using var driver = new Pcf8574(i2c); using var lcd = new Lcd2004(registerSelectPin: 0, enablePin: 2, dataPins: new int[] { 4, 5, 6, 7 }, backlightPin: 3, backlightBrightness: 0.1f, readWritePin: 1, controller: new GpioController(PinNumberingScheme.Logical, driver)); int currentLine = 0; while (true) { lcd.Clear(); lcd.SetCursorPosition(0,currentLine); lcd.Write(DateTime.Now.ToShortTimeString()); currentLine = (currentLine == 3) ? 0 : currentLine + 1; Thread.Sleep(1000); }

    위의 코드에서

    • using 선언은 I2cDevice.Create를 호출하고 busId 및 deviceAddress 매개 변수를 통해 새 I2cConnectionSettings를 전달하여 I2cDevice 인스턴스를 만듭니다. 이것은 I2cDevice I2C 버스를 나타냅니다. using 선언은 개체가 삭제되고 하드웨어 리소스가 제대로 해제되었는지 확인합니다.

      경고

      GPIO 확장기의 디바이스 주소는 제조업체에서 사용하는 칩에 따라 다릅니다. PCF8574가 설치된 GPIO 확장기는 주소 0x27을 사용하지만 PCF8574A 칩을 사용하는 GPIO 확장기는 0x3F를 사용합니다. LCD 설명서를 참조하세요.

    • 또 다른 using 선언은Pcf8574 인스턴스를 만들고 I2cDevice를 생성자에 전달합니다. 해당 인스턴스는 GPIO 확장기를 나타냅니다.

    • 또 다른 using 선언은 Lcd2004 인스턴스를 만들어 디스플레이를 나타냅니다. 여러 매개 변수가 GPIO 확장기와 통신하는 데 사용할 설정을 설명하는 생성자에 전달됩니다. GPIO 확장기는 controller 매개 변수로 전달됩니다.

    • while 루프는 무기한으로 실행됩니다. 반복될 때마다:

      1. 디스플레이를 지웁니다.
      2. 커서 위치를 현재 줄의 첫 번째 위치로 설정합니다.
      3. 현재 커서 위치에서 디스플레이에 현재 시간을 씁니다.
      4. 현재 줄 카운터를 반복합니다.
      5. 1,000밀리초 동안 일시 중단합니다.
  4. 앱을 빌드합니다. .NET CLI를 사용하는 경우를 dotnet build를 실행합니다. Visual Studio에서 빌드하려면 Ctrl+ ShiftB를+ 누릅니다.

  5. 앱을 자체 포함된 앱으로 Raspberry Pi에 배포합니다. 자세한 내용은 Raspberry Pi에 .NET 앱 배포를 참조하세요. chmod +x를 사용하여 실행 파일 ‘실행’ 권한을 부여해야 합니다.

  6. 배포 디렉터리로 전환하고 실행 파일을 실행하여 Raspberry Pi에서 앱을 실행합니다.

    ./LcdTutorial

    현재 시간이 각 줄에 표시될 때 LCD 문자 디스플레이를 관찰합니다.

    디스플레이가 켜져 있지만 텍스트가 표시되지 않으면 디스플레이 뒷면에서 대비 다이얼을 조정해 보세요.

  7. Ctrl+C를 눌러 프로그램을 종료합니다.

축하합니다! I2C 및 GPIO 확장기를 사용하여 LCD에 텍스트를 표시했습니다.

소스 코드 가져오기

이 자습서의 소스는 GitHub에서 제공됩니다.

다음 단계

Toplist

최신 우편물

태그