라즈베리 파이 피코 LCD I2C

이 가이드는 I2C 인터페이스를 갖춘 16x2 LCD를 Raspberry Pi Pico에 연결하는 방법을 보여줍니다. 다음 내용을 다룰 것입니다:

라즈베리 파이 피코 및 16x2 lcd i2c

준비물

1×라즈베리 파이 피코 W 아마존
1×라즈베리 파이 피코 (또는) 아마존
1×마이크로 USB 케이블 아마존
1×LCD I2C 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) 라즈베리 파이 피코용 스크루 터미널 확장 보드 아마존
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

LCD I2C 16x2에 대하여

16x2 LCD I2C는 16개의 열과 2개의 행을 가진 화면입니다. I2C 인터페이스를 갖추고 있으며, 화면의 대비를 조절할 수 있는 포텐셔미터가 함께 제공됩니다.

핀아웃

LCD I2C는 I2C 인터페이스를 사용하며 4개의 핀을 포함합니다.

  • GND 핀: GND(0볼트)에 연결합니다.
  • VCC 핀: 전원(5볼트)으로 VCC에 연결합니다.
  • SDA 핀: I2C 데이터 신호를 전송합니다.
  • SCL 핀: I2C 클럭 신호를 전송합니다.
lcd i2c 핀아웃

LCD 좌표

LCD I2C 16x2는 16열과 2행을 포함합니다. 열과 행의 번호는 모두 0부터 시작합니다.

라즈베리 파이 피코 lcd i2c 좌표

선연결

라즈베리 파이 피코 lcd i2c 배선 다이어그램

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

Raspberry Pi Pico 코드

자세한 사용 방법

다음의 지시사항을 단계별로 따르십시오:

  • 컴퓨터에 Thonny IDE가 설치되어 있는지 확인합니다.
  • Raspberry Pi Pico에 MicroPython 펌웨어가 설치되어 있는지 확인합니다.
  • Raspberry Pi Pico를 처음 사용하는 경우, 자세한 지침은 라즈베리 파이 피코 - 시작하기 튜토리얼을 참조하세요.
  • 제공된 다이어그램에 따라 LCD I2C 디스플레이를 Raspberry Pi Pico에 연결합니다.
  • USB 케이블을 사용하여 Raspberry Pi Pico를 컴퓨터에 연결합니다.
  • 컴퓨터에서 Thonny IDE를 실행합니다.
  • Thonny IDE에서 도구 옵션으로 이동하여 MicroPython (Raspberry Pi Pico) 인터프리터를 선택합니다.
  • 인터프리터 탭에서 드롭다운 메뉴에서 MicroPython (Raspberry Pi Pico)를 선택합니다.
  • 올바른 포트가 선택되어 있는지 확인합니다. Thonny IDE가 포트를 자동으로 감지해야 하지만, 경우에 따라 수동으로 선택해야 할 수도 있습니다(예: Windows의 COM3 또는 Linux의 /dev/ttyACM0).
  • Thonny IDE에서 도구 패키지 관리로 이동합니다.
  • “DIYables-MicroPython-LCD-I2C”를 검색한 후, DIYables에서 제작한 LCD I2C 라이브러리를 찾습니다.
  • DIYables-MicroPython-LCD-I2C를 클릭한 후, Install 버튼을 클릭하여 LCD I2C 라이브러리를 설치합니다.
라즈베리 파이 피코 lcd i2c 라이브러리
  • 아래 코드를 복사해서 Thonny IDE 편집기에 붙여넣으세요.
/* * 이 라즈베리 파이 피코 코드는 newbiely.kr 에서 개발되었습니다 * 이 라즈베리 파이 피코 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/raspberry-pico/raspberry-pi-pico-lcd-i2c */ from machine import I2C, Pin from DIYables_MicroPython_LCD_I2C import LCD_I2C import utime # The I2C address of your LCD (Update if different) I2C_ADDR = 0x27 # Use the address found using the I2C scanner # Define the number of rows and columns on your LCD LCD_ROWS = 2 LCD_COLS = 16 # Initialize I2C i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000) # Initialize LCD lcd = LCD_I2C(i2c, I2C_ADDR, LCD_ROWS, LCD_COLS) # Setup function lcd.backlight_on() lcd.clear() # Main loop function while True: lcd.clear() lcd.set_cursor(3, 0) # Move the cursor to column 3, row 0 (first row) lcd.print("DIYables") lcd.set_cursor(0, 1) # Move the cursor to column 0, row 1 (second row) lcd.print("www.diyables.io") utime.sleep(2) lcd.clear() lcd.set_cursor(0, 0) # Move to the beginning of the first row lcd.print("Int: ") lcd.print(str(1234)) # Print integer lcd.set_cursor(0, 1) # Move to the beginning of the second row lcd.print("Float: ") lcd.print(str(56.78)) # Print float utime.sleep(2)
  • Raspberry Pi Pico에 스크립트를 저장하려면:
    • 저장 버튼을 클릭하거나 Ctrl+S 키를 사용하세요.
    • 저장 대화상자에서 두 개의 섹션, 즉 This computer와 Raspberry Pi Pico가 보입니다. Raspberry Pi Pico를 선택하세요.
    • 파일 이름을 main.py로 저장하세요.
  • 녹색 Run 버튼을 클릭하거나 (또는 F5를 눌러) 스크립트를 실행하세요. 스크립트가 실행됩니다.
  • LCD 디스플레이에서 결과를 확인하세요.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

LCD로 더 많은 일을 하세요

사용자 정의 문자

LCD에 하트나 화난 새와 같은 특수 문자 또는 기호를 표시하려면 문자 생성기를 사용해야 합니다. 이는 lcd.print() 함수가 ASCII 문자만 표시할 수 있기 때문입니다.

LCD 16x2는 2줄에 걸쳐 각 줄마다 16개의 위치에 총 32자의 문자를 표시할 수 있습니다. 각 문자는 8행 5열로 구성된 40개의 작은 정사각형으로 이루어져 있습니다.

라즈베리 파이 피코 lcd 16x2 픽셀

캐릭터 생성기는 40픽셀의 캐릭터를 만듭니다.

다음 단계를 따르기만 하면 됩니다:

Click on each pixel to select/deselect


Copy below custom character code
Replace the heart in the below code
/* * 이 라즈베리 파이 피코 코드는 newbiely.kr 에서 개발되었습니다 * 이 라즈베리 파이 피코 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/raspberry-pico/raspberry-pi-pico-lcd-i2c */ from machine import I2C, Pin from DIYables_MicroPython_LCD_I2C import LCD_I2C import utime # The I2C address of your LCD (Update if different) I2C_ADDR = 0x27 # Define the number of rows and columns on your LCD LCD_ROWS = 2 LCD_COLS = 16 # Initialize I2C i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000) # Initialize LCD lcd = LCD_I2C(i2c, I2C_ADDR, LCD_ROWS, LCD_COLS) # Define custom character 0 (heart shape) heart = [ 0b00000, 0b01010, 0b11111, 0b11111, 0b01110, 0b00100, 0b00000, 0b00000 ] # Create the custom character at location 0 lcd.custom_char(0, heart) # Display the custom character lcd.print("Custom Char: ") lcd.print_custom_char(0) # Display the custom character stored at location 0

화면에 표시된 결과:

lcd 사용자 정의 문자

여러 사용자 정의 문자

우리는 최대 8개의 특수 문자를 만들 수 있습니다(0부터 7까지). 다음은 이 문자 중 세 개를 만드는 방법과 표시하는 방법입니다.

/* * 이 라즈베리 파이 피코 코드는 newbiely.kr 에서 개발되었습니다 * 이 라즈베리 파이 피코 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/raspberry-pico/raspberry-pi-pico-lcd-i2c */ from machine import I2C, Pin from DIYables_MicroPython_LCD_I2C import LCD_I2C import utime # The I2C address of your LCD (Update if different) I2C_ADDR = 0x27 # Define the number of rows and columns on your LCD LCD_ROWS = 2 LCD_COLS = 16 # Initialize I2C i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000) # Initialize LCD lcd = LCD_I2C(i2c, I2C_ADDR, LCD_ROWS, LCD_COLS) # Define custom character 0 (heart shape) heart = [ 0b00000, 0b01010, 0b11111, 0b11111, 0b01110, 0b00100, 0b00000, 0b00000 ] # Define custom character 1 (arrow pointing upwards) arrow_up = [ 0b00100, 0b01110, 0b11111, 0b00100, 0b00100, 0b00100, 0b00100, 0b00100 ] # Define custom character 2 (arrow pointing downwards) arrow_down = [ 0b00100, 0b00100, 0b00100, 0b00100, 0b00100, 0b11111, 0b01110, 0b00100 ] # Create the custom character at location 0 lcd.custom_char(0, heart) lcd.custom_char(1, arrow_up) lcd.custom_char(2, arrow_down) # Display the custom character lcd.set_cursor(0, 0) # Move the cursor to column 0, row 0 (first row) lcd.print_custom_char(0) # Display the custom character stored at location 0 lcd.set_cursor(5, 0) # Move the cursor to column 5, row 0 (first row) lcd.print_custom_char(1) # Display the custom character stored at location 0 lcd.set_cursor(10, 0) # Move the cursor to column 10, row 0 (first row) lcd.print_custom_char(2) # Display the custom character stored at location 0

LCD 화면에 표시된 결과:

lcd 다중 사용자 정의 문자

요약: LCD에서 사용자 지정 문자 사용 방법

  • 위에 있는 도구를 사용하여 특수 문자의 이진 코드를 생성하십시오.
  • 위 단계에서 복사한 대로 특수 문자의 이진 코드를 적으십시오.
heart = [ 0b00000, 0b01010, 0b11111, 0b11111, 0b01110, 0b00100, 0b00000, 0b00000 ]
  • 고유한 캐릭터를 생성하고 0부터 7까지의 숫자 위치에 배치하세요.
lcd.custom_char(0, heart)
  • 원하는 때에 화면에 고유한 기호를 표시합니다.
lcd.print_custom_char(0) # 위치 0에 저장된 사용자 정의 문자 표시

LCD I2C 문제 해결

LCD I2C에 텍스트가 표시되지 않는 경우, 다음 문제들을 확인해 주세요:

  • 뒷면에 위치한 가변저항을 회전시켜 LCD 화면 밝기를 조절합니다.
  • LCD의 I2C 주소는 제조사마다 다를 수 있습니다. 일반적으로 0x27 또는 0x3F 중 하나입니다. 이 주소들을 하나씩 시도해 보세요. 만약 작동하지 않는다면, 올바른 I2C 주소를 찾기 위해 이 코드를 사용하세요.
/* * 이 라즈베리 파이 피코 코드는 newbiely.kr 에서 개발되었습니다 * 이 라즈베리 파이 피코 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/raspberry-pico/raspberry-pi-pico-lcd-i2c */ from machine import I2C, Pin import utime i2c = I2C(0, sda=Pin(0), scl=Pin(1)) print('Scanning I2C bus...') devices = i2c.scan() if len(devices) == 0: print("No I2C devices found") else: print('I2C devices found:',len(devices)) for device in devices: print("Decimal address: ",device," | Hex address: ",hex(device)) utime.sleep(2)

Thonny 하단의 Shell에 표시된 결과:

Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Scanning I2C bus... I2C devices found: 1 Decimal address: 39 | Hex address: 0x27
MicroPython (Raspberry Pi Pico) • Board CDC @ COM29 ≡