초급 예제

누구나 쉽게 따라해볼 수 있는 쉬운 예제들입니다. 가볍게 도전~!

[지니어스키트 블록] 3. 스위치로 조명 제어하기

2020-05-07 14:26:36

[이전 학습가이드] RGB LED로 무드등 만들기

 

스위치란?


 

스위치(Switch)는 일상생활에서 흔히 접할 수 있는 제어 장치로써 조명이나 가전기기, 공장설비, 자동차, 항공기, 선박 등 생활 전반에 걸쳐 사용되며 간단하게는 전원을 켜거나 끌 때 사용되고 전자기기를 조작/제어할 때 스위치를 사용합니다.

 

스위치는 사람이 단순하게 물리적인 힘을 가하여 조작했을때만 상태가 변한다는 특징이 있기 때문에 사용 방법이 매우 쉽고 직관적입니다. 

스위치는 작동 방식에 따라 많은 종류가 있으나, 본 예제에서는 푸쉬 버튼 스위치(Push Button Switch)를 사용합니다. 

 

 

 

 

스위치 구조


 

푸쉬 버튼 스위치(Push Button Switch)는 버튼을 누름으로써 접점을 개폐하는 스위치를 총칭하며 상단에 단추 모양의 버튼과 하단에 4개의 단자로 구성되어 있습니다.
상단 버튼은 힘을 가하여 접점을 개폐하는 역할을 하며, 하단의 단자는 회로와 스위치를 연결하는 다리 역할을 합니다. 
 
단자 연결은 마주보는 단자끼리 서로 연결되어 있어 한 쌍으로 구성됩니다.
아래 사진으로 예를 들면 기본상태에서는 서로 마주보고 있는 A와 D가 서로 연결되어 있고 B와 C가 서로 연결되어 있습니다.
버튼을 누르지 않은 상태에서는 A, D와 B, C는 서로 떨어져 있지만 버튼을 누르게 되며 접점이 닿게되어 A, D와 B, C가 서로 연결됩니다. 
 


 

 

 

기본적으로 오렌지보드에서 스위치를 사용하기 위해서는 저항이라는 부품을 추가로 연결해줘야 합니다.

그러나 지니어스키트 쥬니어팩에서는 아래와 같이 생긴 스위치 모듈을 사용하므로 따로 외부 저항 연결 필요없이 직접 보드에 연결하여 사용하시면 됩니다.

 
 
 
 

 

부품 목록

NO 부품명 수량 상세설명
1 오렌지보드 나노 + 확장쉴드 1  
2 RGB LED 모듈 1  
3 스위치 모듈 1  
4 점퍼케이블 7  

 

부품명 오렌지보드 나노 + 확장쉴드 RGB LED 모듈 스위치 모듈 점퍼케이블
파트

 

 

 

하드웨어 making


브레드 보드

* 전 시간에 사용한 RGB LED 회로에서 추가합니다.

1. 스위치 모듈의 S핀을 오렌지보드 나노 확장쉴드의 D2번핀에 연결합니다.

2. 스위치 모듈의 가운데핀을 오렌지보드 나노 확장쉴드의 V라인핀에 연결합니다.

3. 스위치 모듈의 -핀을 오렌지보드 나노 확장쉴드의 G라인핀에 연결합니다.



 

 

 

 

소프트웨어 coding


스위치 값 확인하기 

전체 코드

 

 

 

엔트리 실행 화면에서 오렌지보드에 연결된 스위치 상태를 말하도록 하는 코드입니다.

 

아래 이미지와 같이 스위치를 누르지 않으면 "버튼이 눌리지 않았어요", 스위치를 눌렀을 경우 "버튼이 눌렀어요" 라는 메세지를 말합니다.

 

 

 

 

블록 설명

 

 

디지털 핀에 신호의 값을 가져오는 블록입니다.

 

이번에는 디지털 핀에 스위치가 연결되어 있으니 이 블록을 사용하면 스위치의 상태값을 가져오게 됩니다.

 

스위치가 눌렸을 경우 '0' / '거짓' 값이 나오고, 버튼이 눌리지 않았으면 '1' /  '참' 값이 나옵니다.(매우 중요!!)

 

 

 

 

디지털 센서값 블록끝이 뾰족한 블록으로 끝이 뾰족한 조건 칸에만 들어 갈 수 있는 블록입니다.(둥근 칸에는 들어가지 않습니다.)

 

 

 

선택 구조

 

 

소프트웨어 코딩에서 가장 기본이 되는 문법 중 하나로 조건에 따라 동작을 다르게할 때 사용됩니다.

 

<참> 부분에는 참/거짓이 확실히 구분할 수 있는 조건이 들어갑니다.

 

조건이 일 경우 조건 블록 안의 블록을 실행합니다.

조건이 거짓일 경우 조건 블록 안의 블록을 무시하고 "아니면" 블록 안의 블록을 실행합니다.

 

 

스위치로 LED 제어하기

전체 코드

 

 

 

 

위 코드는 스위치를 눌렀을 때 RGB LED가 켜지고, 스위치를 떼면 RGB LED가 꺼지는 코드입니다.

 

 

 

블록 설명

 

 

기본 <디지털 2번 센서값> 블록은 스위치가 눌렀을 때 '0' / '거짓' 을 가져옵니다.

일반적으로 스위치가 눌렸을 때를 이라고 생각하기 때문에 블록의 결과 값을 반대로 바꿔주는 동작이 필요합니다.

 

위 이미지와 같이 <~이 아니다.> 블록을 사용하면 결과값이 반전되어 나오게 됩니다.

 

이전 값 변경 값
거짓
참  거짓
1
0

 

 

 

 

[다음 학습가이드] 피에조부저로 멜로디 만들기

 

kocoafab

안녕하세요. 코코아팹 운영자입니다.

코코아팹, kocoafab, 튜토리얼, tutorial, SW코딩, 피지컬컴퓨팅, 블록코딩, EPL, 엠블럭, Mlbock, 버튼, 스위치