디시인사이드 갤러리

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

갤러리 본문 영역

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

썬컷0.6갤로그로 이동합니다. 2024.12.28 20:46:12
조회 115 추천 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 - -
7009022 사쿠라는 고독 피해자 보다는 고독항아리지 [1] 홈즈,갤로그로 이동합니다. 12.29 38 0
7009021 그럼 사쿠라도 원래 흑발 파란 눈 이었던거임? [2] 봄타이니갤로그로 이동합니다. 12.29 74 0
7009020 메인어 2기 근데 파프타 빽빽대는거때문에 좀 보기힘들던 [1] 시온마츠리갤로그로 이동합니다. 12.29 28 0
7009019 코드기어스<ㅡㅡ 언제 재밌어짐? [1] 닥터유프로초코갤로그로 이동합니다. 12.29 19 0
7009018 장갤에서 "무직용사" 이거 추천받았는데 읽어본 사람있냐 [1] 갤로그로 이동합니다. 12.29 39 0
7009017 아니 시로야 내가 사쿠라 쓰러진거 본 게 4번이 넘어 봄타이니갤로그로 이동합니다. 12.29 37 0
7009016 애초에 인천 김포 청주 부산 제주 빼고 공항이 있는 게 이상함 [7] 고기마스터갤로그로 이동합니다. 12.29 64 0
7009015 마망최적화임 ㅇㅇ(218.144) 12.29 13 0
7009014 젠장 슬슬 유튜브에 한 시간 불린 자장면이 유행을 타기 시작 변불칸갤로그로 이동합니다. 12.29 27 0
7009012 본인 지금 큰일임 [3] ‘파타피갤로그로 이동합니다. 12.29 57 0
7009011 근데 진짜 이거 시기가 딱 기묘하긴 하네 [1] alembic갤로그로 이동합니다. 12.29 50 0
7009009 지금 정치마갤들 음모론 돌리는게 ㄹㅇ 도파민 터지네 갤로그로 이동합니다. 12.29 47 0
7009008 싸워서 살아남던지 싸우지 않고 죽던지 봄타이니갤로그로 이동합니다. 12.29 32 0
7009007 그림이란거 깎아내며 그려야하나 더하며그려야하나 [3] 교쓰리갤로그로 이동합니다. 12.29 54 0
7009006 이 작가 진짜 푸슈네 [4] 무명소졸,갤로그로 이동합니다. 12.29 63 0
7009005 님들이 세계 유일한 귀환자인데 f급이면 뭐할 거임? [12] 진짜비숍ㅇㅇ갤로그로 이동합니다. 12.29 70 0
7009003 하... 그래서 사쿠라가 마음이 약해서 죽을 뻔 했단거냐 봄타이니갤로그로 이동합니다. 12.29 27 0
7009002 제주항공 금요일에 잔뜩판거 이해가능한 영역일지도 [3] ㅇㅇ갤로그로 이동합니다. 12.29 74 0
7009001 드디어 반지성웅앵 디저트들이 좆같은사막을 탈출하는구나 김샛별갤로그로 이동합니다. 12.29 26 0
7009000 nai 결제하려고보니 13.99달러 [4] 홈즈,갤로그로 이동합니다. 12.29 44 0
7008999 요즘건조해서 그런가 가래가 많이나오네 천덕영갤로그로 이동합니다. 12.29 11 0
7008997 임신하고 술끊는 히로이 vs 임신했는데도 술마셔서 기형아낳는 히로이 갤로그로 이동합니다. 12.29 34 0
7008996 여기 줄서기톡방 뭐냐? 롤렉스 온라인 대리예약 알바라는게 뭐냐? ㅇㅇ(39.125) 12.29 14 0
7008995 히로이 알중일기 볼때마다 누가 데려가나 싶은데 [3] 유로지바갤로그로 이동합니다. 12.29 75 0
7008993 헤필이 참 그렇단 말이지 [2] ㆁㆁ갤로그로 이동합니다. 12.29 34 0
7008992 5090 근데 진짜 2999달러에 나오나? [4] TS망상갤로그로 이동합니다. 12.29 37 0
7008991 아직도 칸코레 팬덤이 살아있단게 신기해요 투하갤로그로 이동합니다. 12.29 26 0
7008990 짤녀 정도면 거유임? ㅇㅇ갤로그로 이동합니다. 12.29 18 0
7008989 트위터 야한거 있으면 자동번역 작동 안하는거 개화남 [27] 어사일럼갤로그로 이동합니다. 12.29 113 0
7008988 으ㅡ흐흐흐 프라나아아아아아 [1] 유로지바갤로그로 이동합니다. 12.29 22 0
7008987 히로이는 아무리해도 허접보지일거같단 편견이 있음 교쓰리갤로그로 이동합니다. 12.29 37 0
7008986 그 칸코레 제독 살자만화를 뛰어넘는 후피집이 보고싶군... 갤로그로 이동합니다. 12.29 17 0
7008985 그니까 사쿠라 속에 벌레 있었다고 [4] 봄타이니갤로그로 이동합니다. 12.29 85 0
7008984 낮에 28명 사망이랬는데 [3] 김해인갤로그로 이동합니다. 12.29 56 0
7008982 렌탈여친 품평의 극의 ㅈㄴ 웃기네 ㅋㅋㅋㅋ [6] 시온마츠리갤로그로 이동합니다. 12.29 87 0
7008980 뭔가 영지물 기반인데 모험 비중도 큰거 읽고싶네 갤로그로 이동합니다. 12.29 15 0
7008978 이 소설 제목 이런내용인데 혹시 기억나시는분좀 알려주세요 판갤러(114.205) 12.29 21 0
7008977 요즘 영애물 안 보다보니 영애력이 낮아진듯..... 유로지바갤로그로 이동합니다. 12.29 17 0
7008976 이해하면 꼴리는 메스가키.jpg [4] SHIRAYUKI갤로그로 이동합니다. 12.29 92 0
7008975 비행기사고 트위터 반응이 진자 레전즈네 [11] 무명소졸,갤로그로 이동합니다. 12.29 142 0
7008974 그래 사쿠라 죽이자 ㅇㅇ [3] 봄타이니갤로그로 이동합니다. 12.29 61 0
7008973 이런거 판갤 표독입문자들이 좋아함 [3] 교쓰리갤로그로 이동합니다. 12.29 63 0
7008972 나도 야마자키 하이볼 마셔보고 싶네 망아지갤로그로 이동합니다. 12.29 14 0
7008971 홈즈인가… [7] 어사일럼갤로그로 이동합니다. 12.29 34 0
7008970 티비보는데 비행기 사고는 뭐냐 [1] 김해인갤로그로 이동합니다. 12.29 31 0
7008969 사쿠라한테 폭언하던 린이 [1] 폭유밀프모락갤로그로 이동합니다. 12.29 42 0
7008968 ㄴ서번트가 죽어서 좋으시겠어요 선배 그래서니가누군데갤로그로 이동합니다. 12.29 10 0
7008964 투명녀란거 꼴리는 상황이 되게 많네 [9] 교쓰리갤로그로 이동합니다. 12.29 85 1
7008963 오 칸나 수간 떡인지 Dlsite 내준다네 [5] 쓰-름갤로그로 이동합니다. 12.29 80 0
7008960 아니 시로야 얘네가 같은 편이라는 확신은 어케 하는거니? [4] 봄타이니갤로그로 이동합니다. 12.29 72 0
뉴스 ‘놀뭐’ 6년째 선행…취약계층 위해 4억 7000만 원 기부 디시트렌드 12.29
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2