아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
정동맥부서
정동맥부서23.10.04

코딩 공부 중인데 잘 안 되는 부분이 많아서 질문 올립니다.

코딩 공부 중인데 어떻게 해야할 지 몰라서 모르겠습니다.

if … else if … else 이용해서 해야합니다.

사진 활용해서 해야할 것 같습니다.

{조건 1 : 송신 문자열로 1을 전송했을 때,

① 시리얼 모니터에 “1을 입력하셨습니다” 문구 출력 후 줄바꿈 1번

② 시리얼 모니터에 숫자 1을 16진수 ASCII 코드로 출력 후 줄바꿈 2번

③ 3색 LED 중 빨간색(R)을 0.5초 간격으로 1번 점멸(깜빡거림)

• 조건 2 : 송신 문자열로 2을 전송했을 때,

① 시리얼 모니터에 “2를 입력하셨습니다” 문구 출력 후 줄바꿈 1번

② 시리얼 모니터에 숫자 2를 8진수 ASCII 코드로 출력 후 줄바꿈 2번

③ 3색 LED 중 초록색(G)을 0.5초 간격으로 2번 점멸(깜빡거림) ← for문 사용

• 조건 3 : 송신 문자열로 3을 전송했을 때,

① 시리얼 모니터에 “3을 입력하셨습니다” 문구 출력 후 줄바꿈 1번

② 시리얼 모니터에 숫자 3을 2진수 ASCII 코드로 출력 후 줄바꿈 2번

③ 3색 LED 중 파란색(B)을 0.5초 간격으로 3번 점멸(깜빡거림) ← for문 사용}

55글자 더 채워주세요.
답변의 개수1개의 답변이 있어요!
  • 안녕하세요. 비트박입니다.


    int redLed = 2; // 빨간색 LED를 디지털 핀 2에 연결

    int greenLed = 3; // 초록색 LED를 디지털 핀 3에 연결

    int blueLed = 4; // 파란색 LED를 디지털 핀 4에 연결


    void setup() {

    Serial.begin(9600); // 시리얼 통신 속도 설정

    pinMode(redLed, OUTPUT);

    pinMode(greenLed, OUTPUT);

    pinMode(blueLed, OUTPUT);

    }


    void loop() {

    if (Serial.available() > 0) { // 시리얼 포트에서 데이터가 도착한 경우

    char data = Serial.read(); // 데이터 읽기

    if (data == '1') {

    Serial.println("1을 입력하셨습니다.");

    Serial.println(String(1, HEX)); // 16진수 ASCII 코드로 출력

    digitalWrite(redLed, HIGH); // 빨간색 LED 켜기

    delay(500); // 0.5초 대기

    digitalWrite(redLed, LOW); // 빨간색 LED 끄기

    }

    else if (data == '2') {

    Serial.println("2를 입력하셨습니다.");

    Serial.println(String(2, OCT)); // 8진수 ASCII 코드로 출력

    digitalWrite(greenLed, HIGH); // 초록색 LED 켜기

    delay(500); // 0.5초 대기

    digitalWrite(greenLed, LOW); // 초록색 LED 끄기

    delay(500); // 0.5초 대기

    digitalWrite(greenLed, HIGH); // 초록색 LED 켜기

    delay(500); // 0.5초 대기

    digitalWrite(greenLed, LOW); // 초록색 LED 끄기

    }

    else if (data == '3') {

    Serial.println("3을 입력하셨습니다.");

    Serial.println(String(3, BIN)); // 2진수 ASCII 코드로 출력

    // for문 사용하여 파란색 LED 3번 깜빡이기

    for(int i = 0; i < 3; i++) {

    digitalWrite(blueLed, HIGH); // 파란색 LED 켜기

    delay(500); // 0.5초 대기

    digitalWrite(blueLed, LOW); // 파란색 LED 끄기

    delay(500); // 0.5초 대기

    }

    }

    else {

    Serial.println("올바르지 않은 입력입니다. 1, 2, 3 중 하나를 입력하세요.");

    }

    }

    }