디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

지피티 제미니 클로드 세개로 서로 코드평가하게 해서 만든 최종코드가

썬컷0.6갤로그로 이동합니다. 2024.12.28 20:46:12
조회 123 추천 0 댓글 7

#include <Arduino.h> 


// 핀 설정

const int LIGHT_SENSOR_PIN = 34; // 조도 센서가 연결된 핀

const int RELAY_PIN = 26;        // 릴레이 제어 핀


// 설정값

const int LIGHT_THRESHOLD_ON = 1900;  // 릴레이 켜는 임계값

const int LIGHT_THRESHOLD_OFF = 2100; // 릴레이 끄는 임계값

const int SAMPLES = 5;            // 평균을 위한 샘플 수

const unsigned long INTERVAL_MS = 1000; // 조도 측정 간격 (밀리초 단위)


// 전역 변수

int lightValues[SAMPLES];             // 조도 값을 저장할 배열

int currentIndex = 0;                 // 현재 저장할 배열 인덱스

unsigned long previousMillis = 0;     // 이전 조도 측정 시간 (밀리초)

int previousRelayState = LOW;         // 이전 릴레이 상태 (상태 변경을 추적하기 위해 사용)


static unsigned long lastPrintTime = 0;  // 마지막 시리얼 출력 시간 추적

const unsigned long PRINT_INTERVAL = 5000; // 5초마다 시리얼 출력


// 평균 조도값 계산 함수

long getAverageLightLevel() {

  long sum = 0;

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

    sum += lightValues[i];

  }

  return sum / SAMPLES;

}


void setup() {

  // 시리얼 통신 시작 (디버깅을 위해 사용)

  Serial.begin(115200);


  // 핀 모드 설정

  pinMode(LIGHT_SENSOR_PIN, INPUT);

  pinMode(RELAY_PIN, OUTPUT);


  // 조도 값 배열을 초기화

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

    lightValues[i] = 0;

  }


  // 릴레이 초기 상태 설정 (꺼짐 상태로 시작)

  digitalWrite(RELAY_PIN, LOW);

}


void loop() {

  unsigned long currentMillis = millis();


  // 일정 시간 간격마다 조도 값 읽기

  if (currentMillis - previousMillis >= INTERVAL_MS) {

    previousMillis = currentMillis;


    // 조도 센서 값 읽기

    int lightLevel = analogRead(LIGHT_SENSOR_PIN);


    // 오류 처리 (조도 값이 유효하지 않으면 반환)

    if (lightLevel < 0 || lightLevel > 4095) {

      Serial.println("Error reading light sensor");

      return;

    }


    // 배열에 새로운 값 저장

    lightValues[currentIndex] = lightLevel;

    currentIndex = (currentIndex + 1) % SAMPLES;


    // 평균 조도값 계산

    int averageLight = getAverageLightLevel();


    // 일정 시간 간격마다 시리얼 출력 (5초마다 출력)

    if (currentMillis - lastPrintTime >= PRINT_INTERVAL) {

      lastPrintTime = currentMillis;

      Serial.print("Current Light Level: ");

      Serial.print(lightLevel);

      Serial.print(" | Average Light Level: ");

      Serial.println(averageLight);

    }


    // 조도값에 따라 릴레이 상태 결정 (히스테리시스 적용)

    int relayState;

    if (averageLight < LIGHT_THRESHOLD_ON) {

      relayState = HIGH;  // 어두우면 릴레이 켬

    } else if (averageLight > LIGHT_THRESHOLD_OFF) {

      relayState = LOW;   // 밝으면 릴레이 끔

    } else {

      relayState = previousRelayState;  // 상태 유지

    }


    // 이전 상태와 비교하여 상태가 변경된 경우에만 릴레이 상태를 변경

    if (relayState != previousRelayState) {

      digitalWrite(RELAY_PIN, relayState);

      previousRelayState = relayState;


      // 릴레이 상태에 따른 시리얼 출력

      if (relayState == HIGH) {

        Serial.println("Light ON");

      } else {

        Serial.println("Light OFF");

      }

    }

  }

}





이건데






#include <Arduino.h>


// 핀 설정

const int LIGHT_SENSOR_PIN = 34;  // 조도 센서 연결 핀

const int RELAY_PIN = 26;         // 릴레이 제어 핀


// 설정값

const int LIGHT_THRESHOLD = 2000;  // 빛 감지 임계값 (0-4095)

const int DELAY_MS = 1000;        // 측정 간격 (밀리초)

const int SAMPLES = 5;            // 평균을 위한 샘플 수


// 전역 변수

int lightValues[SAMPLES];         // 조도값 저장 배열

int currentIndex = 0;             // 현재 배열 인덱스


// 평균 조도값 계산 함수

int getAverageLightLevel() {

  int sum = 0;

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

    sum += lightValues[i];

  }

  return sum / SAMPLES;

}


void setup() {

  // 시리얼 통신 시작

  Serial.begin(115200);

  

  // 핀 모드 설정

  pinMode(LIGHT_SENSOR_PIN, INPUT);

  pinMode(RELAY_PIN, OUTPUT);

  

  // 배열 초기화

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

    lightValues[i] = 0;

  }

  

  // 초기 릴레이 상태 설정

  digitalWrite(RELAY_PIN, LOW);

}


void loop() {

  // 조도값 읽기

  int lightLevel = analogRead(LIGHT_SENSOR_PIN);

  

  // 배열에 저장

  lightValues[currentIndex] = lightLevel;

  currentIndex = (currentIndex + 1) % SAMPLES;

  

  // 평균 조도값 계산

  int averageLight = getAverageLightLevel();

  

  // 시리얼 모니터에 데이터 출력

  Serial.print("Current Light Level: ");

  Serial.print(lightLevel);

  Serial.print(" | Average Light Level: ");

  Serial.println(averageLight);

  

  // 조도값에 따라 릴레이 제어

  if (averageLight < LIGHT_THRESHOLD) {

    digitalWrite(RELAY_PIN, HIGH);  // 어두우면 켜기

    Serial.println("Light ON");

  } else {

    digitalWrite(RELAY_PIN, LOW);   // 밝으면 끄기

    Serial.println("Light OFF");

  }

  

  // 딜레이

  delay(DELAY_MS);

}




맨 처음의 이거랑


뭐가 달라졋는지 하나도 모르겠농


ㅋㅋ;

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 계엄 때문에 가장 큰 타격 입은 것 같은 스타는? 운영자 24/12/30 - -
공지 제주항공 여객기 사고 관련 운영자 24/12/31 - -
7019485 아쿠아 젖벅지 뭬뤠갤로그로 이동합니다. 24.12.31 28 0
7019484 0시부터 픽업을하는 미친게임이 어딧냐고. 안이설갤로그로 이동합니다. 24.12.31 17 0
7019483 아니 후유키시 진짜 성배전쟁아녔으면 진짜촌동네구나 [10] 코코아볼갤로그로 이동합니다. 24.12.31 49 0
7019482 출산율을 위해서라도, 모든 미디어는 로맨스를 넣어야 해요 쇠안경(183.105) 24.12.31 13 0
7019481 원신 안하는데 나타 욕먹는거 락혐아니야?ㅠㅠㅠ 위씽갤로그로 이동합니다. 24.12.31 18 0
7019480 별다른 지원이나 돈없이 시작햤다는 놈들보면 하나같이 아니야왜냐하면갤로그로 이동합니다. 24.12.31 32 0
7019479 오겜2 보는데 저거 뭔 십소리임ㅇㅇ [8] 홈즈,갤로그로 이동합니다. 24.12.31 58 0
7019478 중고폰 잘 아는 사람만 들어와봐 [2] 모하비배달부갤로그로 이동합니다. 24.12.31 23 0
7019476 뭐, 대중문학이 그런걸 추구하려는, 필연적 흐름의 진의를 쇠안경(183.105) 24.12.31 10 0
7019475 저 아부지가 생일 선물로 갤럭시핏 이란걸 보내 주심. [8] 저지능갤로그로 이동합니다. 24.12.31 48 0
7019473 메갤리갤 하던사람들 잇나.(question 핑빈콘) [2] 갤로그로 이동합니다. 24.12.31 32 0
7019472 나타가 그니까 그런느낌인가 [4] α센타우리갤로그로 이동합니다. 24.12.31 29 0
7019471 헉 미래에 토오사카가 징수하로 온데 ㄷㄷㄷㄷㄷ 코코아볼갤로그로 이동합니다. 24.12.31 21 0
7019470 ㄹㅇ 오늘 회사 역대급으로 좆같았다 [5] 김해린갤로그로 이동합니다. 24.12.31 58 0
7019469 어브리가 미친 금수저n주식고수였구나 [4] ㅇㅇ(112.185) 24.12.31 41 0
7019468 어브리목졸라죽였음 [4] 재일교4갤로그로 이동합니다. 24.12.31 42 0
7019467 선택받은아이들 오빠꺼잔뜩먹고 애기나올거같다하네 ㅇㅇ(218.144) 24.12.31 22 0
7019466 유치한 싸구려 로맨스 = 인류번영에 이로운 대중문학적 요소 쇠안경(183.105) 24.12.31 14 0
7019465 이 짤 대체 왜짤리는거냐???? [4] 무명소졸,갤로그로 이동합니다. 24.12.31 56 0
7019464 견디는 것에는 아무런 의미가 없다... ‘파타피갤로그로 이동합니다. 24.12.31 32 0
7019463 나 명명인데 25년이 머지 않았다 ㅋㅁㄱ갤로그로 이동합니다. 24.12.31 16 0
7019462 블라인드 어그로글 ㄹㅇ 죽여버리고 싶네 [5] ㅇㅇ갤로그로 이동합니다. 24.12.31 64 0
7019461 키리츠구 진짜 얼마나 ㅈ밥이면 협회에서도 신경 안쓰냐ㅋㅋ 코코아볼갤로그로 이동합니다. 24.12.31 27 0
7019460 스포) 저도 올해 주식 수익 인증함 [6] ㅇㅇ,(58.29) 24.12.31 41 0
7019459 여행 가는때에 도쿄에 머 이벤트 잇는거 잇나 어디서알아보지 [8] 외티.갤로그로 이동합니다. 24.12.31 27 0
7019457 이거 코하루짤 치고 저탱이가 너무크네.. [3] 투하갤로그로 이동합니다. 24.12.31 52 0
7019456 cm송 레전즈.utv 김해인갤로그로 이동합니다. 24.12.31 26 0
7019455 아씨발 던만추 엔딩 이거 ㅈㅉㅇㅇ? [1] 강강수할래갤로그로 이동합니다. 24.12.31 47 0
7019454 그리고 페이트, 언블웍, 헤필이 각각 이상 순응 현실이라고 하는데 쇠안경(183.105) 24.12.31 28 0
7019453 나도 써구려키보드는 물세척했는데 [1] 재일교4갤로그로 이동합니다. 24.12.31 31 0
7019451 미호요도 뭔가 인싸직원들 늘어나서 그런지 [2] 무명소졸,갤로그로 이동합니다. 24.12.31 41 0
7019450 토오사카랑 아인츠베른 말고 또 마술가문이 있나보네 [1] 코코아볼갤로그로 이동합니다. 24.12.31 24 0
7019449 올해 주식 수익 결산 [9] 어브리갤로그로 이동합니다. 24.12.31 71 0
7019448 아니근데 아리스한테 티배깅하는 아오자키 다시 생각해도 웃기네 아니야왜냐하면갤로그로 이동합니다. 24.12.31 25 0
7019446 날개에 상처내는건 또 특이한 취향이네 [6] 투하갤로그로 이동합니다. 24.12.31 50 0
7019444 남은 애 한명도 시로처럼 ㅈ밥이겠네 코코아볼갤로그로 이동합니다. 24.12.31 19 0
7019443 리버스는 ㄹㅇ 덱 짜는게 너무 재밋어 루잭갤로그로 이동합니다. 24.12.31 11 0
7019441 레니콘 작가 트위터 첫 그림이 가디언테일즈네,,,, [4] 갤로그로 이동합니다. 24.12.31 53 0
7019439 노르르상이 모르는 댕댕이 땡깡 제압방법 [4] 무명소졸,갤로그로 이동합니다. 24.12.31 39 0
7019438 아니 토오사카가 알고있는 마술사가 시로 아녔음???? [1] 코코아볼갤로그로 이동합니다. 24.12.31 30 0
7019437 아니 푸리나 보고 핏콩한 그런게 없어 마비카 [2] 까름칙갤로그로 이동합니다. 24.12.31 36 0
7019436 솔직히 이렇게 기본기로 담백하게 이기는게 젤 멋짐 양지로갤로그로 이동합니다. 24.12.31 26 0
7019435 씨발 연말에 내 먹을건 안사고 반룡 먹을거나 샀네 [7] 김해린갤로그로 이동합니다. 24.12.31 37 0
7019433 캐릭터 이름이 마비카인거임? [5] 어사일럼갤로그로 이동합니다. 24.12.31 69 0
7019432 와씨발 미카젖탱이 개미쳣어ㅋㅋㅋㅋ [1] 투하갤로그로 이동합니다. 24.12.31 65 0
7019430 그치만 판붕이들아 나 너무졸리 [4] ㅇㅇ갤로그로 이동합니다. 24.12.31 27 0
7019429 이츠모 이츠데모 유마쿠 유쿠난테 지생화갤로그로 이동합니다. 24.12.31 14 0
7019427 도로롱산거왔다 ㄷㄷㄷㄷㄷㄷ [8] 김해린갤로그로 이동합니다. 24.12.31 51 0
7019426 시로 진짜 토오사카없이 홀로 서기 어케하냐 코코아볼갤로그로 이동합니다. 24.12.31 19 0
7019425 마비카 솔직히 뽑을 이유가 없는데 까름칙갤로그로 이동합니다. 24.12.31 22 0
뉴스 ‘수상한 그녀’ 현재연, 정지소-정보석 도촬 감행...'싸늘한 눈빛' 디시트렌드 12.31
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2