NuttX for Raspberry Pi Pico로 SSD1306 OLED에 이미지 표시 (I2C 연결)
는 소니 SPRESENSE와 동일한 IP를 사용합니다.
따라서 NuttX for Raspberry Pi Pico에서 외부 장치를 사용할 수 있도록 SPRESENSE (cxd56) 용 드라이버를 바탕으로 RP2040 용 I2C 드라이버를 추가했습니다.
I2C로 연결되는 장치로서 Raspberry Pi Pico의 MicroPython에서도 많은 이용 예가 있는 다음 OLED 디스플레이를 사용하여 이미지를 표시해 보겠습니다.
연결
Raspberry Pi Pico의 I2C0 및 전원에 SSD1306 OLED의 각 단자를 다음과 같이 연결합니다.
SSD1306 OLED
Pico 터미널
Pico 핀 번호
GND
GND
3, 38과 같은 GND 핀 중 하나
VCC
3V3
36
SDA
GP4 (I2C0 SDA)
6
SCL
GP5 (I2C0 SCL)
7
NuttX 빌드
I2C 드라이버도 공식 리포지토리에 병합되었습니다.
OLED 컨트롤러 SSD1306을 지원하는 구성으로 제공된 raspberrypi-pico:ssd1306
를 지정하여 빌드합니다.
$ git clone https://github.com/apache/incubator-nuttx.git nuttx
$ git clone https://github.com/apache/incubator-nuttx-apps.git apps
$ cd nuttx
$ ./tools/configure.sh raspberrypi-pico:ssd1306
$ make
SSD1306이 연결되는 I2C0의 GPIO 핀 번호는 구성 파일 nuttx/boards/arm/rp2040/raspberrypi-pico/configs/ssd1306/defconfig
의 다음 위치에서 지정됩니다.
지정한 번호의 GPIO가 I2C인 SDA에, 그 다음 번호가 SCL에 사용됩니다. Raspberry Pi Pico의 핀 레이아웃 다이어그램에서 I2C0을 출력 할 수있는 GPIO 핀이면 다른 번호 1로 변경할 수 있습니다.
CONFIG_RP2040_I2C0_GPIO=4
시작
NuttX를 시작하면/dev에 I2C 장치가 추가됩니다. 도움말을 보면 몇 가지 Builtin Apps가 추가되었습니다.
NuttShell (NSH) NuttX-10.0.1
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 i2c0
crw-rw-rw- 0 null
crw-rw-rw- 0 ttyS0
nsh> help
help usage: help [-v] [<cmd>]
. cd df free mkdir printf set truncate
[ cp echo help mkrd ps sleep uname
? cmp env hexdump mh pwd source umount
basename dirname exec kill mount reboot test unset
break date exit ls mv rm time usleep
cat dd false mb mw rmdir true xd
Builtin Apps:
nxhello sh getprime hello nsh
i2c ostest nx nxdemo nxlines
nsh>
i2c
i2c
명령은 I2C 버스를 스캔하여 응답이 있는 장치를 표시하는 명령입니다.
SSD1306의 주소인 3c에서 응답이 있음을 알 수 있습니다.
nsh> i2c dev 00 7f
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
nsh>
응 X
NuttX에는 응 X이라는 그래픽 서브 시스템이 있습니다. 이 구성에서 SSD1306은 이미 NX에 연결되어 있으므로 NX에서 실행되는 다음 샘플 앱을 실행할 수 있습니다.
nxhello
다음과 같이 OLED에 메시지가 표시됩니다.
nxlines
직선이 화면 중앙에서 빙글빙글 돌립니다.
nxdemo
각종 묘화의 데모입니다. I2C 접속으로 통신 속도가 느린 일도 있어, 상당히 여유로운 표시입니다만.
응 x
NX로 실현되고 있는 윈도우 시스템의 데모입니다. 윈도우다운 것들이 표시되고 있는 것을 알 수 있습니다만, OLED가 흑백 표시이므로 지금 일단 잘 모르겠네요(웃음).
지정할 수 있는 것은 0, 4, 8, 12, 16 ,20, 24, 28 의 어느 쪽인가가 됩니다. ↩
Reference
이 문제에 관하여(NuttX for Raspberry Pi Pico로 SSD1306 OLED에 이미지 표시 (I2C 연결)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yunkya2/items/fdc5d53b05e3cf5be290
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
I2C 드라이버도 공식 리포지토리에 병합되었습니다.
OLED 컨트롤러 SSD1306을 지원하는 구성으로 제공된
raspberrypi-pico:ssd1306
를 지정하여 빌드합니다.$ git clone https://github.com/apache/incubator-nuttx.git nuttx
$ git clone https://github.com/apache/incubator-nuttx-apps.git apps
$ cd nuttx
$ ./tools/configure.sh raspberrypi-pico:ssd1306
$ make
SSD1306이 연결되는 I2C0의 GPIO 핀 번호는 구성 파일
nuttx/boards/arm/rp2040/raspberrypi-pico/configs/ssd1306/defconfig
의 다음 위치에서 지정됩니다.지정한 번호의 GPIO가 I2C인 SDA에, 그 다음 번호가 SCL에 사용됩니다. Raspberry Pi Pico의 핀 레이아웃 다이어그램에서 I2C0을 출력 할 수있는 GPIO 핀이면 다른 번호 1로 변경할 수 있습니다.
CONFIG_RP2040_I2C0_GPIO=4
시작
NuttX를 시작하면/dev에 I2C 장치가 추가됩니다. 도움말을 보면 몇 가지 Builtin Apps가 추가되었습니다.
NuttShell (NSH) NuttX-10.0.1
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 i2c0
crw-rw-rw- 0 null
crw-rw-rw- 0 ttyS0
nsh> help
help usage: help [-v] [<cmd>]
. cd df free mkdir printf set truncate
[ cp echo help mkrd ps sleep uname
? cmp env hexdump mh pwd source umount
basename dirname exec kill mount reboot test unset
break date exit ls mv rm time usleep
cat dd false mb mw rmdir true xd
Builtin Apps:
nxhello sh getprime hello nsh
i2c ostest nx nxdemo nxlines
nsh>
i2c
i2c
명령은 I2C 버스를 스캔하여 응답이 있는 장치를 표시하는 명령입니다.
SSD1306의 주소인 3c에서 응답이 있음을 알 수 있습니다.
nsh> i2c dev 00 7f
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
nsh>
응 X
NuttX에는 응 X이라는 그래픽 서브 시스템이 있습니다. 이 구성에서 SSD1306은 이미 NX에 연결되어 있으므로 NX에서 실행되는 다음 샘플 앱을 실행할 수 있습니다.
nxhello
다음과 같이 OLED에 메시지가 표시됩니다.
nxlines
직선이 화면 중앙에서 빙글빙글 돌립니다.
nxdemo
각종 묘화의 데모입니다. I2C 접속으로 통신 속도가 느린 일도 있어, 상당히 여유로운 표시입니다만.
응 x
NX로 실현되고 있는 윈도우 시스템의 데모입니다. 윈도우다운 것들이 표시되고 있는 것을 알 수 있습니다만, OLED가 흑백 표시이므로 지금 일단 잘 모르겠네요(웃음).
지정할 수 있는 것은 0, 4, 8, 12, 16 ,20, 24, 28 의 어느 쪽인가가 됩니다. ↩
Reference
이 문제에 관하여(NuttX for Raspberry Pi Pico로 SSD1306 OLED에 이미지 표시 (I2C 연결)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yunkya2/items/fdc5d53b05e3cf5be290
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
NuttShell (NSH) NuttX-10.0.1
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 i2c0
crw-rw-rw- 0 null
crw-rw-rw- 0 ttyS0
nsh> help
help usage: help [-v] [<cmd>]
. cd df free mkdir printf set truncate
[ cp echo help mkrd ps sleep uname
? cmp env hexdump mh pwd source umount
basename dirname exec kill mount reboot test unset
break date exit ls mv rm time usleep
cat dd false mb mw rmdir true xd
Builtin Apps:
nxhello sh getprime hello nsh
i2c ostest nx nxdemo nxlines
nsh>
nsh> i2c dev 00 7f
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
nsh>
Reference
이 문제에 관하여(NuttX for Raspberry Pi Pico로 SSD1306 OLED에 이미지 표시 (I2C 연결)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yunkya2/items/fdc5d53b05e3cf5be290텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)