디시인사이드 갤러리

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

갤러리 본문 영역

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

썬컷0.6갤로그로 이동합니다. 2024.12.28 20:46:12
조회 119 추천 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 - -
7013414 알바가 미쳤는지 그냥 지워버리네 라만차의기사갤로그로 이동합니다. 12.30 15 0
7013413 사이즈 안맞는 옷 입은 여자아이란거 왜케좋지 [1] 투하갤로그로 이동합니다. 12.30 28 0
7013411 대체 왜 떡밥이 힘들었겠다에서 ㅇㅇ죽이자가 되는건데 나는ㅇㅇ갤로그로 이동합니다. 12.30 26 0
7013409 하아 뭐야 이 틀딱들은 ㅋ,,,, 돌아온빵집파락호갤로그로 이동합니다. 12.30 12 0
7013408 빅맥에 코카콜라 먹을게 [6] 프로갓수갤로그로 이동합니다. 12.30 46 0
7013407 복도식 아파트의 추억 황천볶음밥갤로그로 이동합니다. 12.30 22 0
7013406 저지능 ㄹㅇ 자기비하 맨날 하는거 자체가 [7] 루잭갤로그로 이동합니다. 12.30 70 0
7013405 ai라투디짤 볼때마다 신기하네 [3] 어사일럼갤로그로 이동합니다. 12.30 40 0
7013402 판갤은 근데 잘벌거나 잘사는 사람뿐임 [5] ㅇㅇ(61.78) 12.30 39 0
7013401 데스크탑 바닥에 그냥 전공서로 받쳐놓고있는데 뭔가 그렇네. [1] 수구사응와갤로그로 이동합니다. 12.30 23 0
7013399 자르반은 진짜 e쓰면 q 초기화되게 해줘야 [1] 활활비연갤로그로 이동합니다. 12.30 31 0
7013398 소문으로만듣던거실제로보니신기하네 [2] 재일교4갤로그로 이동합니다. 12.30 40 0
7013397 고연봉자가 일케많은데 누가 못살겠다는거임 [7] 미드と애니の노래갤로그로 이동합니다. 12.30 36 1
7013396 판갤러가 절대 알아서는 안 되는 금단의 지식.jpg [4] 그냥-갤로그로 이동합니다. 12.30 80 0
7013393 나도 소꿉친구랑 같이놀았던때가그리움 시구르드갤로그로 이동합니다. 12.30 21 0
7013392 눈마새 2~3권 사이의 수탐자 생활 좀 많이 궁금함 시온마츠리갤로그로 이동합니다. 12.30 18 0
7013390 회식가고싶다 [4] 푸슈갤로그로 이동합니다. 12.30 39 0
7013388 퓌토그래프~ 사랑스런 기억의 조각들 망아지갤로그로 이동합니다. 12.30 16 0
7013387 저지능 무서운게 그 연봉으로 약코한다는거임.... [6] 삽치갤로그로 이동합니다. 12.30 83 0
7013386 순간 누가 저지능이고 누가 민서인지 헷갈림 [6] 현룡갤로그로 이동합니다. 12.30 54 0
7013384 매달이기놀이 주공아로나<2층에서 하는게중요함 [7] 재일교4갤로그로 이동합니다. 12.30 59 0
7013382 생각보다 모르는구나 [4] 썬컷0.6갤로그로 이동합니다. 12.30 55 0
7013381 저지능어쩌구떡밥에 이 노래나듣고가라 [2] 레헤갤로그로 이동합니다. 12.30 20 0
7013379 나도복도식아로나상상끝남 [4] 현룡갤로그로 이동합니다. 12.30 44 0
7013376 급여 따박따박 비교하고 좋은데 가는거 얼마 안된 트렌드임 [1] 미드と애니の노래갤로그로 이동합니다. 12.30 24 1
7013374 나 길반룡인데 시간이 너무 빨리간다 ㅇㅇ(61.78) 12.30 23 0
7013373 나무위키진짜 얼탱이업네 [2] 네로마신사랑개까마귀갤로그로 이동합니다. 12.30 34 0
7013372 전에 봤던 천재서포터 소설 또 참신한 전개 나왔네 [10] 세오울갤로그로 이동합니다. 12.30 75 0
7013371 족도식 아파트의 추억 [1] 황천볶음밥갤로그로 이동합니다. 12.30 29 0
7013370 대기업 초봉이 5천인가? [1] 콜드오렌지갤로그로 이동합니다. 12.30 25 0
7013368 잘해주니까 친한줄 알고 맞먹으려드네 [1] 재일교4갤로그로 이동합니다. 12.30 41 0
7013367 무안공항 사고 진짜 마니 죽엇구나 에ㄷ갤로그로 이동합니다. 12.30 42 0
7013366 근데 약속의10년 진짠가 [8] 빵케이크갤로그로 이동합니다. 12.30 65 0
7013365 이거만큼 던젼시커 뽕 채워주는 노래가 없더라 뭬뤠갤로그로 이동합니다. 12.30 19 0
7013364 여자친구가 티웨이 취업했는데 원래 이렇게 급여가 적나요? 판갤러(211.203) 12.30 20 0
7013362 근데 아로나면 주공이든 빌라든 노숙이든 다 좋음 [2] 그냥-갤로그로 이동합니다. 12.30 38 0
7013361 저지능연봉인증함 [1] 김히로히로히로갤로그로 이동합니다. 12.30 42 0
7013359 시달소 오늘은 뜬다vs내일12시다 나는ㅇㅇ갤로그로 이동합니다. 12.30 12 0
7013358 뱅퀴어를 보며 식인 로리의 캐릭터성에 대해 생각중 [2] 시온마츠리갤로그로 이동합니다. 12.30 29 0
7013357 붕스팸 이것좀 보고가셈.. [4] ㅎㅅㅇ갤로그로 이동합니다. 12.30 28 0
7013356 매달리기하다가 떨어지는 아로나 잡아주는상상함 [7] 어사일럼갤로그로 이동합니다. 12.30 58 0
7013355 근데 복도식 아파트에 살았을 땐 ㄹㅇ 체감 안 됐는데 현룡갤로그로 이동합니다. 12.30 33 0
7013354 점심도못먹고일해서울었어. 갤로그로 이동합니다. 12.30 10 0
7013352 저지능연봉인증<<본사람잇냐?ㅇㅇ [5] 시구르드갤로그로 이동합니다. 12.30 69 0
7013351 나 이런 미소녀로 ts회귀해서 동네 아이돌될래 ㅇㅇ(218.144) 12.30 15 0
7013350 이시간에 밖에 돌아다니니까 ㄹㅇ 여자랑 노인뿐이노 [2] 빵케이크갤로그로 이동합니다. 12.30 26 0
7013349 저지능<-서울 아닌 지방에 사는 대신에 고연봉 받기를 선택한 한남 [4] 삽치갤로그로 이동합니다. 12.30 51 0
7013348 복도식 아파트의 추억2 [2] 수구사응와갤로그로 이동합니다. 12.30 46 0
7013347 글 연달아서 2개쓸때 신경쓰이는 점 ㅇㅇ갤로그로 이동합니다. 12.30 13 0
7013346 저도 가출하기 전까지 평생을 복도식아파트에서살앗음. [4] 저지능갤로그로 이동합니다. 12.30 61 0
뉴스 '오징어게임2', 넷플릭스 보는 모든 나라 이틀 연속 1위 디시트렌드 12.30
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2