디시인사이드 갤러리

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

갤러리 본문 영역

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

썬컷0.6갤로그로 이동합니다. 2024.12.28 20:46:12
조회 126 추천 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 - -
7019917 1회차 이태동도 강준치한테는 상대가 안되긴함 [11] D4C서부갤로그로 이동합니다. 24.12.31 70 0
7019915 알파겔 이새끼 장난치냐? 사진 보자마자 쌍욕이 육성으로 나오네 [8] 삽치갤로그로 이동합니다. 24.12.31 67 0
7019914 와 치카치카리오 젖탱이.gif [4] 무명소졸,갤로그로 이동합니다. 24.12.31 60 0
7019913 근데 도적이라는 이름부터가 뭔가 이상함 [5] alembic갤로그로 이동합니다. 24.12.31 46 0
7019912 밀리시타 이거 세라미즈기로 해도 이 감성 사나. 유로지바갤로그로 이동합니다. 24.12.31 15 0
7019911 주인공이 몬스터인 야설 중에 그런 건 좀 별로더라 [3] ㅇㅇ갤로그로 이동합니다. 24.12.31 29 0
7019910 사실은 모두 나데나데하지만 본인이 쓸모없다 생각하는 칠사오갤로그로 이동합니다. 24.12.31 20 0
7019909 그래 사실 무기는 의미없긴하지 [1] 봄타이니갤로그로 이동합니다. 24.12.31 34 0
7019908 1회차 이태동이랑 강준치 중 누가 더 쎄지 [10] 소일렌트그린갤로그로 이동합니다. 24.12.31 59 0
7019907 훌쩍훌쩍 가난한 판붕이...저녁... [7] 인포그램갤로그로 이동합니다. 24.12.31 48 0
7019906 쌀숭이 용사파티설정 재밌을거같지않냐 [2] 쀼장갤로그로 이동합니다. 24.12.31 24 0
7019905 자존감이 바닥을 기는 용사파티 도적 보고싶네 [6] 칠사오갤로그로 이동합니다. 24.12.31 52 0
7019904 근데 내가 함정해제하고 보물상자 여는 기술직인데 도적이라 부르면 삽치갤로그로 이동합니다. 24.12.31 27 0
7019903 클라인병 만들기 ‘파타피갤로그로 이동합니다. 24.12.31 43 0
7019902 오겜은 이 짤이 존내 웃김 [5] 위지갤로그로 이동합니다. 24.12.31 71 0
7019901 와 걍 벽 타고 들어가겠다고? [1] 봄타이니갤로그로 이동합니다. 24.12.31 42 0
7019900 오 발할라짤 [3] 이루아갤로그로 이동합니다. 24.12.31 33 0
7019899 키레 애는 근데 능력이 머임 [4] 봄타이니갤로그로 이동합니다. 24.12.31 71 0
7019898 사실 저는 위계에 의한 어쩌고 그다지 안 좋아함 [6] ㅇㅇ,(121.161) 24.12.31 58 0
7019897 암튼 오늘도 두루치기 끝 [2] 갤로그로 이동합니다. 24.12.31 18 0
7019895 어 젯 밤 에 우 리 아 빠 가 [3] 재일교4갤로그로 이동합니다. 24.12.31 43 0
7019894 사악한 용사파티는 어떰 소일렌트그린갤로그로 이동합니다. 24.12.31 22 0
7019893 그래서 도적도 몬스터 서칭, 함정 해제, 보물박스 열기 하잖아 [5] 삽치갤로그로 이동합니다. 24.12.31 40 0
7019892 시간이 지나버렷군..... gozaus갤로그로 이동합니다. 24.12.31 14 0
7019891 하아 근데 여기 올때 반바지 3개 가져왔는데 벌써 2개 짲어먹음 [5] 갤로그로 이동합니다. 24.12.31 30 0
7019890 시로는 처음 와보는 건가 [1] 봄타이니갤로그로 이동합니다. 24.12.31 32 0
7019889 시발 이거 누가 번역한거냐 [1] 갤로그로 이동합니다. 24.12.31 51 0
7019888 1회차 태동이는 검미성 캐릭 중에서도 존나 순위권일거 같은데 [3] ㅇㅇ갤로그로 이동합니다. 24.12.31 50 0
7019887 짤개웃기네 ㅋㅋㅋㅋ [1] 어사일럼갤로그로 이동합니다. 24.12.31 53 0
7019886 츠키 겁나떠네 ㅋㅋㅋㅋ 이루아갤로그로 이동합니다. 24.12.31 32 0
7019885 아니 어쌔신이랑 2대1이 아니라고? [2] 봄타이니갤로그로 이동합니다. 24.12.31 45 0
7019884 용사파티란거 암살 참수부대자너 [2] 소일렌트그린갤로그로 이동합니다. 24.12.31 35 0
7019883 홍백에서 나오는 츠키? 이사람 요즘 일본에서 유명한가 ㅇㅇ(175.212) 24.12.31 25 0
7019882 어디서부터 잘못된걸까... [4] ‘파타피갤로그로 이동합니다. 24.12.31 63 0
7019881 암만 생각해도 던젼탐사에 브리칭 전문으로 하는 파티원 있는 게 맞을듯 [5] 뭬뤠갤로그로 이동합니다. 24.12.31 38 0
7019880 진짜 영포티의 천박함은 ㄹㅇ 농도가 다르네 [2] 솣쟝갤로그로 이동합니다. 24.12.31 54 0
7019879 그런데 ㄹㅇ오겜2 보는데 주최측 [4] 홈즈,갤로그로 이동합니다. 24.12.31 46 0
7019878 신주쿠가서 라멘에 맥주먹고오기vs그냥자기 [6] 재일교4갤로그로 이동합니다. 24.12.31 37 0
7019877 김경호 최신 영상 유튜브에 뜨길래 봤는데 목 완전히 맛탱이 갔네. 갤로그로 이동합니다. 24.12.31 23 0
7019876 홍백 만찬가입갤ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 망아지갤로그로 이동합니다. 24.12.31 23 0
7019874 애들아 스팀 디엘시 구독 이거 환불 가능한가 [8] 모하비배달부갤로그로 이동합니다. 24.12.31 46 0
7019872 이거 상호때문에 웃기네 [2] 재일교4갤로그로 이동합니다. 24.12.31 42 0
7019871 용사파티에 도적 잇어야되는이유 [3] gozaus갤로그로 이동합니다. 24.12.31 49 0
7019870 싫어 쓰름살이 되고 싶지 않아 [14] 엉엉갤로그로 이동합니다. 24.12.31 57 0
7019869 어 이건 세면대유동자짤의 [3] 퓌캬륀갤로그로 이동합니다. 24.12.31 46 1
7019868 라면 2개 -> 3개 차이가 생각보다 엄청나구나 ㅇㅇ(211.234) 24.12.31 17 0
7019867 설마 사다리 또 안타나 [2] 걱정갤로그로 이동합니다. 24.12.31 30 0
7019866 사다리글올리고 작업하고있는데 키워드알림 울려서 뭔가했네 [2] 고햐쿠엔[수험생]갤로그로 이동합니다. 24.12.31 44 0
7019865 레헤가 좋아할껄 확신함 [1] 지평선,갤로그로 이동합니다. 24.12.31 14 0
7019864 저녁 먹고 집 왔다 봄타이니갤로그로 이동합니다. 24.12.31 15 0
뉴스 임영웅, 제주항공 참사 추모…콘서트는 예정대로 “무거운 마음으로 준비, 위로 되길” [전문] 디시트렌드 14:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2