Search Code

Kosalela ya TEMT6000 Phototransistor Ambient Light Sensor na Arduino

Kosalela ya TEMT6000 Phototransistor Ambient Light Sensor na Arduino

Na boyekoli oyo, tokotalela ndenge ya kosalela sensor ya pole ya TEMT6000 na Arduino. Sensor oyo esalisi biso na komeka bonene ya pole ya zingazinga mpe ekoki kosalelama na misala ndenge na ndenge, lokola kobongisa bongengi ya ekran kolanda lolenge ya pole. Na suka ya boyekoli oyo, okozala na ndakisa ya mosala oyo etangaka mwa bonene ya pole mpe emonisaka yango na serial monitor.

Sensor ya TEMT6000 esalaka lokola phototransistor, mpe ebimisaka voltage oyo ekokani na motango ya pole oyo emonaka. Voltage oyo ekoki kotangama pete na ba pins ya entrée analogique ya Arduino, mpe yango esalisi biso na kobongola yango na ba valeurs ya millivolts to volts. Okoki kotala vidéo mpo na ndenge ya kosala code mpe câblage na ndenge ya malamu (na vidéo na 00:00).

Hardware Explication

Ba composants ya liboso mpo na projet oyo ezali sensor ya TEMT6000 mpe carte ya Arduino. TEMT6000 ezali sensor ya pole ya moke mpe ya malamu oyo esalelaka phototransistor mpo na koyeba mwa pole. Ezali na ba pins misato: V (voltage), G (terre), mpe S (signal). Pin ya signal ebimisaka voltage oyo ebongwanaka na bonene ya pole, oyo Arduino etangaka na entrée analogique na yango.

Arduino ezali lokola microcontrôleur oyo etangaka biloko oyo ewuti na sensor ya TEMT6000. Ezali kopésa data oyo mpe ekoki koprogramema mpo na kosala ba actions kolanda mwa pole oyo emonami. Oyo esalaka ete sensor ekoki kosalelama na misala ndenge na ndenge, longwa na koyeba pole ya pete kino na ba systèmes ya komplike lokola kobongisa bongengi automatiquement na ba appareils intelligents.

Détails ya Datasheet

Fabricant Vishay
Numéro ya pièce TEMT6000
Voltage ya logique/IO 3.0 – 5.5 V
Voltage ya alimentation 5 V
Courant ya sortie 20 mA max
Peak sensitivity 570 nm
Dissipation ya puissance 100 mW
Température ya jonction 100 °C
Paquet 4 x 2 x 1.05 mm
Notes / variantes Phototransistor NPN

 

  • Kokamba ete sensor ezala na alimentation ya 5V ya malamu.
  • Salela résistance ya 10kΩ mpo na kokangisa pin ya signal na terre mpo na fonctionnement ya malamu.
  • Kobatela sensor mosika na mwinda ya moi mpo na kokima saturation.
  • Kokanisa na refroidissement ya chaleur soki esalelami na ba endroits oyo température ezali makasi.
  • Kotala câblage ya malamu mpo na kokima ba entrées oyo ezali na valeur ya malamu te.
  • Kobongisa ba lectures mpo na misala ya sikisiki soki esengeli.

Instructions ya Câblage

Arduino-wiring-for-TEMT6000-light-sensor
Using a TEMT6000 phototransistor ambient light sensor for Arduino
Using TEMT6000 Phototransistor Ambient Light Sensor for Arduino — Using a TEMT6000 phototransistor ambient light sensor for Arduino

Mpo na kokangisa sensor ya TEMT6000 na Arduino, banda na kokangisa pin ya V ya sensor na pin ya 5V na Arduino. Na sima, kokangisa pin ya G ya sensor na moko ya ba pins ya GND na Arduino mpo na connexion ya terre. Na suka, kokangisa pin ya S, oyo ezali pin ya signal, na pin ya entrée analogique A0 na Arduino. Mise en place oyo ekolakisa Arduino ete etanga voltage oyo ewuti na sensor kolanda mwa pole ya zingazinga.

Ezali malamu na kokamba ete ba connexions nyonso ezala ya malamu mpo na kokima ba fils oyo ezali ya kokweya te, oyo ekoki komemela ba lectures oyo ezali ya malamu te. Soki ozali kosalela breadboard, tala lisusu ba connexions mpo na kokamba ete sensor ekangami malamu na Arduino ndenge elobami.

Ba Exemples ya Code & Explication

Na code, tobandaka na koyeba pin ya entrée mpo na sensor ya pole na #define light A0. Oyo esalaka ete Arduino etanga signal oyo ewuti na sensor ya TEMT6000 oyo ekangami na pin A0.

#define light A0 // définir pin ya entrée

void setup() {
  Serial.begin(9600);
}

Na fonction setup(), tobandisaka communication série na vitesse ya 9600, oyo esalisi biso na kotinda data na serial monitor.

Na fonction loop(), totangaka mwa pole na analogRead(light) mpe na sima tobongolaka valeur wana na millivolts:

void loop() {
   int Lvalue = analogRead(light); // tanga pole
   int mVolt = map(Lvalue, 0, 1023, 0, 5000); // bongola lecture analogique na 5000mV
   float volt = (double)mVolt / 1000; // bongola millivolt na volt

Code oyo ezwaka lecture analogique ya brut, ebongolaka yango na intervalle ya 0 kino 5000 millivolts, mpe na sima ebongolaka yango na volts mpo na koyeba malamu. Oyo ezali malamu mpo na kososola mwa pole oyo sensor emonaki.

Na suka, totyolaka ba valeurs na serial monitor:

  Serial.print(mVolt); // tyola millivolt
  Serial.print("mV ");
  Serial.print(volt, 3); // tyola volts na ba décimales misato
  Serial.println("V ");
  delay(1000); // zela mwa secondes 1000
}

Etinda oyo ya code emonisaka ba lectures ya millivolt mpe volt na serial monitor na seconde nyonso. Oyo esalaka ete okoka komona ndenge mwa pole ebongwanaka na tango ya sikisiki ntango okatisi pole to obimisi sensor na pole.

Démonstration / Nini Okoki Kozela

Ntango câblage esili mpe code etyami na Arduino, okoki komona ba lectures ya mwa pole na millivolts mpe volts na serial monitor. Na ndakisa, na pole ya makasi, okoki komona ba valeurs pene na 2500 mV, kasi na molili, ba valeurs ekoki kokita mingi (kino 2000 mV). Soki okatisi sensor to ozimisi ba lumières, ba lectures esengeli kolakisa ba changements wana presque na tango moko, kolakisa ete sensor ezali na réponse ya malamu (na vidéo na 02:30).

Images

Using a TEMT6000 phototransistor ambient light sensor for Arduino
Using TEMT6000 Phototransistor Ambient Light Sensor for Arduino
TEMT6000-Ambient-Light-Sensor-Module
TEMT6000-Ambient-Light-Sensor-Module
Arduino-wiring-for-TEMT6000-light-sensor
Arduino-wiring-for-TEMT6000-light-sensor
106-Using the TEMT6000 phototransistor ambient light sensor for Arduino
Langue: C++
/*
 * 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

}

Nko o na nki.

Mokili na bisika

Fichiers📁

Aucun fichier disponible.