아두이노 나노 - LED - 딜레이 없이 깜박임 | Arduino Nano - LED - Blink Without Delay
우리가 Arduino Nano가 달성해야 할 두 가지 작업이 있다고 상상해봅시다: LED를 깜박이는 것과 언제든지 눌릴 수 있는 버튼의 상태를 모니터링하는 것입니다. 만약 우리가 delay() 함수(이전 튜토리얼에서 논의된 아두이노 나노 참조)를 사용한다면, Arduino Nano는 일부 버튼 누름을 간과할 수 있습니다. 다시 말해, Arduino Nano는 두 번째 작업을 완전히 수행할 수 없습니다.
이 튜토리얼은 아두이노 나노가 LED를 깜박이게 하고 버튼의 상태를 누르는 이벤트가 누락되지 않고 감지하는 방법을 알려줍니다.
우리는 세 가지 예시를 살펴보고 그 차이를 비교할 것입니다:
- delay() 함수를 사용하여 아두이노 나노로 LED를 깜박거리기
- millis() 함수를 사용하여 아두이노 나노로 LED를 깜박거리기
- ezLED 라이브러리를 사용하여 아두이노 나노로 LED를 깜박거리기
이 방법은 단순히 LED를 깜박이고 버튼의 상태를 확인하는 것에만 제한되지 않습니다. 일반적으로 서로 차단하지 않고 아두이노 나노가 동시에 여러 작업을 수행할 수 있게 해줍니다.
준비물
1 | × | Arduino Nano | Amazon | |
1 | × | USB A to Mini-B USB cable | 쿠팡 | Amazon | |
1 | × | LED | Amazon | |
1 | × | 220 ohm resistor | Amazon | |
1 | × | Push Button | 쿠팡 | Amazon | |
1 | × | (Optional) Panel-mount Push Button | Amazon | |
1 | × | Breadboard | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) 9V Power Adapter for Arduino Nano | Amazon | |
1 | × | (Recommended) Screw Terminal Expansion Board for Arduino Nano | 쿠팡 | Amazon |
LED와 버튼에 대하여
LED 및 버튼(핀 아웃, 기능성, 프로그래밍 포함)에 익숙하지 않다면, 다음 튜토리얼이 도움이 될 수 있습니다:
선연결
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아두이노 나노 코드 - 딜레이 포함
사용 방법
- 아두이노 나노를 USB 케이블을 사용하여 컴퓨터에 연결하세요.
- 아두이노 IDE를 실행하고, 올바른 보드와 포트를 선택하세요.
- 코드를 복사하여 아두이노 IDE에서 엽니다.
- 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 컴파일하고 아두이노 나노에 코드를 업로드하세요.
- 시리얼 모니터를 열어주세요.
- 버튼을 네 번 눌러주세요.
- LED를 확인하세요; 매 초마다 켜졌다가 꺼질 것입니다.
- 시리얼 모니터에서 출력을 확인하세요.
시리얼 모니터에서 일부 버튼 누름 시간이 등록되지 않았습니다. 이는 딜레이 시간 동안 아두이노 나노가 어떠한 동작도 수행할 수 없기 때문입니다. 결과적으로, 버튼 누름 이벤트를 감지할 수 없습니다.
아두이노 나노 코드 - 지연 없음
사용 방법
- 코드를 실행하고 버튼을 네 번 누르세요.
- LED를 확인하세요; 1초 간격으로 켜기와 끄기 사이를 전환할 것입니다.
- 시리얼 모니터에서 출력을 확인하세요.
긴급한 사항의 모든 발생이 식별되었습니다.
코드 설명
소스 코드의 주석에 포함된 줄별 설명을 확인하세요!
더 많은 작업 추가하기
아래의 아두이노 나노 코드는 다음을 수행합니다:
- 두 개의 LED를 다른 간격으로 깜박입니다.
- 버튼의 상태를 확인합니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.
확장성
이 방법은 한 작업이 다른 작업의 진행을 막지 않고, Arduino Nano가 여러 작업을 동시에 실행할 수 있게 사용될 수 있습니다. 예를 들어, 인터넷에 요청을 보내고 응답을 기다리는 동안 동시에 몇몇 LED 표시등을 깜빡이고 취소 버튼을 모니터링하는 것입니다.