리셋 후에도 카운터 기억하기
전원 주기가 지나도 상태를 유지합니다.
리셋 후에도 카운터 기억하기은(는) CoddyKit의 무료 Arduino & IoT Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Arduino & IoT Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Arduino & IoT Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
살아남는 카운터
전원 차단 후에도 누른 횟수의 합계를 기억하는 누름 카운터를 만들어 보겠습니다. 디바운싱과 EEPROM 저장을 함께 사용합니다.
한 줄로 보는 계획
시작할 때 저장된 횟수를 불러옵니다. 깨끗한 누름이 발생할 때마다 1을 더하고 다시 저장합니다. 간단하지만 강력합니다.
저장 슬롯 선택하기
카운터용 EEPROM 주소 하나를 확보합니다. 지금은 바이트 하나에 들어갈 만큼 작은 값으로 유지하겠습니다.
const int ADDR = 0;
byte count = 0;부팅할 때 불러오기
setup() 안에서 먼저 저장된 값을 읽습니다. 이제 카운터가 중단된 지점에서 정확히 이어집니다.
void setup() {
count = EEPROM.read(ADDR);
}먼저 잘못된 값 지우기
새 칩의 EEPROM은 흔히 255를 읽습니다. 이를 비어 있는 상태로 간주하고 첫 실행 때 카운터를 0으로 재설정합니다.
if (count == 255) count = 0;디바운싱 재사용하기
앞에서 만든 millis() 디바운싱으로 누름을 감지합니다. 입력이 깨끗하지 않으면 저장된 횟수가 부정확하게 늘어나므로 반드시 필요합니다.
깨끗한 누름에서 증가시키기
디바운싱된 누름이 발생하면 카운터를 1 증가시킵니다. 이 순간에만 합계가 늘어납니다.
count++;
Serial.println(count);수명을 줄이지 않고 저장하기
EEPROM.update로 새 합계를 씁니다. 실제로 값이 바뀐 경우에만 메모리에 접근하므로 칩을 보호할 수 있습니다.
EEPROM.update(ADDR, count);마법을 시험해 보기
몇 번 누른 다음 보드의 플러그를 뽑았다가 다시 연결합니다. Serial Monitor에 카운트가 처음부터 다시 시작되지 않고 계속 이어지는 모습이 표시됩니다. 🎉
바이트 한도에 주의하기
바이트 카운터는 255 다음에 다시 0으로 돌아갑니다. 더 큰 합계에는 int를 EEPROM.put과 EEPROM.get으로 저장해야 합니다.
리셋 기능 추가하기
실제 제품에는 저장된 카운트를 지울 방법이 필요한 경우가 많습니다. 버튼을 길게 누르면 EEPROM에 다시 0을 쓸 수 있습니다.
EEPROM.update(ADDR, 0);빠른 확인
카운터가 리셋 후에도 유지되게 하는 핵심 단계를 확인해 보겠습니다.
복습: 리셋을 넘어 유지되는 메모리
부팅할 때 EEPROM에서 값을 불러오고 깨끗한 누름이 발생할 때마다 저장하여 유지되는 카운터를 만들었습니다. 이제 장치에 드디어 메모리가 생겼습니다! 🧠
AI 튜터와 함께 C++을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 30
- 레슨
- 120
자주 묻는 질문
“리셋 후에도 카운터 기억하기” 강의는 무료인가요?
네 — “리셋 후에도 카운터 기억하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Arduino & IoT Academy 강의 전체를 잠금 해제할 수 있습니다. Arduino & IoT Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“리셋 후에도 카운터 기억하기”에서 뭘 배우나요?
전원 주기가 지나도 상태를 유지합니다. 브라우저에서 직접 실행하는 실습 코드로 Arduino & IoT Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Arduino & IoT Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Arduino & IoT Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“리셋 후에도 카운터 기억하기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Arduino & IoT Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Arduino & IoT Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 버튼이 ‘튀는’ 이유
- millis()로 디바운싱하기
- EEPROM에 값 저장하기
- 리셋 후에도 카운터 기억하기