Search Code

Amfani da TEMT6000 Phototransistor Ambient Light Sensor tare da Arduino

Amfani da TEMT6000 Phototransistor Ambient Light Sensor tare da Arduino

A cikin wannan koyawa, za mu bincika yadda ake amfani da firikwensin hasken yanayi na TEMT6000 tare da Arduino. Wannan firikwensin yana ba mu damar auna ƙarfin hasken yanayi kuma ana iya amfani da shi a aikace-aikace daban-daban, kamar daidaita hasken allo bisa yanayin haske. A ƙarshen wannan jagorar, za ku sami misali mai aiki wanda ke karanta matakan haske kuma ya nuna su a kan serial monitor.

Firikwensin TEMT6000 yana aiki azaman phototransistor, yana fitar da wutar lantarki wanda yayi daidai da adadin hasken da yake ganowa. Wannan wutar lantarki za a iya karanta shi cikin sauƙi ta fil ɗin shigar analog na Arduino, yana ba mu damar canza shi zuwa ma'auni masu ma'ana a millivolts ko volts. Kuna iya kallon bidiyon don cikakken bayani na lambar da wayoyi (a cikin bidiyo a 00:00).

Kayan Aiki Da Aka Bayyana

Babban kayan aikin wannan aikin sun haɗa da firikwensin TEMT6000 da allon Arduino. TEMT6000 ƙaramin firikwensin hasken yanayi ne mai inganci wanda ke amfani da phototransistor don gano matakan haske. Yana da fil uku: V (wutar lantarki), G (ƙasa), da S (sigina). Fil ɗin sigina yana fitar da wutar lantarki wanda ke canzawa da ƙarfin haske, wanda Arduino ke karantawa ta hanyar shigarsa na analog.

Arduino yana aiki azaman microcontroller wanda ke karanta fitarwa daga firikwensin TEMT6000. Yana sarrafa wannan bayanan kuma ana iya tsara shi don yin ayyuka bisa matakan hasken da aka gano. Wannan yana sa firikwensin ya dace da aikace-aikace daban-daban, daga gano haske mai sauƙi zuwa tsarin da suka fi rikitarwa kamar daidaita haske ta atomatik a cikin na'urori masu wayo.

Cikakkun Bayanan Datasheet

Mai Ƙirƙira Vishay
Lambar sashi TEMT6000
Wutar Logic/IO 3.0 – 5.5 V
Wutar samarwa 5 V
Fitarwa na yanzu 20 mA max
Kololuwar hankali 570 nm
Rushewar wutar 100 mW
Zazzabi na junction 100 °C
Kunshin 4 x 2 x 1.05 mm
Bayanan kula / bambance-bambance NPN phototransistor

 

  • Tabbatar cewa an kunna firikwensin da wutar 5V mai tsayayye.
  • Yi amfani da resistor na 10kΩ don haɗa fil ɗin sigina zuwa ƙasa don aiki mai kyau.
  • Nisantar da firikwensin daga hasken rana kai tsaye don guje wa cikawa.
  • Yi la'akari da zubar da zafi idan an yi amfani da shi a wurare masu zazzabi mai girma.
  • Duba wayoyi da kyau don guje wa shigarwar da ba ta da tushe.
  • Daidaita ma'auni don takamaiman aikace-aikace kamar yadda ya cancanta.

Umarnin Haɗa Wayoyi

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

Don haɗa firikwensin TEMT6000 zuwa Arduino, fara da haɗa fil ɗin V na firikwensin zuwa fil ɗin 5V akan Arduino. Na gaba, haɗa fil ɗin G na firikwensin zuwa ɗaya daga cikin fil ɗin GND akan Arduino don haɗin ƙasa. A ƙarshe, haɗa fil ɗin S, wanda shine fil ɗin sigina, zuwa fil ɗin shigar analog A0 akan Arduino. Wannan saitin zai ba Arduino damar karanta fitarwar wutar daga firikwensin bisa matakan hasken yanayi.

Yana da mahimmanci a tabbatar da cewa duk haɗin suna da aminci don hana kowane waya mara kyau, wanda zai iya haifar da ma'auni mara daidai. Idan kuna amfani da breadboard, sake duba haɗin don tabbatar da cewa an haɗa firikwensin daidai da Arduino kamar yadda aka bayyana.

Misalan Lamba & Bayani

A cikin lambar, muna fara da ayyana fil ɗin shigar don firikwensin haske ta amfani da #define light A0. Wannan yana saita Arduino don karanta sigina daga firikwensin TEMT6000 da aka haɗa zuwa fil A0.

#define light A0 // ayyana fil ɗin shigar

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

A cikin aikin setup(), muna fara sadarwar serial a ƙimar baud na 9600, wanda ke ba mu damar aika bayanai zuwa serial monitor.

A cikin aikin loop(), muna karanta matakin haske ta amfani da analogRead(light) sannan mu canza wannan ƙimar zuwa millivolts:

void loop() {
   int Lvalue = analogRead(light); // karanta hasken
   int mVolt = map(Lvalue, 0, 1023, 0, 5000); // canza karatun analog zuwa 5000mV
   float volt = (double)mVolt / 1000; // canza millivolt zuwa volt

Wannan lambar tana ɗaukar ƙarancin karatun analog, tana canza shi zuwa kewayon 0 zuwa 5000 millivolts, sannan ta canza shi zuwa volts don sauƙin fahimta. Wannan yana da mahimmanci don fahimtar matakan hasken da firikwensin ya gano.

A ƙarshe, muna buga ƙimar zuwa serial monitor:

  Serial.print(mVolt); // buga millivolt
  Serial.print("mV ");
  Serial.print(volt, 3); // buga volts tare da wurare 3 na decimal
  Serial.println("V ");
  delay(1000); // jira milliseconds 1000
}

Wannan ɓangaren lambar yana nuna karatun millivolt da volt akan serial monitor kowane daƙiƙa. Wannan yana ba ku damar ganin yadda matakan haske ke canzawa a lokaci na gaske yayin da kuke rufe ko fallasa firikwensin ga haske.

Nuni / Abin Da Za Ku Yi Tsammani

Da zarar an gama haɗa wayoyi kuma an ɗora lambar zuwa Arduino, ya kamata ku ga karatun matakan haske a millivolts da volts akan serial monitor. Misali, a cikin haske mai ƙarfi, kuna iya ganin ƙimar kusan 2500 mV, yayin da a cikin duhu, ƙimar na iya raguwa sosai (har zuwa 2000 mV). Idan kun rufe firikwensin ko kashe fitilu, karatun ya kamata ya nuna waɗannan canje-canje kusan nan take, yana nuna saurin amsawar firikwensin (a cikin bidiyo a 02:30).

Hotuna

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
Harshe: 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

}

Abin da zaka iya bukata

Albarkatun da kuma shafukan da za a duba

Fayiloli📁

Babu fayiloli da ake da su.