디시인사이드 갤러리

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

갤러리 본문 영역

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

썬컷0.6갤로그로 이동합니다. 2024.12.28 20:46:12
조회 121 추천 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 - -
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 21 0
7019424 일본어에서 전신××인간 이라는 속어 왤캐 맘에들지 [3] 재미교쓰리갤로그로 이동합니다. 24.12.31 39 0
7019423 아 저녁 머먹지... [16] 쓰-름갤로그로 이동합니다. 24.12.31 63 0
7019422 이 작가 AI움짤 만드는거 좀 투하양아연 레전즈네.gif [2] 무명소졸,갤로그로 이동합니다. 24.12.31 77 0
7019419 토오사카 개귀엽농ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 코코아볼갤로그로 이동합니다. 24.12.31 32 0
7019418 지금 여장갤 여왕벌 보추 야짤.gif [1] 가능갤로그로 이동합니다. 24.12.31 52 0
7019417 원래 이번에도 해뜨는거 보러가려고 했는데 몸 상태가 이상하네 The-second갤로그로 이동합니다. 24.12.31 16 0
7019416 아니근데 마밤 ㄹㅇ수준이다르던데 [1] 아니야왜냐하면갤로그로 이동합니다. 24.12.31 59 0
7019415 와 못돼처먹은 초딩 참교육하는짤 상당하네 [4] 김샛별갤로그로 이동합니다. 24.12.31 73 0
7019414 키보드 세척 방법이 그냥 물에 담그기라는게 트루? [11] 변불칸갤로그로 이동합니다. 24.12.31 59 0
7019413 홍차가 맛있나? 토오사카 홍차 웰케 좋아함 코코아볼갤로그로 이동합니다. 24.12.31 14 0
7019411 내가 근친이 될게 쌍니은씨 지켜봐줘 [14] 칠사오갤로그로 이동합니다. 24.12.31 49 0
7019410 잘자라. [3] 피채원갤로그로 이동합니다. 24.12.31 24 0
7019409 와 생각해보니 지금먹는게 오늘 처음이자마지막끼임 재미교쓰리갤로그로 이동합니다. 24.12.31 27 0
7019408 부끄럽다고 페이트 루트 험담하는 애들은, 지배적 남성성에서 쇠안경(183.105) 24.12.31 19 0
7019407 원신 그냥 시틀라리를 메인으로하죠 아니야왜냐하면갤로그로 이동합니다. 24.12.31 25 0
7019406 파타피 이사람 명백히 멘탈 흔들리는게 글너머로보이는 ㄷ 노벨쨩갤로그로 이동합니다. 24.12.31 48 0
7019404 그리고 모든 기적이 시작되는 곳 [5] 네픽.갤로그로 이동합니다. 24.12.31 44 0
7019403 이거 좀 지름코드 픽이네 [1] 투하갤로그로 이동합니다. 24.12.31 31 0
7019402 마밤 엔딩 부르고왔다 [12] 어사일럼갤로그로 이동합니다. 24.12.31 63 0
7019401 원신 3년 사이 뭔 일이 있었던거임 [8] α센타우리갤로그로 이동합니다. 24.12.31 86 0
7019399 오늘의 저녁(올해마지막 도민의 혈세) [5] 재미교쓰리갤로그로 이동합니다. 24.12.31 46 0
7019396 오늘 열차 레전드네 [1] 김해인갤로그로 이동합니다. 24.12.31 35 0
7019395 뭐 판타지나 보면서, 패배자 인생역전 소설 같은거나 보는 쇠안경(183.105) 24.12.31 15 0
7019394 븜타이니 페이트하다 은근 슬쩍 사라졌네... [1] 돌아온빵집파락호갤로그로 이동합니다. 24.12.31 34 0
7019393 죽어 [3] ‘파타피갤로그로 이동합니다. 24.12.31 53 0
7019391 메이플 하이마운틴<-이거하면서 대가리깨짐 [2] 중정갤로그로 이동합니다. 24.12.31 36 0
7019390 돌고 돌아 "여자면 싸우면 안돼" 가 옳은거였어요. 출산적으로 쇠안경(183.105) 24.12.31 15 0
7019389 지능의 유전하니 최근에 본 발달심리학 교재에 이런 내용이 나오던데 [2] 판갤러(112.154) 24.12.31 41 0
7019388 근신 신규 PV 역대급으로 반응 박살났네ㅋㅋㅋㅋ [3] 벽!갤로그로 이동합니다. 24.12.31 97 0
7019387 일단 잘까 뚜엔띠엔갤로그로 이동합니다. 24.12.31 11 0
7019385 페이트 루트는, 신지 공감갤에서는 생길 수 앖는 남성성이 쇠안경(183.105) 24.12.31 13 0
7019384 뇌물공여,,,,비리떡감,,,,수사하라,,,!!! 김정윤갤로그로 이동합니다. 24.12.31 27 0
7019383 랜덤짤 [2] α센타우리갤로그로 이동합니다. 24.12.31 28 0
7019382 이거 adhd약효과인가... [4] 우므갤로그로 이동합니다. 24.12.31 52 0
7019381 일본산 독감 너무 강하다.. [1] 뚜엔띠엔갤로그로 이동합니다. 24.12.31 28 0
7019380 그러고보니 요즘 블루스크린은 이런느낌이 아니더라 [4] 투하갤로그로 이동합니다. 24.12.31 40 0
7019379 군인들은 빨간날에도 아침점호 해야 하는 게 사실임? [2] TS망상갤로그로 이동합니다. 24.12.31 39 0
7019378 마루 밑 아리에티 보고 울었어 [3] ㅇㅇ(110.70) 24.12.31 24 0
7019377 와 테무 좆됐노 [12] 포도먹는곰갤로그로 이동합니다. 24.12.31 92 0
7019375 이런 고전풍 rpg가 이번달에 나왔다니 [1] 폭유밀프모락갤로그로 이동합니다. 24.12.31 35 0
7019374 앤드류 테이트가 온리팬스 ceo임? [1] TS망상갤로그로 이동합니다. 24.12.31 31 0
7019371 오늘 폰 연등 24시간 ㄷㄷㄷㄷㄷㄷ [4] 하트비트갤로그로 이동합니다. 24.12.31 34 0
7019369 선생님은 여자볼때 뭐부터 보세요? [2] 투하갤로그로 이동합니다. 24.12.31 39 0
7019368 오늘의 양치기마법사는 짜릿했다 [3] 을현1.1갤로그로 이동합니다. 24.12.31 29 0
뉴스 더빙의 대가, 유준호를 아시나요 [김지혜의 ★튜브] 디시트렌드 12.31
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2