산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

포토레지스터와 LED로 만드는 주변광 센서: 단계별 가이드

부품 및 소모품

부품수량비고
아두이노 UNO1아날로그 핀 1개, 디지털 핀 2개, 그라운드 3개 이상 있는 보드면 어떤 것이든 가능
포토레지스터 (CdS)1
LED (범용)2서로 다른 색상 2개
저항 1kΩ1포토레지스터 풀다운용
저항 100Ω2220Ω 사용했으나 100Ω이 더 적합할 수 있음
점퍼 와이어1세트
브레드보드1

앱 및 온라인 서비스

프로젝트 소개

아두이노를 사용한 지 좀 됐는데, 이제부터는 처음부터 내 프로젝트를 직접 설계해 보기로 했습니다. 알렉스 글로우와 조 코번의 온라인 회로를 참고해 이 프로젝트에 맞게 수정했습니다. 문제점이나 더 나은 설계 아이디어가 있으면 댓글로 알려주세요.

배선

포토레지스터를 아날로그 핀 0번(어떤 아날로그 핀이든 가능)에 연결하고 브레드보드 오른쪽의 5V에 연결했습니다. 접지된 1kΩ 저항을 통과시킵니다. 브레드보드 반대편에 LED(아무 색상)를 디지털 핀 13번(어떤 디지털 핀이든 가능)과 접지된 220Ω 저항(100Ω도 가능)으로 연결했습니다. 첫 번째 LED 오른쪽에 다른 색상 LED를 같은 방식으로 연결하되 다른 디지털 핀을 사용하세요.

작동 원리

포토레지스터 값이 450 초과면 "It is quite light!"를 시리얼 모니터에 출력하고 모든 LED를 끕니다:

if (light > 450) { // 밝을 때...
  Serial.println("It is quite light!");
  digitalWrite(13, LOW); // 왼쪽 LED 끄기
  digitalWrite(12, LOW); // 오른쪽 LED 끄기
}

230~450 사이면 "It is average light!"를 출력하고 왼쪽 LED만 켭니다:

else if (light > 229 && light < 451) { // 보통 밝기...
  Serial.println("It is average light!");
  digitalWrite(13, HIGH); // 왼쪽 LED 켜기
  digitalWrite(12, LOW);  // 오른쪽 LED 끄기
}

230 미만이면 "It is pretty dark!"를 출력하고 두 LED 모두 켭니다:

else { // 어두울 때...
  Serial.println("It is pretty dark!");
  digitalWrite(13, HIGH); // 왼쪽 LED 켜기
  digitalWrite(12, HIGH); // 오른쪽 LED 켜기
}

시리얼 모니터 과부하 방지를 위해 루프 끝에 1000ms 딜레이를 추가했습니다:

delay(1000); // 컴퓨터 스팸 방지!

업로드나 실행 전 회로도와 코드를 꼭 확인하세요.

코드

LED_PR_Light_Read (Arduino)
int light = 0; // 현재 빛 값 저장

void setup() {
  Serial.begin(9600); // 시리얼 통신 시작
  pinMode(13, OUTPUT); // 디지털 핀 13을 출력으로 설정
  pinMode(12, OUTPUT); // 디지털 핀 12을 출력으로 설정
}

void loop() {
  light = analogRead(A0); // 포토레지스터 값 읽기
  Serial.println(light);  // 현재 빛 값 출력
  
  if (light > 450) { // 밝을 때...
    Serial.println("It is quite light!");
    digitalWrite(13, LOW); // 왼쪽 LED 끄기
    digitalWrite(12, LOW); // 오른쪽 LED 끄기
  } else if (light > 229 && light < 451) { // 보통 밝기...
    Serial.println("It is average light!");
    digitalWrite(13, HIGH); // 왼쪽 LED 켜기
    digitalWrite(12, LOW);  // 오른쪽 LED 끄기
  } else { // 어두울 때...
    Serial.println("It is pretty dark!");
    digitalWrite(13, HIGH); // 왼쪽 LED 켜기
    digitalWrite(12, HIGH); // 오른쪽 LED 켜기
  }
  delay(1000); // 컴퓨터 스팸 방지!
}

회로도

포토레지스터와 LED로 만드는 주변광 센서: 단계별 가이드

제조공정

  1. 컬러 센서: 작동 원리 및 주요 응용
  2. OPT3007 초박형 조도 센서 - 스마트 기기용 정밀 광량 측정
  3. 조도(Ambient Light) 센서: 기능, 설계 및 주요 응용
  4. 광학 센서: 기초, 종류 및 실용적 응용
  5. 라즈베리 파이와 파이썬으로 원격 온도 센서 만들기 – 단계별 가이드
  6. 라즈베리 파이에서 PIR 모션 센서로 LED 제어하기
  7. 라즈베리 파이 & DS18B20으로 다중 센서 온도 & 조도 모니터링 시스템 구축
  8. Twilio를 이용한 라즈베리 파이 기반 화장실 점유 센서: 음성 및 SMS 알림
  9. 스마트 IoT 자 제작: ESP8266, 아두이노 & 초음파 센서로 실시간 모니터링
  10. 자동차 계기판 경고등 완벽 가이드: 의미와 대처법