ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Arduino] 자동 LED 램프 개발
    Arduino 2022. 6. 20. 10:26

    SW 스케치 코드

    int led = 8;
    int key = A2;
    int cds = A1;
    int cdsValue = analogRead(cds);
     
    int CdsSensor(){
      if(analogRead(cds) < 100){
        return 1;
      }
      if(analogRead(cds) > 100){
        return 0;
      }
    }
     
    int On(){
      digitalWrite(led, HIGH);
      Serial.println("전원 ON");
      Serial.print("CDS :");
      Serial.println(analogRead(cds));
      delay(150);
    }
     
    int Off(){
      digitalWrite(led, LOW);
      Serial.println("전원 OFF");
      delay(150);
    }
     
    int Value(){
      if(analogRead(key) > 500){
        Serial.println("Analogbutton: ");
        Serial.print(analogRead(key));
        Serial.println("버튼 누름");
        return 1;
      }
    }
    void setup() {
     
      pinMode(led,OUTPUT);
      pinMode(key,INPUT);
      Serial.begin(9600);
     
    }
    void loop() {
      int s = CdsSensor();
     
     while(s){
        On();
        if(CdsSensor()== 0){
          break;
        }
        if(Value() == 1){
          while(1){
            Off();
            Serial.print("CDS :");
            Serial.println(analogRead(cds));
            delay(100);
            if(CdsSensor()== 0){
              break;
            }
            if(Value() == 1){
              int d = Value();
              while(d){
                On();
                if(CdsSensor()== 0){
                  break;
                }
                if(Value() == 1){
                  Off();
                  break;
                }
              }
            }
          }
        }
      }
      Off();
      delay(100);
     
      if(Value() == 1){
        int d = Value();
        while(d){
          On();
          if(Value() == 1){
            Off();
            break;
          }
        }
      }
     
      Serial.print("CDS :");
      Serial.println(analogRead(cds));
      Serial.print("Analogbutton: ");
      Serial.println(analogRead(key));
      delay(500);
    }

     

     

Designed by Tistory.