Bir ortamda ki ışık miktarını arduino ile ölçebilirsiniz. TSL2561 Digital Light Sensor ışık seviyesini ölçmenize yarıyor. Bu sensörün 7 dolar gibi bir ücreti var. Arduino uno başlangıç olarak yeterli olacaktır. Bir el feneri yardımıyla veya başka bir ışık kaynağını sensör üzerine getirerek ışığın seviyesini artırarak ölçüm yapabilirsiniz.

Sensör içerisinde photodiyot bulunuyor. Bunun sayesinde analog olarak değerleri arduinoya aktarabiliyor. Biraz kodları kurcalamayla diğer mikroişlemcilere de uygulayabilirsiniz. Arduino ile bir çok sensör çok rahatlıkla kullanılıyor. Ayrıca burda ki kodları anlayarak lcdnin çalışma mantığını anlayabilirsiniz.

light meter

Malzemeler:

Arduino uno

TSL2561 Digital light sensörü

16×2 LCD

LCD I2C / SPI Backpack

LightMeterSchematic

Arduino uno launchpad üzerinden beslemeyi alabilirsiniz ayrıca, diğer bağlantıları da kolayca launchpad üzerinden yapabilirsiniz bu size kolaylık sağlayacaktır. TSL2561 sadece 4 bacağını kullanacağız diğer 2 bacağı işimize yaramayacak. ADOR ve INT bacaklarını kullanmanıza gerek yok.

 

 

 

 

 

 

LightMeterStep2

İlk önce ışık sensörünün bağlantılarını yapalım.

  • Sensör GND pini – siyah kablo – Arduino gnd pini
  • Sensör VCC pini – sarı kablo – Arduino 3.3v pini
  • Sensör SCL pini – yeşi kablo– Arduino analog pin 5 (i2c clock)
  • Sensör SDA pini – mavi kablo – Arduino analog pin 4 (i2c data)

 

 

 

 

 

LightMeterStep3

LCD bağlantılarına gelirsek

  • LCD GND pin – siyah kablo – Arduino grnd pin
  • LCD 5V pin – kırmızı kablo – Arduino A5V pin
  • LCD LAT pin – turuncu kablo – Arduino digital pin 4 (SPI latch pin)
  • LCD  DAT pin – mavi kablo – Arduino digital pin 3 (SPI data pin)
  • LCD CLK pin – yeşil kablo – Arduino digital pin 2 (SPI clock pin)

Güncel kodları bu siteden bulabilirsiniz.

https://github.com/dmalec/I2C-Light-Meter

#include "Wire.h"#include "LiquidCrystal.h"#include "TSL2561.h"// SPI bağlantısı. Data pin &nbsp;#3, Clock &nbsp;#2 ve Latch &nbsp;#4LiquidCrystal lcd(3, 2, 4);//! i2c ışık sensörü içinTSL2561 tsl(TSL2561_ADDR_FLOAT); //! LCD ye ışık değerlerini yazdırıyoruzchar output_buffer[6];void setup() {  // Seri bağlantının ayarlanması  Serial.begin(9600);  Serial.println(F("Serial initialized"));    // LCD Ayarları  lcd.begin(16, 2);  Serial.println(F("LCD initialized"));  lcd.setBacklight(HIGH);    // Ekrana yazdırılacak çizgi  lcd.setCursor(0, 0);  lcd.print(F("Vis:"));    // Alt çizgi ayarları  lcd.setCursor(0, 1);  lcd.print(F("Lux:"));      //Işık sensörü ayarları  if (tsl.begin()) {    Serial.println(F("Sensor initialized"));  } else {    Serial.println(F("Sensor failed to initialize"));  }  // Işık sensörü kazanç ayarları  tsl.setGain(TSL2561_GAIN_0X);    //Işık sensörü zaman ayarlı  tsl.setTiming(TSL2561_INTEGRATIONTIME_13MS);    // Düşük ışık için yapılacak ayarlar  // tsl.setGain(TSL2561_GAIN_16X);  // tsl.setTiming(TSL2561_INTEGRATIONTIME_402MS);}//! Ana döngü.void loop() {<!--DVFMTSC-->  uint32_t full_luminosity = tsl.getFullLuminosity();  uint16_t ir_spectrum = full_luminosity >> 16;  uint16_t full_spectrum = full_luminosity & 0xFFFF;    // Üst çizgide başlangıç  lcd.setCursor(5, 0);      // Program hafızasından yazdırılacak formatı  snprintf_P(output_buffer, 6, PSTR("%5d"), (full_spectrum - ir_spectrum));    // Ekrana Yazdır  lcd.print(output_buffer);    //Alt satır  lcd.setCursor(5, 1);    //Ekrana yazdırılacak yazının formatı  snprintf_P(output_buffer, 6, PSTR("%5d"), tsl.calculateLux(full_spectrum, ir_spectrum));  // Ekrana yazdır  lcd.print(output_buffer);    // Bekleme süresi 0.5sn.  delay(500);}

Bu da videosu

  • Gökhan

    Program çalışmıyor.

    • Ne hatası aldınız?

  • veysi

    ıyı gunler ben ısık şiddeti ölçer arduınoyla yazılım ve poteustakı ve 7 segmentlı dısplayde gostermemız ıstıyor hoca yardımcı olsanız cok sevınırım ve ayrıca dısardan gırılen herhangı bır bılgının ossıloskopta goruntuleyecek bununda arduınoyla ve preteousta sadece bun larda yardımcı olsanız cok sevınırım acıl lazım okulun son sınıf bıtırme ıcın

    • Arduino ldr modülü ve pc bağlantısıyla ilgili bir modül işinizi görebilir. Kolay gelsin.

  • smhoz

    Merhaba. TSL2561 Digital light sensörünü nerden temin edebilirim bilgilendirirseniz sevinirim. Teşekkürler.

    • Acil lazım değilse ebay.com a bakabilirsiniz. Acil lazımsa google.com.tr elektronik malzemeler diye aratırsanız çıkan dükkanlarda bulabilirsiniz.