디시인사이드 갤러리

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

갤러리 본문 영역

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

썬컷0.6갤로그로 이동합니다. 2024.12.28 20:46:12
조회 118 추천 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 - -
7013753 판갤<수상할정도로 유명함 [1] 재일교4갤로그로 이동합니다. 12.30 36 0
7013752 솔직히 웹소도 거의 안보니까 장갤떡밥 나올때마다 딱 이느낌임 [1] 창미갤로그로 이동합니다. 12.30 23 0
7013751 장아원얘기 그만하죠 ㅇㅇ(218.146) 12.30 14 0
7013750 섹스하러 출발 ㅋㅋㅋㅋ [11] 재일교4갤로그로 이동합니다. 12.30 55 0
7013749 근데 갑자기 왜 장갤떡밥임 [3] 그림먼저본다갤로그로 이동합니다. 12.30 39 0
7013748 장갤은 페미매달기 한 이후로 뭔가 선민의식 비슷한게 생겨서 [16] 레헤갤로그로 이동합니다. 12.30 89 0
7013746 장갤러는 타갤가서도 판갤 욕하더라 [8] ㅎ^갤로그로 이동합니다. 12.30 83 0
7013745 장갤이야기하지말고 내글이나 보라고 [2] 천덕영갤로그로 이동합니다. 12.30 28 0
7013744 편의점에선 맨날 구스 세션이파만 먹었던거같다 썬컷0.6갤로그로 이동합니다. 12.30 12 0
7013743 소전2 환상회랑 클전 귀찮은 사람은 봐 [2] 라만차의기사갤로그로 이동합니다. 12.30 40 0
7013742 자븝미가 언젠가 올까요 [1] 엘켐갤로그로 이동합니다. 12.30 22 0
7013740 작년엔 신비 50%이상할인 3번이나했었네… [3] 어사일럼갤로그로 이동합니다. 12.30 26 0
7013739 좀 더러운 얘긴데 나 브라질리언 악싱 못하겠더라 모하비배달부갤로그로 이동합니다. 12.30 38 0
7013738 장갤 라노벨 탄압하는게 걍 존나 웃김 [2] 골방철학자갤로그로 이동합니다. 12.30 62 0
7013737 프리렌 오프닝도 이스이가 했으면 좋았을 것 같은데 그림먼저본다갤로그로 이동합니다. 12.30 12 0
7013736 아니 여기저기서 둔덕이라고 하니까 이상하네 [4] 초보팡갤러갤로그로 이동합니다. 12.30 58 0
7013735 혼코노왔는데 신청고구불러두려용 인포그램갤로그로 이동합니다. 12.30 11 0
7013734 스포)A헌살 정부 <- 걍 유능한데? [10] 루시아거짓요양원갤로그로 이동합니다. 12.30 49 0
7013733 근데 난 장갤 이제 안 가게 된 이유가 있음... [5] 크리스피갤로그로 이동합니다. 12.30 59 0
7013732 당시에 작가되면 장갤 졸업시켜주는게 유행이었지 [2] 김누렁갤로그로 이동합니다. 12.30 34 0
7013731 나도 판갤출신이라 괜히 욕먹은 건가 [16] 개돌청년갤로그로 이동합니다. 12.30 96 0
7013730 아니 머 이딴 오나홀이 다있냐 [4] 올고빔.갤로그로 이동합니다. 12.30 41 0
7013729 이런 타락구도 개맛있군 디클군갤로그로 이동합니다. 12.30 20 0
7013728 갤번이 뭔데 [1] 봄타이니갤로그로 이동합니다. 12.30 20 0
7013727 난 무갤출신인데 장갤에서 판갤러라고 욕먹었음 [5] 인포그램갤로그로 이동합니다. 12.30 47 0
7013726 길가메시는 마력필요없음? [4] 하치.갤로그로 이동합니다. 12.30 32 0
7013725 지금 쓰는 글이 살면서 써본 글 중에 제일 긴 글이군 칠사오갤로그로 이동합니다. 12.30 16 0
7013724 내가 장갤 제일 어이없던게 파타피 판갤작가라고 차단했을때였음 [3] 나는ㅇㅇ갤로그로 이동합니다. 12.30 79 0
7013723 ㄴ 보지털이굵은게고민인미소녀 ㅇㅇ(218.144) 12.30 8 0
7013722 어떻게 사람이 하루종일 농.. 쭉.. [2] 투하갤로그로 이동합니다. 12.30 21 0
7013721 islet 노래가 정말 씹덕맛이 좋은데 [5] 그림먼저본다갤로그로 이동합니다. 12.30 25 0
7013720 벽쾅입갤ㅋㅋㅋㅋㅋㅋㅋㅋ 민지갤로그로 이동합니다. 12.30 21 0
7013719 장갤 욕할거면 내 글이나 보라고 [1] ‘파타피갤로그로 이동합니다. 12.30 50 0
7013718 반룡 쭈와아아압 [2] α센타우리갤로그로 이동합니다. 12.30 20 0
7013717 스타벅스 커피 받아왓어 [6] 푸슈갤로그로 이동합니다. 12.30 46 0
7013715 형사취수제라는거 꼴리네 [1] 미야악갤로그로 이동합니다. 12.30 17 0
7013714 유ㅇㅇㅇ은 상냥해. 항상 좋은말먄 해. [10] 유로지바갤로그로 이동합니다. 12.30 56 0
7013713 살인자의 인터뷰를 보는 기분이구나 [2] ㅈㅅㅋㅇ갤로그로 이동합니다. 12.30 34 0
7013711 아 맞아 쥐뿔이나 망겜성 본다고 티내면 판선족 취급했었음 ㅋㅋㅋ [10] 모하비배달부갤로그로 이동합니다. 12.30 86 0
7013710 아니 서부가 아니었나...내가 잡혀들어갈 때가 망향무사 크리스피갤로그로 이동합니다. 12.30 29 0
7013709 장갤←소알못인데 인성도 더러운 최악의 쓰레기들임 [4] 골방철학자갤로그로 이동합니다. 12.30 67 0
7013708 난 장,갤 존중함 [2] 불건전유니갤로그로 이동합니다. 12.30 41 0
7013707 이새끼 머임???? [2] 지평선,갤로그로 이동합니다. 12.30 43 0
7013706 섹스트랄 개오랜만이네 칠사오갤로그로 이동합니다. 12.30 21 0
7013705 저녁머먹지... [1] [범골]마력석갤로그로 이동합니다. 12.30 14 0
7013704 장갤은 거기서 망겜성 얘기하던 판갤 고닉들을 판갤출신이라고 추방하잖아 [2] 나는ㅇㅇ갤로그로 이동합니다. 12.30 66 0
7013703 웃긴건 판갤에 글을 두세개 써도 차단 먹인다는거였음 [7] 모하비배달부갤로그로 이동합니다. 12.30 60 0
7013702 노피아갤된뒤로는 장갤 거의안간듯 [16] 어사일럼갤로그로 이동합니다. 12.30 110 0
7013701 폰에잇던 짤 마구 처형중임 미야악갤로그로 이동합니다. 12.30 11 0
7013700 제로 알콜 언제 나오냐고 ㅇㅇㅇ(223.38) 12.30 15 0
뉴스 ‘오징어게임2’ 이정재 회당 13억·탑 회당 3억…출연료 화제, 연기력 극과 극 반응 디시트렌드 12.30
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2