Użycie fototranzystora czujnika światła otoczenia TEMT6000 z Arduino
W tym samouczku dowiemy się, jak używać czujnika światła otoczenia TEMT6000 z Arduino. Ten czujnik pozwala nam mierzyć natężenie światła otoczenia i może być używany w różnych zastosowaniach, takich jak regulacja jasności ekranu w zależności od warunków oświetleniowych. Po ukończeniu tego przewodnika będziesz mieć działający przykład, który odczytuje poziomy światła i wyświetla je na monitorze szeregowym.

Czujnik TEMT6000 działa jako fototranzystor, wyprowadzając napięcie odpowiadające ilości wykrytego światła. To napięcie może być łatwo odczytane przez analogowe piny wejściowe Arduino, co pozwala nam przekształcić je na znaczące odczyty w miliwoltach lub woltach. Możesz obejrzeć wideo, aby uzyskać szczegółowe omówienie kodu i okablowania (na wideo o 00:00).
Omówienie Sprzętu
Główne komponenty tego projektu obejmują czujnik TEMT6000 i płytkę Arduino. TEMT6000 to mały i wydajny czujnik światła otoczenia, który wykorzystuje fototranzystor do wykrywania poziomów światła. Ma trzy piny: V (napięcie), G (masa) i S (sygnał). Pin sygnałowy wyprowadza napięcie, które zmienia się wraz z natężeniem światła, które Arduino odczytuje przez swoje wejście analogowe.
Arduino służy jako mikrokontroler, który odczytuje sygnał wyjściowy z czujnika TEMT6000. Przetwarza te dane i może być zaprogramowane do wykonywania działań na podstawie wykrytych poziomów światła. To sprawia, że czujnik nadaje się do różnych zastosowań, od prostego wykrywania światła po bardziej złożone systemy, takie jak automatyczna regulacja oświetlenia w inteligentnych urządzeniach.
Szczegóły z Karty Katalogowej
| Producent | Vishay |
|---|---|
| Numer części | TEMT6000 |
| Napięcie logiki/IO | 3,0 – 5,5 V |
| Napięcie zasilania | 5 V |
| Prąd wyjściowy | 20 mA maks. |
| Szczytowa czułość | 570 nm |
| Moc tracona | 100 mW |
| Temperatura złącza | 100 °C |
| Obudowa | 4 x 2 x 1,05 mm |
| Uwagi / warianty | Fototranzystor NPN |
- Upewnij się, że czujnik jest zasilany stabilnym napięciem 5V.
- Użyj rezystora 10kΩ, aby połączyć pin sygnałowy z masą dla prawidłowego działania.
- Trzymaj czujnik z dala od bezpośredniego światła słonecznego, aby uniknąć nasycenia.
- Rozważ zastosowanie radiatora, jeśli używany jest w środowiskach o wysokiej temperaturze.
- Sprawdź prawidłowe okablowanie, aby uniknąć pływających wejść.
- W razie potrzeby skalibruj odczyty dla konkretnych zastosowań.
Instrukcje Okablowania


Aby podłączyć czujnik TEMT6000 do Arduino, zacznij od połączenia pinu V czujnika z pinem 5V na Arduino. Następnie podłącz pin G czujnika do jednego z pinów GND na Arduino, aby uzyskać połączenie z masą. Na koniec podłącz pin S, który jest pinem sygnałowym, do analogowego pinu wejściowego A0 na Arduino. Ta konfiguracja pozwoli Arduino odczytać napięcie wyjściowe z czujnika na podstawie poziomów światła otoczenia.
Ważne jest, aby wszystkie połączenia były pewne, aby zapobiec luźnemu okablowaniu, które może prowadzić do niedokładnych odczytów. Jeśli używasz płytki stykowej, sprawdź dwukrotnie połączenia, aby upewnić się, że czujnik jest prawidłowo podłączony do Arduino, jak opisano.
Przykłady Kodu i Omówienie
W kodzie zaczynamy od zdefiniowania pinu wejściowego dla czujnika światła za pomocą #define light A0. To konfiguruje Arduino do odczytu sygnału z czujnika TEMT6000 podłączonego do pinu A0.
#define light A0 // zdefiniuj pin wejściowy
void setup() {
Serial.begin(9600);
}
W funkcji setup() inicjalizujemy komunikację szeregową z szybkością transmisji 9600, co pozwala nam wysyłać dane do monitora szeregowego.
W funkcji loop() odczytujemy poziom światła za pomocą analogRead(light), a następnie mapujemy tę wartość na miliwolty:
void loop() {
int Lvalue = analogRead(light); // odczytaj światło
int mVolt = map(Lvalue, 0, 1023, 0, 5000); // mapuj odczyt analogowy na 5000mV
float volt = (double)mVolt / 1000; // przelicz miliwolty na wolty
Ten kod pobiera surowy odczyt analogowy, mapuje go na zakres od 0 do 5000 miliwoltów, a następnie przelicza na wolty dla łatwiejszej interpretacji. Jest to kluczowe dla zrozumienia poziomów światła wykrytych przez czujnik.
Na koniec wypisujemy wartości na monitorze szeregowym:
Serial.print(mVolt); // wypisz miliwolty
Serial.print("mV ");
Serial.print(volt, 3); // wypisz wolty z 3 miejscami po przecinku
Serial.println("V ");
delay(1000); // czekaj 1000 milisekund
}
Ta sekcja kodu wyświetla odczyty w miliwoltach i woltach na monitorze szeregowym co sekundę. Pozwala to zobaczyć, jak poziomy światła zmieniają się w czasie rzeczywistym podczas zakrywania lub odsłaniania czujnika światła.
Demonstracja / Czego Się Spodziewać
Po zakończeniu okablowania i wgraniu kodu do Arduino powinieneś zobaczyć odczyty poziomów światła w miliwoltach i woltach na monitorze szeregowym. Na przykład w jasnym świetle możesz zobaczyć wartości wokół 2500 mV, podczas gdy w ciemności wartości mogą znacznie spaść (nawet do 2000 mV). Jeśli zakryjesz czujnik lub wyłączysz światła, odczyty powinny odzwierciedlać te zmiany niemal natychmiast, co pokazuje responsywność czujnika (na wideo o 02:30).
/*
* This is an Arduino Sketch for the TEMT6000 Phototransistor Module
* This code reads the voltage of a common collector configuration
* and displays the voltage in volts.
* V pin is connected to 5V
* G pin is connected to ground GND
* S pin is signal connected to A0 of Arduino
*
Written by Ahmad Shamshiri for Robojax.com
* on May 10, 2018 at 14:14 in Ajax, Ontario, Canada
* This code is provided at http://robojax.com
* Watch a video instruction for this code: https://youtu.be/pxR6e-3XkIk
*/
#define light A0 // define input pin
void setup() {
// TEMT6000 Robojax.com code
Serial.begin(9600);
}
void loop() {
// TEMT6000 Robojax.com code
int Lvalue = analogRead(light);// read the light
int mVolt = map(Lvalue,0, 1023, 0, 5000);// map analogue reading to 5000mV
float volt =(double)mVolt/1000;// convert millivolt to volt
Serial.print(mVolt);// print millivolt
Serial.print( "mV ");
Serial.print(volt,3);// print volts with 3 decimal places
Serial.println( "V ");
delay(1000);// wait for 1000 milliseconds
// TEMT6000 Robojax.com code
}
Rzeczy, których możesz potrzebować
-
Amazon
Zasoby i odniesienia
-
ZewnętrznyDownload TEMT6000 datasheetvishay.com
Pliki📁
Brak dostępnych plików.