2022年6月29日水曜日

LearningKit 2022 for pico




#pico_mx1508.py
# IN1-pin1 IN2-pin2 
import utime
from machine import Pin
IN1 = Pin(1, Pin.OUT)
IN2 = Pin(2, Pin.OUT)

while True:
    IN1.high()
    IN2.low()
    utime.sleep(2)
    
    IN1.high()
    IN2.high()
    utime.sleep(2)
    
    IN1.low()
    IN2.high()
    utime.sleep(2)
    
    IN1.low()
    IN2.low()
    utime.sleep(2)

#pico_lu2003.py.py
#IN1-pin3 IN2-pin4 IN3-pin5 IN4-pin6
from machine import Pin
from time import sleep

IN1 = Pin(3,Pin.OUT)
IN2 = Pin(4,Pin.OUT)
IN3 = Pin(5,Pin.OUT)
IN4 = Pin(6,Pin.OUT)

pins = [IN1, IN2, IN3, IN4]
sequence = [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]

while True:
    for step in sequence:
        for i in range(len(pins)):
            pins[i].value(step[i])
            sleep(0.001)

#pico_servo.py
# red-pin40 VBUS brown-GND orange-pin0
from machine import PWM, Pin
import time

servo1 = PWM(Pin(0))
servo1.freq(50)

max_duty = 65025
dig_0 = 0.0725    #0°
dig_90 = 0.12     #90°

while True:
    servo1.duty_u16(int(max_duty*dig_0))
    time.sleep(1)
    servo1.duty_u16(int(max_duty*dig_90))
    time.sleep(1)

#pico_ssd1306.py
#ssd1360 Vcc-3V3 Gnd-Gnd SCL-GP17 SDA-GP18
from machine import Pin, I2C
import ssd1306

#
# I2Cの設定です。
# 識別するID(0), SDA(16), SCL(17)を設定します
#
i2c = I2C(0, sda=Pin(16), scl=Pin(17) )

#
# デバイスのアドレスを取得します
# 0x30(60)でない場合はライブラリの修正が必要です。
#
addr = i2c.scan()
print( "address is :" + str(addr) )

#
# ディスプレイを設定します
# 使用するディスプレイの縦・横のサイズ、I2Cの変数を渡します
#
display = ssd1306.SSD1306_I2C(128, 64, i2c)

# テキスト表示を設定します
display.text('Display Test', 0, 0, 1)

# 横線を設定します
display.hline(10, 10, 20, 1)

# 縦線を設定します
display.vline(10, 10, 20, 1)

# 斜め線を設定します
display.line(10, 10, 30, 30, 1)

# 四角系を設定します(塗りつぶしなし)
display.rect(10, 40, 10, 10, 1)

# 四角形を設定します(塗りつぶしあり) 
display.fill_rect(30, 40, 10, 10, 1)

# 明暗の反転を設定します
#display.invert(1) 

# 設定した内容をディスプレイに表示します
display.show()






 

0 件のコメント:

コメントを投稿