Skip to main content

Stepmaker Package For Stepmaker Kit Users and Rpi Pico Users.

Project description

License: CC BY-NC-SA 4.0

Release Note

  • update 22.12.03 version 0.0.9
    신규 지원: DHT 온습도 센서
    신규 지원: LCD 커스텀 아이콘 1종 추가
    내용: I2C 주소 스캔 버그 수정

  • update 22.10.29 version 0.0.6
    내용: ultrasound(초음파 센서) 모듈 오작동 버그 해결
    내용: 기타 예제 오류 수정

  • update 22.10.28 version 0.0.4
    내용: driver 모듈 버그 수정

  • update 22.10.28 version 0.0.3
    신규 지원: LCD 커스텀 아이콘 5종 추가
    신규 지원: 피에조 부저(수동형) 지원 부품 더보기

  • update 22.10.28 version 0.0.1
    신규 지원: Pico 내장 온도 센서, Pico 내장 LED 지원 부품 더보기

  • update 22.10.27 version 0.0.0
    신규 지원: L298N 모터 드라이버, I2C RTC, I2C LCD, 초음파 센서 지원 부품 더보기


Stepmaker 패키지는 무엇인가요?

파이썬을 잘 몰라도, 누구나 손쉽게 라즈베리파이 피코를 다룰 수 있도록 도와주는 패키지입니다.


Stepmaker 패키지 사용 방법

Step 1. Thonny에서 Stepmakerkit 패키지 다운로드

Stepmaker 패키지Rpi Pico(라즈베리파이 피코) 와 호환됩니다.


Step 2. Rpi Pico에 업로드 되었는지 확인

Rpi Pico 내부에 /lib 폴더가 생성 되었다면, 정상적으로 업로드가 완료된것입니다.


Step 3. Stepmaker 패키지 지원 부품

#아래 지원 목록을 확인하여 필요한 모듈만 불러오는 것을 권장합니다.
from stepmaker import *

현재 지원 중

  • L298N 모터 드라이버 Module Name: driver
  • I2C RTC Module Name: rtc
  • I2C LCD Module Name: lcd
  • 초음파 센서 Module Name: ultrasound
  • Pico 내장 온도 센서 Module Name: pico
  • Pico 내장 LED Module Name: pico
  • 피에조 부저 (수동형) Module Name: buzzer

현재 개발 중

  • 발광 다이오드 (LED)
  • 각종 스위치
  • 각종 외부 온도 센서
  • 인체 감지 센서 (PIR)
  • 로터리 엔코더
  • 피에조 부저 (스위형)

추후 더 많은 부품을 지원할 수 있도록 노력하겠습니다.
만약 추가를 원하시는 부품이 있을 경우 아래 이메일 주소로 관련 내용을 보내주세요.
dev@takeup.cc


Step 4. Stepmaker 패키지 부품별 적용 방법

  • L298N 모터 드라이버 사용하기
    현재 아래와 같은 4가지의 기능이 있습니다.
#장치를 지정한 파워로 즉시 켜기
device_name.on(100) #0 ~ 100 사이로 조절 가능

#장치를 즉시 끄기
device_name.off()

#장치를 지정한 파워로 천천히 켜기 (페이드 인 효과)
device_name.slow_on(100) #0 ~ 100 사이로 조절 가능

#장치를 천천히 끄기 (페이드 아웃 효과)
device_name.slow_off()

이를 응용한 예제 코드는 아래와 같습니다.
자세한 사용 방법은 [예제] 를 참고해주세요.

#[예제 1] 장치를 지정한 파워로 즉시 켜기
from stepmaker import driver

device_name = driver.Pin(11, 12, 13) #In1, In2, PWM1
device_name.on(100) #0 ~ 100 사이로 조절 가능
#[예제 2] 장치를 즉시 끄기
from stepmaker import driver

device_name = driver.Pin(11, 12, 13) #In1, In2, PWM1
device_name.off()
#[예제 3] 장치를 지정한 파워로 천천히 켜기 (페이드 인 효과)
from stepmaker import driver

device_name = driver.Pin(11, 12, 13) #In1, In2, PWM1
device_name.slow_on(100) #0 ~ 100 사이로 조절 가능
#[예제 4] 장치를 천천히 끄기 (페이드 아웃 효과)
from stepmaker import driver

device_name = driver.Pin(11, 12, 13) #In1, In2, PWM1
device_name.slow_off()

  • I2C 주소 찾기
#[예제 1] I2C 주소를 찾아 터미널에 출력하기
from stepmaker import addr

i2c_num = 0
sda = 16
scl = 17

addr = addr.Find(i2c_num, sda, scl) #i2c번호, sda, scl
print(addr)

  • I2C LCD 사용하기
#[기능] 자주 사용하는 명령어
device_name.clear() #LCD 초기화
device_name.move_to(0, 0) #LCD 커서 이동
device_name.putstr("text") #LCD 텍스트 출력
device_name.backlight_on() #LCD 백라이트 켜기
device_name.backlight_off() #LCD 백라이트 끄기

#v0.0.3 업데이트 사항
#커스텀 아이콘 5종 추가
#temp_icon, humi_icon, celsius_icon, fan_icon, lamp_icon, clock_icon, waterLevel_icon

#자세한 사용 방법은 예제를 참고해주세요
device_name.putstr(device_name.~~~_icon())
#[예제 1] LCD에 글자(hello) 출력하기
from stepmaker import lcd, addr

lcd_i2c_num = 0
lcd_sda = 16
lcd_scl = 17

lcd_addr = addr.Find(lcd_i2c_num, lcd_sda, lcd_scl) #i2c번호, sda, scl
lcd = lcd.I2cPin(lcd_i2c_num, lcd_addr, lcd_sda, lcd_scl) #i2c번호, i2c주소, sda, scl

lcd.move_to(0,0)
lcd.putstr("hello")
#[예제 2] LCD에 "hello"출력 후 5초 뒤에 "world"출력하기
from stepmaker import lcd, addr
import utime

lcd_i2c_num = 0
lcd_sda = 16
lcd_scl = 17

lcd_addr = addr.Find(lcd_i2c_num, lcd_sda, lcd_scl) #i2c번호, sda, scl
lcd = lcd.I2cPin(lcd_i2c_num, lcd_addr, lcd_sda, lcd_scl) #i2c번호, i2c주소, sda, scl

lcd.move_to(0,0)
lcd.putstr("hello")
utime.sleep(5)
lcd.clear()
lcd.putstr("world")
#[예제 3] LCD에 커스텀 문자 출력하기
from stepmaker import lcd, addr
import utime

lcd_i2c_num = 0
lcd_sda = 16
lcd_scl = 17

lcd_addr = addr.Find(lcd_i2c_num, lcd_sda, lcd_scl) #i2c번호, sda, scl
lcd = lcd.I2cPin(lcd_i2c_num, lcd_addr, lcd_sda, lcd_scl) #i2c번호, i2c주소, sda, scl

lcd.move_to(0,0)
lcd.putstr("Custom Icon" + lcd.temp_icon())

  • I2C RTC 사용하기
#[예제 1] RTC 연결하여 현재 시각 설정하기
from stepmaker import rtc, addr

rtc_i2c_num = 1
rtc_sda = 14
rtc_scl = 15

rtc_addr = addr.Find(rtc_i2c_num, rtc_sda, rtc_scl) #i2c번호, sda, scl
rtc = rtc.I2cPin(rtc_i2c_num, rtc_addr, rtc_sda, rtc_scl) #i2c번호, i2c주소, sda, scl

rtc.set()
#[예제 2] RTC 현재 시각 불러와 터미널에 출력하기
from stepmaker import rtc, addr

rtc_i2c_num = 1
rtc_sda = 14
rtc_scl = 15

rtc_addr = addr.Find(rtc_i2c_num, rtc_sda, rtc_scl) #i2c번호, sda, scl
rtc = rtc.I2cPin(rtc_i2c_num, rtc_addr, rtc_sda, rtc_scl) #i2c번호, i2c주소, sda, scl

print(rtc.datetime())

  • 초음파 센서 사용하기
#[에제 1] 초음파 센서로 측정한 거리를 터미널에 5초 간격으로 터미널에 출력하기
from stepmaker import ultrasound
import utime

ultrasound = ultrasound.Pin(echo, trig) #echo, trig

while True:
    print(ultrasound.measure())
    utime.sleep(5)

  • Pico 내장 온도 센서 사용하기
#[예제 1] Pico 내장 온도 센서로 측정한 값을 1초 간격으로 터미널에 출력하기
from stepmaker import pico
import utime

built_in_temp = pico.Temp()

while True:
    print(built_in_temp.measure())
    utime.sleep(1)

  • Pico 내장 LED 사용하기
#[예제 1] Pico 내장 LED 켜기
from stepmaker import pico

built_in_led = pico.Led()
built_in_led.on()
#[예제 2] Pico 내장 LED 끄기
from stepmaker import pico

built_in_led = pico.Led()
built_in_led.off()
#[예제 3] Pico 내장 LED 1초 간격으로 10번 점멸하기
from stepmaker import pico
import utime

built_in_led = pico.Led()

for i in range(10):
    built_in_led.on()
    utime.sleep(1)
    built_in_led.off()
    utime.sleep(1)

  • 페에조 부저 (수동형) 사용하기
#[예제 1] 부저를 2초간 켰다가 끄기
from stepmaker import buzzer

buzzer = buzzer.Pin(28)
buzzer.beep(2000, 100, 2) #비트, 음량(0 ~ 100), 지속 시간 

  • DHT 온습도 센서 사용하기
#[예제 1] DHT 온습도 센서로 측정한 값을 1초 간격으로 터미널에 출력하기
from stepmaker import dht
import utime

signal = 15
dht11 = dht.Pin(signal)

while True:
    print(dht11.temp)
    print(dht11.humi)
    utime.sleep(1)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

micropython-stepmaker-0.0.9.tar.gz (10.8 kB view hashes)

Uploaded Source

Built Distribution

micropython_stepmaker-0.0.9-py3-none-any.whl (11.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page