본문 바로가기
라즈베리파이_피코_피코 W/circuitPython

03. Circuit 파이썬 라즈베리파이 피코 W 스위치 제어

by 커피하는조이 2023. 3. 12.
728x90
반응형
SMALL

안녕하세요 땜블리 입니다.
라즈베리파이 피코 베이직 트레이닝 보드를 이용한 스위치 제어 실습을 진행 하겠습니다.
베이직 트레이닝 보드는 아래에서 확인이 가능합니다.
https://ttcw.tistory.com/4

 

라즈베리파이 피코 베이직 트레이닝보드 구성

라즈베리파이 피코 보드의 펌웨어실습을 위한 베이직 트레이닝보드를 소개 합니다. 현재 네이버 스마트스토어에서 판매가 진행되고 있습니다. 라즈베리파이 피코 베이직 트레이닝 보드 라즈베

ttcw.tistory.com

1) 스위치제어 구동 원리
(1) 동작설명
A, D 접점은 연결 되어있지만 Nomal 상태에서 A, D와 B, C 접점은 연결되어있지 않습니다.  버튼이 눌리는 순간 A, D접점과 B, C접점이 연결 됩니다.

2) 스위치 제어

베이직 트레이닝보드에 설계된 스위치 회로

 

(1) 동작설명
버튼은 눌러 동작 되는지 알아봅시다

반응형

 

SMALL

(2) 코드 소스

code.py

import time
import board
import digitalio

button = digitalio.DigitalInOut(board.GP22)
button.switch_to_input(pull=digitalio.Pull.UP)

while True:
    if button.value == False:
        print("You pressed the button!")
        time.sleep(0.5)

 (3) 동작결과

버튼을 누를때 마다 You pressed the button! 글자가 출력됩니다.

 

3) 스위치를 이용한 LED 제어

 (1) 동작설명
 버튼은 눌러 LED를 제어 합니다.

 (2) 코드 소스

code.py

import time
import board
import digitalio

button = digitalio.DigitalInOut(board.GP22)
button.switch_to_input(pull=digitalio.Pull.UP)

led1 = digitalio.DigitalInOut(board.GP2)
led2 = digitalio.DigitalInOut(board.GP3)
led1.direction = digitalio.Direction.OUTPUT
led2.direction = digitalio.Direction.OUTPUT

swCount=0

while True:
    if button.value == False:
        print("You pressed the button!")
        swCount = swCount+1
        if swCount==7:
           swCount=0
        time.sleep(0.5)
        
        
    if swCount==1:
        led1.value = False
                         
    elif swCount==2:
        led1.value = True
                     
    elif swCount==3:
        led2.value = False
                         
    elif swCount==4:
        led2.value = True
                           
    elif swCount==5:
        led1.value = False
        led2.value = False
        
    else:
        led1.value = True
        led2.value = True

 (3) 동작결과

 

버튼을 누를때 마다 led 동작이 변경됩니다.

 

 

728x90
반응형
LIST

댓글