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

포토 레지스터와 LED 조명을 사용한 주변광 센서!

구성품 및 소모품

Arduino UNO
아날로그 핀, 최소 2개의 디지털 핀 및 최소 3개의 접지가 있는 모든 보드가 작동합니다.
× 1
포토 저항기
× 1
LED(일반)
두 가지 색상.
× 2
저항 1k 옴
× 1
저항 100옴
220옴 저항을 사용했지만 100옴이 더 잘 작동할 것이라고 생각합니다.
× 2
점퍼 와이어(일반)
× 1
브레드보드(일반)
× 1

앱 및 온라인 서비스

Arduino IDE
Arduino 웹 편집기

이 프로젝트 정보

나는 지금 잠시 Arduino를 사용해 왔으며 처음부터 내 자신의 프로젝트를 디자인할 때가 아니라고 결정했습니다. Alex Glow와 Joe Coburn이 이 프로젝트에 더 적합하도록 온라인에서 찾은 일부 회로를 수정했습니다. 문제를 찾거나 내 디자인보다 더 잘 작동하는 것을 발견한 경우 아래에 댓글을 달아주시면 답변해 드리겠습니다.

배선

아날로그 핀 0(아날로그 핀은 모두 작동함)과 브레드보드의 오른쪽에 5V에 연결된 포토 저항이 있습니다. 접지된 1K 옴 저항을 통해 실행됩니다. 저는 브레드보드 반대편에 있는 LED(모든 색상)를 디지털 핀 13(모든 디지털 핀이 작동함)과 접지된 220옴 저항(100옴도 작동함)에 연결했습니다. 첫 번째 LED의 약간 오른쪽에 다른 디지털 핀만 있는 다른 색상의 LED가 동일한 방식으로 배선되었습니다.

작동 원리

포토 레지스터가 450 이상의 값을 읽으면 "아주 가볍습니다!"라고 인쇄합니다. 다음과 같이 직렬 모니터의 모든 LED를 끕니다.

 if(light> 450) { // 밝으면... Serial.println("꽤 밝습니다!"); 디지털 쓰기(13,LOW); //왼쪽 LED를 끕니다. digitalWrite(12,LOW); // 오른쪽 LED 끄기 }  

230에서 450 사이의 값을 읽으면 "It is a average light!"가 인쇄됩니다. 다음과 같이 직렬 모니터에서 왼쪽 LED를 켭니다.

 else if(light> 229 &&light <451) { // 평균 밝기라면... Serial.println("평균 밝기입니다!"); 디지털 쓰기(13, 높음); // digitalWrite(12,LOW)에서 왼쪽 LED를 켭니다. // 오른쪽 LED 끄기 }  

이렇게 하면 230 미만의 값만 설명할 수 있습니다. 값이 230 미만이면 "매우 어둡습니다!"가 인쇄됩니다. 직렬 모니터에서 다음과 같이 두 LED를 모두 켭니다.

 else { // 어두우면... Serial.println("어두워요!"); 디지털 쓰기(13, 높음); // digitalWrite(12,HIGH)의 왼쪽 LED 켜기; // 오른쪽 LED 켜기 }  

다음과 같이 직렬 모니터에 정보가 과부하되는 것을 방지하기 위해 루프 끝에 1000의 지연을 추가했습니다.

<사전><코드>지연(1000); // 컴퓨터를 스팸하지 마세요!

업로드하거나 실행하기 전에 회로도를 보고 코드를 확인하십시오.

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • LED_PR_Light_Read
  • LED_PR_Light_ReadArduino
    <사전>int 조명 =0; // 현재 조명 값을 저장합니다. valuevoid setup() { // 여기에 설정 코드를 넣어 한 번 실행합니다. Serial.begin(9600); //컴퓨터와 통신하도록 직렬 구성 pinMode(13, OUTPUT); // 디지털 핀 13을 출력으로 설정합니다. pinMode(12, OUTPUT); // 디지털 핀 12를 출력으로 구성합니다.}void loop() { // 여기에 기본 코드를 넣어 반복적으로 실행합니다. light =analogRead(A0); // PR에서 값을 읽고 저장합니다. Serial.println(light); // 현재 조명 값 출력 if(light> 450) { // 밝으면... Serial.println("아주 밝습니다!"); 디지털 쓰기(13,LOW); //왼쪽 LED를 끕니다. digitalWrite(12,LOW); // 오른쪽 LED 끄기 } else if(light> 229 &&light <451) { // 평균 밝기라면... Serial.println("평균 밝기입니다!"); 디지털 쓰기(13, 높음); // digitalWrite(12,LOW)에서 왼쪽 LED를 켭니다. // 오른쪽 LED 끄기 } else { // 어두우면... Serial.println("어두워요!"); 디지털 쓰기(13, 높음); // digitalWrite(12,HIGH)의 왼쪽 LED 켜기; // 오른쪽 LED 켜기 } delay(1000); // 컴퓨터를 스팸하지 마세요!}

    회로도


    제조공정

    1. 컬러 센서 – 작업 및 응용
    2. OPT3007 초박형 주변광 센서
    3. 주변광 센서 작동 및 응용
    4. 광학 센서 기본 및 응용
    5. Python 및 Raspberry Pi 온도 센서
    6. Raspberry Pi를 사용한 모션 센서
    7. Raspberry Pi 온도 및 광 센서
    8. Raspberry Pi 및 Twilio를 사용한 음성 및 SMS 지원 광 센서
    9. IOT - ESP8266, Arduino 및 초음파 센서를 사용하는 스마트 항아리
    10. 자동차 대시보드 조명 및 표시기 이해