2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
TSL45315 - bu raqamli yorug'lik sensori. Har xil yorug'lik sharoitida inson ko'zining javobini taxmin qiladi. Qurilmalar uchta tanlanish vaqtiga ega va I2C avtobus interfeysi orqali to'g'ridan-to'g'ri 16 bitli lyuks chiqishini ta'minlaydi. Qurilmada lyuks ma'lumotlarini taqdim etish uchun fotodiodlar majmuasi, analog-raqamli konvertor (ADC), signallarni qayta ishlash sxemasi, lyuks hisoblash mantig'i va bitta CMOS integrallashgan sxemasida I2C ketma-ket interfeysi mavjud. Mana, uning arduino nano bilan namoyishi.
1 -qadam: Sizga nima kerak.. !
1. Arduino Nano
2. TSL45315
3. I²C kabeli
4. Arduino Nano uchun I²C qalqoni
2 -qadam: Ulanish:
Arduino Nano uchun I2C qalqonini oling va uni muloyimlik bilan Nano pinlariga suring.
Keyin I2C kabelining bir uchini TSL45315 sensoriga, ikkinchi uchini esa I2C ekraniga ulang.
Ulanishlar yuqoridagi rasmda ko'rsatilgan.
3 -qadam: Kod:
TSL45315 uchun Arduino kodini bizning GitHub omboridan-Dcube do'konidan yuklab olish mumkin.
Mana shu havola:
github.com/DcubeTechVentures/TSL45315…
Sensorning Arduino platasi bilan I2c aloqasini osonlashtirish uchun biz Wire.h kutubxonasini o'z ichiga olamiz.
Siz bu erdan kodni nusxalashingiz mumkin, u quyidagicha berilgan:
// Ixtiyoriy litsenziya bilan tarqatilgan.
// Agar xohlasangiz, foyda yoki tekin ishlating, agar u tegishli asarlar litsenziyalariga mos kelsa.
// TSL45315
// Bu kod Dcube do'konida mavjud bo'lgan TSl45315_I2CS I2C Mini moduli bilan ishlash uchun mo'ljallangan.
#qo'shing
// TSL45315 I2C manzili - 0x29 (41)
#aniqlang Addr 0x29
bo'sh o'rnatish ()
{
// I2C aloqasini MASTER sifatida boshlang
Wire.begin ();
// Seriyali aloqani ishga tushiring, bod tezligi = 9600 ni o'rnating
Serial.begin (9600);
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// Boshqarish registrini tanlang
Wire.write (0x80);
// Oddiy ishlash
Wire.write (0x03);
// I2C uzatishni to'xtating
Wire.endTransmission ();
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// Konfiguratsiya registrini tanlang
Wire.write (0x81);
// 1x ko'paytirgich, rang: 400ms
Wire.write (0x00);
// I2C uzatishni to'xtating
Wire.endTransmission ();
kechikish (300);
}
bo'sh halqa ()
{
imzosiz int ma'lumotlari [2];
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// Ma'lumotlar reestrini tanlang
Wire.write (0x84);
// I2C uzatishni to'xtating
Wire.endTransmission ();
// 2 bayt ma'lumotni so'rang
Wire.requestFrom (Addr, 2);
// 2 bayt ma'lumotni o'qing
// yorqinlik lsb, yorqinlik msb
agar (Wire.available () == 2)
{
ma'lumotlar [0] = Wire.read ();
ma'lumotlar [1] = Wire.read ();
}
// Ma'lumotni aylantirish
float yorqinligi = ma'lumotlar [1] * 256 + ma'lumotlar [0];
// Ma'lumotlarni ketma -ket monitorga chiqarish
Serial.print ("Atrofdagi yorug'lik yorug'ligi:");
Ketma -ket chop etish (nashrida);
Serial.println ("lyuks");
kechikish (300);
}
4 -qadam: Ilovalar:
Atrofdagi yorug'lik sezgichining keng dinamik diapazoni, uni to'g'ridan -to'g'ri quyosh nuri tushadigan tashqi makonda, ayniqsa, foydali qiladi. Qurilma ko'cha chiroqlari va xavfsizligini, reklama taxtasi va avtomobil yoritgichlarini avtomatik boshqarishda foydalanish uchun ideal. TSL45315 qurilmalari, shuningdek, energiyani tejashni maksimal darajada oshirish uchun avtomatik boshqarish va kunduzgi yig'ish uchun qattiq holatda va umumiy yoritishda ishlatilishi mumkin. Boshqa ilovalar batareyaning ishlash muddatini uzaytirish va uyali telefonlar, planshetlar va noutbuklarda ko'rinishni optimallashtirish uchun ekranning orqa nuri boshqaruvini o'z ichiga oladi.