오늘이라도

2. 버튼 활용, 복수의 LED 켜기, 가변 저항, map(), RGB LED, 복수의 버튼 활용 본문

취업성공패키지 SW 개발자 교육/사물 인터넷(IoT)

2. 버튼 활용, 복수의 LED 켜기, 가변 저항, map(), RGB LED, 복수의 버튼 활용

upcake_ 2020. 4. 21. 21:44
반응형

https://github.com/upcake/Class_Examples

교육 중에 작성한 예제들은 깃허브에 올려두고 있습니다. 

gif 파일은 클릭해서 보는 것이 정확합니다.


▲예제 1 - 1. 버튼으로 LED 켜두기, 회로도

 

▲예제 1 - 2. 버튼으로 LED 켜두기, 코드

 - 논리 과정

  ① 누른다 → curBtnState 1, before 1, btnCnt 1 → 불이 켜진다.

  ② 손을 뗀다 → curBtnState 0, before 0, btnCnt 1 → 불이 켜진 상태

  ③ 다시 누른다 → curBtnState 1, before 1, btnCnt 2 ▶ 0 → 불이 꺼진다.

  ④ 손을 뗀다 → curBtnState 0, before 0, btnCnt 0 → 불이 꺼진 상태

 

▲예제 1 - 3. 버튼으로 LED 켜두기, 작동 영상

 

 

▲예제 2 - 1. 버튼 하나로 LED 두 개 켜두기, 회로도

 

▲예제 2 - 2. 버튼 하나로 LED 두 개 켜두기,  코드

  - 초록 LED를 키는 경우가 추가됐으므로 btnCnt가 3일 때 0으로 돌아가게끔 코드를 수정한다.

 

▲예제 2 - 3. 버튼 하나로 LED 두 개 켜두기, 작동 영상

 

 

▲예제 3 - 1. 가변 저항으로 LED 밝기 조절하기, 회로도

 

▲예제 3 - 2. 가변 저항 작동 확인

 - 본격적으로 코드를 짜기 전에 연결한 부품이 제대로 작동하는지 확인한다.

 

▲예제 3 - 3. map() 메서드

 - map() 메서드는 아날로그 값을 디지털 값의 범위에 맞게 적절히 변환시키는 메서드이다.

 - map(아날로그 변수, 최솟값, 최댓값, 디지털 최솟값, 디지털 최댓값);

 

▲map() 메서드 기능 화면

 

▲예제 3 - 1. 가변 저항으로 LED 밝기 조절하기, 작동 영상

 

 

▲예제 4 - 1. 버튼 세 개로 RGB LED 켜기, 회로도

 

▲예제 4 - 2. 버튼 세 개로 RGB LED 켜기, 코드

 

▲예제 4 - 3. 버튼 작동 확인 화면

 

▲예제 4 - 4. 버튼 세 개로 RGB LED 켜기, 작동 영상

반응형