디시인사이드 갤러리

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

갤러리 본문 영역

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

썬컷0.6갤로그로 이동합니다. 2024.12.28 20:46:12
조회 124 추천 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 - -
7019610 새해에는무슨극장애니를봐야하지 [4] 안분지족갤로그로 이동합니다. 24.12.31 59 0
7019609 연말에 혼자인 사람 [6] 비류쑈갤로그로 이동합니다. 24.12.31 44 0
7019607 나라 망했는데 어쩌지 ← 지루하고 현학적임 [3] TS망상갤로그로 이동합니다. 24.12.31 61 0
7019606 아, 미국 주식 사려했는데 족발튀김 먹다 놓쳤다 [3] ㅇㅇ,(121.161) 24.12.31 58 0
7019605 올해 념글 어워드 할까 2월까지 훑었는데 [1] 삽치갤로그로 이동합니다. 24.12.31 42 2
7019604 시로 이 미친 복에 겨운새끼 [2] 코코아볼갤로그로 이동합니다. 24.12.31 40 0
7019603 전남경찰청 사이브 수사대에 접수 완료 ㄷ [1] 재일교4갤로그로 이동합니다. 24.12.31 46 0
7019602 조국 이새끼 SNS ㅈㄴ 마렵겟노 ㅋㅋㅋ 엘레베스갤로그로 이동합니다. 24.12.31 47 0
7019601 ㄹㅇ 메이사 초반 묘사 때문에 자꾸 뇌내에서 이 와꾸로 그려짐... [2] 뭬뤠갤로그로 이동합니다. 24.12.31 46 0
7019599 전남경찰청 사이버수사대에 접수완료 ㅇㅇ(223.39) 24.12.31 39 0
7019598 축하해 아카자키 [2] 안분지족갤로그로 이동합니다. 24.12.31 48 0
7019595 메이사 미친 너무 좋아 ㅇㅇ갤로그로 이동합니다. 24.12.31 25 0
7019593 그러고보니 동생은 따로 부르는 호칭이 없나 [7] 투하갤로그로 이동합니다. 24.12.31 60 0
7019592 얘들아 모두가 좋아하는 중국 군벌 대역이란 무엇일까 [2] ㅇㅇ,(121.161) 24.12.31 35 0
7019590 skt 이새끼들은 이제 4년차인데 뭐 안주나 ㅋ.... [1] 모하비배달부갤로그로 이동합니다. 24.12.31 33 0
7019589 하아 [2] ‘파타피갤로그로 이동합니다. 24.12.31 37 0
7019588 짱구 극장판 봤다 [4] (모리어티)갤로그로 이동합니다. 24.12.31 22 0
7019587 오 셀레스트 팬애니인가 [1] 뭬뤠갤로그로 이동합니다. 24.12.31 38 0
7019586 너희 MZ 이기영쓰들은 아주 기냥 EVERY데이 ANGRY데이 구나 [2] 갤로그로 이동합니다. 24.12.31 48 0
7019585 아오키지, 새해야. [1] 당빠갤로그로 이동합니다. 24.12.31 53 0
7019584 숙소 시부야 이케부쿠로 신주쿠였으면 나가서 술집에서 밤새고 들어오는데 재일교4갤로그로 이동합니다. 24.12.31 22 0
7019583 연말에 꼭 봐야 하는 짤.jpg ㅋㅁㄱ갤로그로 이동합니다. 24.12.31 37 0
7019582 ㅗㅜㅑ 이거 진짜 빨고싶네 ㄷㄷㄷ [5] 네픽.갤로그로 이동합니다. 24.12.31 82 0
7019581 센류소녀 같은 럽코 더 업나 망아지갤로그로 이동합니다. 24.12.31 17 0
7019580 아니 시로 너무 과대망상하는거같은데??? [1] 코코아볼갤로그로 이동합니다. 24.12.31 28 0
7019579 개졸리네 증말 [4] 망아지갤로그로 이동합니다. 24.12.31 29 0
7019577 무안공항 사고 보고 갑자기 히집악 생각나네 [5] alembic갤로그로 이동합니다. 24.12.31 61 0
7019576 코스프레짤 [5] 홈즈,갤로그로 이동합니다. 24.12.31 73 0
7019575 아오 도대체어떤오빠가 여동생을 이렇게부르는데 ㅋㅋㅋ [7] 민지갤로그로 이동합니다. 24.12.31 92 0
7019574 자랑) 저녁으로 햄버거시킴 [2] 네픽.갤로그로 이동합니다. 24.12.31 26 0
7019573 근데 미소녀ts활협전이 더나은거아님? [2] seeu갤로그로 이동합니다. 24.12.31 26 0
7019571 아니 판갤 글이 안열린다고 공앱아 [7] ㅇㅇ(133.200) 24.12.31 52 0
7019570 솔직히 윤석열 정도면 재판에서 심신미약 주장 가능할 듯 [4] TS망상갤로그로 이동합니다. 24.12.31 63 0
7019569 타키온... [2] 사이쓰갤로그로 이동합니다. 24.12.31 21 0
7019568 저녁자 비각카세 [6] 당빠갤로그로 이동합니다. 24.12.31 40 0
7019567 요즘 배가고파도 밥이 안들어가네 [5] 보물로이드갤로그로 이동합니다. 24.12.31 24 0
7019566 홈즈몰래 킁킁하세요 [3] 김해린갤로그로 이동합니다. 24.12.31 39 1
7019565 히로이 신축성 실험 참기 lv50.jpg [3] 뭬뤠갤로그로 이동합니다. 24.12.31 108 0
7019564 솔직히 사회생활하다보면 서울 출신이 가장 괜찮았음 [4] ㅇㅇ(218.146) 24.12.31 52 0
7019563 조선일보 고령자겨통사고기사댓글 진짜 개웃기내 [5] 재일교4갤로그로 이동합니다. 24.12.31 63 0
7019562 모든 것이 통제 가능한 상황 << 이거 퍼거들이 환장하는건가? [2] 투하갤로그로 이동합니다. 24.12.31 44 0
7019560 오늘 대청소를 했어..... [9] ㅋㅁㄱ갤로그로 이동합니다. 24.12.31 26 0
7019559 키쿄우~~~~~ [4] 뭬뤠갤로그로 이동합니다. 24.12.31 30 0
7019558 새해는 그냥 아무생각도 안나길 [1] ‘파타피갤로그로 이동합니다. 24.12.31 27 0
7019557 엑칼뽑 오늘치 삽화(많다) 보고가라 [6] 나리아갤로그로 이동합니다. 24.12.31 84 0
7019556 오늘도 채찍피티 일본어 언어유희로 괴롭혔는데. 신통찮네... [1] 재미교쓰리갤로그로 이동합니다. 24.12.31 28 0
7019555 카라카라 라이브 버전 왤케 좋지.... [1] 저지능갤로그로 이동합니다. 24.12.31 21 0
7019553 운석열이 어느 정도인지 궁금한 알렘빅만 봐 [1] ㅇㅇ갤로그로 이동합니다. 24.12.31 32 0
7019552 웹소설 보는데 대구 고증 레전드네 [5] 치이충갤로그로 이동합니다. 24.12.31 57 0
7019551 ? [8] 안분지족갤로그로 이동합니다. 24.12.31 68 1
뉴스 더빙의 대가, 유준호를 아시나요 [김지혜의 ★튜브] 디시트렌드 12.31
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2