BASIC4MCU | 질문게시판 | 리얼타임클락 질문이요 ㅠㅠ
페이지 정보
작성자 팬케이크 작성일2024-11-22 23:12 조회47회 댓글1건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=23922
본문
안녕하세요 제가 창작작품을 만들고 싶은데 리얼타임클락 에서 막혀서 진도가 안 나갑니다ㅠㅠ
제가 하고 싶은 것은 알람시계를 만드는 것입니다.
앱인벤터에서 알람을 울릴 시각을 설정하면 아두이노에서 이를 블루투스로 받아서 리얼타임클락 모듈과 설정한 시각이 일치할 때 알람이 울리는 장치입니다.
우선 시, 분만 활용하고 알람대신 led를 켜는 것으로 코드를 짜봤는데요
블록코딩 문제인지 아두이노 코드 문제인지 알람 설정한 시각이 되어도 led 가 켜지지 않아서 다음 진도가 안 나갑니다 ㅠㅠ
#include // 소프트웨어 시리얼 통신#include // RTC DS1302 라이브러리
// 앱인벤터로부터 알람 시간 수신if (mySerial.available() > 0) {String data = mySerial.readStringUntil('\n'); // 한 줄 단위로 데이터 읽기int colonIndex = data.indexOf(':'); // ':' 위치 찾기if (colonIndex != -1) {alarmHour = data.substring(0, colonIndex).toInt(); // 시(hour) 추출alarmMinute = data.substring(colonIndex + 1).toInt(); // 분(minute) 추출Serial.print("Alarm Set: ");Serial.print(alarmHour);Serial.print(":");Serial.println(alarmMinute);}}// 현재 시간과 알람 시간 비교if (alarmHour != -1 && alarmMinute != -1) { // 알람 시간이 설정된 경우에만 실행if (now.Hour() == alarmHour && now.Minute() == alarmMinute) {digitalWrite(LED_PIN, HIGH); // 알람 시간이 일치하면 LED 켜기Serial.println("ALARM TRIGGERED! LED ON");} else {digitalWrite(LED_PIN, LOW); // 알람 시간이 아니면 LED 끄기}}이런 방식인데 뭐가 문제일까요 ㅠㅠ
댓글 1
조회수 47master님의 댓글
master 작성일
String data = mySerial.readStringUntil('\n'); // 한 줄 단위로 데이터 읽기
마지막에 ('\n') 이 문자를 전송하고 있는지 체크 해보세요