본문 바로가기

개발자/Arduino

조도 빛 센서 TMD27723 센서 - ambient light sensing (ALS)




조도센서 TMD277 패밀리중에서 TMD27723 센서로 테스트 한다. Ambient Light Sensor 주변 밝기 센서의 데이터 쉬트는 아래 링크를 참고한다.


http://navody.arduino-shop.cz/docs/texty/0/234/tmd2771_ds000177_2_00.pdf


아래는 특성 스팩을 나타낸다.



  • Ambient Light Sensing (ALS)
    • Approximates Human Eye Response
    • Programmable Analog Gain
    • Programmable Integration Time
    • Programmable Interrupt Function with Upper and Lower Threshold
    • Up to 16 Bits Resolution
    • Very High Sensitivity — Operates Behind Darkened Glass
    • Up to 1,000,000:1 Dynamic Range
  • Proximity Detection
    • Calibrated to 100mm Detection
    • Eliminates Factory Calibration of Prox
    • Programmable Number of IR Pulses
    • Programmable Current Sink for the IR LED — No Limiting Resistor Needed
    • Programmable Interrupt Function with Upper and Lower Threshold
  • Programmable Wait Timer
    • Wait State — 65µA Typical Current
    • Programmable from 2.72ms to > 8 Seconds
    Applications:
    • Cell Phone Backlight Dimming
    • Cell Phone Touch Screen Disable
    • Notebook/Monitor Security
    • Automatic Speakerphone Enable
    • Automatic Menu Popup
  • Specificationstoggle
  • Mounting Type:Surface Mount
  • Operating Temperature:-30°C ~ 85°C
  • Output Type:I²C
  • Package / Case:8-SMD Module
  • Packaging:Tape & Reel (TR)
  • Proximity Detection:Yes
  • Supplier Device Package:Module
  • Type:Ambient
  • Voltage - Supply:2.6 V ~ 3.6 V
  • Wavelength:625nm












아래는 소스코드인데 언어는 틀리지만 잘 된다.


라이브러리는 이곳에서 다운 받는다. http://navody.arduino-shop.cz/navody-k-produktum/senzor-detekce-obliceje-a-osvetleni-tmd27713.html


위 링크에 들어가서 읽다보면 아래 TMD277x.zip (10.4 kB) 파일을 다운 받아 앞축을 풀고 RMD277x 폴더를 아두이노가 설치된 폴더의 라이브러리 아래에 폴더채로 복사한다. 보통  C:\Program Files (x86)\Arduino\libraries 아래가 되겠다.


회로도는 아래 그림을 참고한다.




이상한 나라의 이상한 언어로 되어 있으니 코드만 참고하면 된다. 소스코드를 아래에 나타낸다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Senzor obličeje a osvětlení TMD27713
 
// připojení potřebné knihovny
#include <TMD277x.h>
// inicializace senzoru z knihovny
TMD277x tmdSenzor;
 
void setup() {
  // inicializace komunikace po sériové lince
  // rychlostí 9600 baud
  Serial.begin(9600);
  // zahájení komunikace se senzorem
  tmdSenzor.begin();
}
 
void loop() {
  // vytvoření proměnných pro ukládání výsledků
  float osvetleni;
  int priblizeni;
  // načtení měřených údajů ze senzoru
  osvetleni = tmdSenzor.readLuminance();
  priblizeni = tmdSenzor.readProximity();
  // výpis naměřených dat po sériové lince
  Serial.print("Intenzita osvetleni v okoli: ");
  Serial.print(osvetleni);
  Serial.print(" lux | vzdalenost mezi senzorem a predmetem: ");
  Serial.println(priblizeni);
  // pauza před novým měřením
  delay(1000);
}
 
cs


출력은 아래와 같이 Lux 값과 기타 값이 잘 나온다. 확인해 보자.


Intenzita osvetleni v okoli: 380.20 lux | vzdalenost mezi senzorem a predmetem: 0

Intenzita osvetleni v okoli: 380.20 lux | vzdalenost mezi senzorem a predmetem: 0

Intenzita osvetleni v okoli: 379.72 lux | vzdalenost mezi senzorem a predmetem: 0

Intenzita osvetleni v okoli: 105.98 lux | vzdalenost mezi senzorem a predmetem: 0

Intenzita osvetleni v okoli: 378.06 lux | vzdalenost mezi senzorem a predmetem: 0

Intenzita osvetleni v okoli: 5.47 lux | vzdalenost mezi senzorem a predmetem: 1023

Intenzita osvetleni v okoli: 4.75 lux | vzdalenost mezi senzorem a predmetem: 1023

Intenzita osvetleni v okoli: 377.11 lux | vzdalenost mezi senzorem a predmetem: 0

Intenzita osvetleni v okoli: 377.82 lux | vzdalenost mezi senzorem a predmetem: 0





u4 가 그 놈이다.