SBC (Single Board Computer)/Raspberry Pi Pico

라즈베리파이 피코, 간단 IO 및 OLED 제어 (SSD1306)

LEEHANDS 2022. 8. 11. 11:10
반응형

일단 라즈베리파이 피코를 구입했으면 공홈에 접속해서 관련 정보를 숙지합니다.

 

필자는 MicroPython 을 사용하여 간단한 스위치 및 IO 제어 그리고 OLED(SSD1306) 제어를 해보려고하니다.

상황봐서 온습도 및 조도 측정 (ADC) 를 사용할 수 도있으나 너무 복잡하면 나중에 유지보수를 신경써야하기때문에

심플한 제어 보드 제작을 중점으로 하겠습니다.

 

필자가 사용하려는 마이크로파이썬은 무엇일까? 그냥 파이썬인데 좀더 가볍게 만든게 아닐까 싶습니다.

10년넘게 사용한 C 언어가 편하지만 대세인 파이썬을 한번 써보기로합니다.

SSD1306 을 기존 라즈베리파이 파이썬으로 구현했기때문에 편한점도 있을 것으로 추정합니다.

 

 

마이크로파이썬을 어떻게 사용하고 업로드 해야하는지 아주 간략한 gif 인데 이해하는데 도움이 될 것같습니다.

rp2-pico-20220618-v1.19.1.uf2
0.58MB

 

위와 같은 과정을 완료하면 컴퓨터 장치관리자에 Serial 직렬통신 장치가 추가된다.

시리얼프로그램을 사용하여 해당 포트 를 열면된다. Boadrate 는 119200 이다.

 

help() 명령을 통해 위와 같이 간단 안내를 받을 수 있다.

raspberry-pi-pico-python-sdk.pdf
1.75MB

 

 

라즈베리파이 피코 핀맵
SSD1306 LCD 연결

from machine import Pin, I2C
import uos
from ssd1306 import SSD1306_I2C
from utime import sleep

# Print OS Name 
print(uos.uname())
# Print Operating Frequency
print("Freq: " + str(machine.freq()) + " Hz\n")
#init SSD1306 Oled
i2c = I2C(1,sda=Pin(18),scl=Pin(19), freq=100000)
oled = SSD1306_I2C(128,64,i2c)
sleep(0.25)

status_led = Pin(25,Pin.OUT)
oled.fill(0)
oled.text("LEEHANDS STUDIO",1,2)
oled.show()

while True:
    status_led(1)
    sleep(0.25)
    status_led(0)
    sleep(0.25)

gitlab  주소 공유 : http://gitlab.leehands.com/py/turtleport.git

 

py / turtleport

GitLab Community Edition

gitlab.leehands.com

 

 

반응형