Dalam projek ini kita akan menghubungkan LDR dengan mikrokontroler ATMEGA8, dan dengan ini kita dapat mengukur INTENSITI CAHAYA di kawasan tersebut. Di ATMEGA8, kita akan menggunakan ciri ADC 10bit (Analog ke Digital Conversion) untuk mengukur intensiti cahaya.
Am LDR adalah transduser yang mengubah rintangannya ketika LIGHT jatuh di permukaannya berubah. Sensor LDR tersedia dalam pelbagai saiz dan bentuk.
LDR dibuat dari bahan semikonduktor untuk membolehkan mereka mempunyai sifat sensitif cahaya. Terdapat banyak jenis bahan yang digunakan, tetapi yang popular ialah CADMIUM SULPHIDE (CdS). Ini LDRs atau PHOTO REISTORS kerja pada prinsip "Photo kekonduksian". Sekarang apa yang dinyatakan oleh prinsip ini adalah setiap kali cahaya jatuh di permukaan LDR (dalam kes ini) konduktansi elemen meningkat atau dengan kata lain rintangan LDR menurun apabila cahaya jatuh di permukaan LDR. Sifat penurunan rintangan untuk LDR ini dicapai kerana ia adalah sifat bahan semikonduktor yang digunakan di permukaan. LDR digunakan berkali-kali untuk mengesan kehadiran cahaya atau untuk mengukur intensiti cahaya.
Terdapat berbagai jenis LDR seperti yang ditunjukkan pada gambar di atas dan masing-masing mempunyai spesifikasi yang berbeza. Biasanya LDR akan mempunyai 1MΩ-2MΩ pada kegelapan total, 10-20KΩ pada 10 LUX, 2-5KΩ pada 100 LUX. Rintangan khas untuk grafik LUX LDR ditunjukkan dalam rajah.
Seperti yang ditunjukkan dalam gambar di atas, rintangan antara dua kenalan sensor menurun dengan intensiti cahaya atau konduktansi antara dua kenalan sensor meningkat.
Sekarang untuk menukar perubahan rintangan ini kepada perubahan voltan, kita akan menggunakan litar pembahagi voltan. Dalam rangkaian resistif ini kita mempunyai satu rintangan tetap dan rintangan pemboleh ubah yang lain. Seperti yang ditunjukkan dalam gambar, R1 di sini adalah rintangan tetap dan R2 adalah sensor FORCE yang bertindak sebagai rintangan.
Titik tengah cabang dibawa ke pengukuran. Apabila rintangan R2 berubah, Vout berubah dengannya secara linear. Jadi dengan ini kita mempunyai voltan yang berubah dengan berat.
Perkara penting yang perlu diberi perhatian di sini ialah, input yang diambil oleh pengawal untuk penukaran ADC serendah 50µAmp. Kesan pemuatan pembahagi voltan berdasarkan rintangan ini penting kerana arus yang diambil dari Vout pembahagi voltan meningkatkan peratusan ralat meningkat, buat masa ini kita tidak perlu bimbang tentang kesan pemuatan.
Apa yang akan kita lakukan di sini adalah kita mengambil dua perintang dan membentuk litar pembahagi sehingga untuk VV 25Volts, kita mendapat Vout 5Volt. Jadi yang harus kita lakukan adalah menggandakan nilai Vout dengan “5” dalam program untuk mendapatkan voltan input sebenar.
Komponen
Perkakasan: ATMEGA8, bekalan kuasa (5v), AVR-ISP PROGRAMMER, JHD_162ALCD (16 * 2LCD), kapasitor 100uF, kapasitor 100nF (5 keping), perintang 10KΩ, LDR (Resistor Bergantung Cahaya).
Perisian perisian : Atmel studio 6.1, progisp atau flash magic.
Diagram Litar & Penjelasan Kerja
Dalam litar PORTD ATMEGA8 disambungkan ke LCD port data. Dalam LCD 16 * 2 terdapat 16 pin di atas semua jika ada lampu belakang, jika tidak ada lampu belakang akan ada 14 pin. Seseorang boleh menghidupkan atau meninggalkan pin lampu belakang. Sekarang dalam 14 pin terdapat 8 data pin (7-14 atau D0-D7), 2 pin bekalan kuasa (1 & 2 atau VSS & VDD atau GND & + 5V), 3 rd pin untuk kawalan kontras (VEE-kawalan berapa tebal watak-watak perlu ditunjukkan) dan 3 pin kawalan (RS & RW & E)
Di litar, anda dapat melihat bahawa saya hanya mengambil dua pin kawalan. Bit kontras dan BACA / MENULIS tidak sering digunakan sehingga boleh dipendekkan ke tanah. Ini meletakkan LCD dalam mod kontras dan baca tertinggi. Kita hanya perlu mengawal pin ENABLE dan RS untuk menghantar watak dan data yang sesuai.
The sambungan untuk LCD adalah seperti berikut:
PIN1 atau VSS ------------------ landasan
PIN2 atau VDD atau VCC ------------ + 5v power
PIN3 atau VEE --------------- ground (memberikan kontras maksimum terbaik untuk pemula)
PIN4 atau RS (Pemilihan Daftar) --------------- PB0 dari uC
PIN5 atau RW (Baca / Tulis) ----------------- tanah (meletakkan LCD dalam mod baca memudahkan komunikasi untuk pengguna)
PIN6 atau E (Aktifkan) ------------------- PB1 dari uC
PIN7 atau D0 ----------------------------- PD0 uC
PIN8 atau D1 ----------------------------- PD1 dari uC
PIN9 atau D2 ----------------------------- PD2 dari uC
PIN10 atau D3 ----------------------------- PD3 dari uC
PIN11 atau D4 ----------------------------- PD4 dari uC
PIN12 atau D5 ----------------------------- PD5 dari uC
PIN13 atau D6 ----------------------------- PD6 dari uC
PIN14 atau D7 ----------------------------- PD7 dari uC
Di litar anda dapat melihat bahawa kami telah menggunakan komunikasi 8bit (D0-D7) namun ini bukan suatu yang wajib, kami dapat menggunakan komunikasi 4bit (D4-D7) tetapi dengan program komunikasi 4 bit menjadi sedikit rumit. Oleh itu, dari pemerhatian dari jadual di atas, kami menyambungkan 10 pin LCD ke pengawal di mana 8 pin adalah pin data dan 2 pin untuk kawalan.
Voltan merentasi R2 tidak sepenuhnya linear; ia akan menjadi bising. Untuk menyaring kapasitor kebisingan ditempatkan di setiap perintang di litar pembahagi seperti yang ditunjukkan dalam gambar.
Di ATMEGA8, kita dapat memberikan input Analog ke mana-mana EMPAT saluran PORTC, tidak kira saluran mana yang kita pilih kerana semuanya sama. Kami akan memilih saluran 0 atau PIN0 PORTC. Di ATMEGA8, ADC beresolusi 10 bit, jadi pengawal dapat mengesan perubahan minimum Vref / 2 ^ 10, jadi jika voltan rujukan adalah 5V, kita mendapat kenaikan output digital untuk setiap 5/2 ^ 10 = 5mV. Oleh itu, untuk setiap kenaikan 5mV input, kita akan mendapat kenaikan satu pada output digital.
Sekarang kita perlu menetapkan daftar ADC berdasarkan syarat berikut:
1. Pertama sekali kita perlu mengaktifkan ciri ADC di ADC.
2. Berikut akan mendapat voltan input maksimum untuk penukaran ADC ialah + 5V. Oleh itu, kita boleh menetapkan nilai maksimum atau rujukan ADC hingga 5V.
3. Pengawal mempunyai ciri penukaran pemicu yang bermaksud penukaran ADC hanya berlaku setelah pemicu luaran, kerana kita tidak mahu bahawa kita perlu menetapkan daftar agar ADC dapat dijalankan dalam mod berjalan bebas berterusan.
4. Untuk mana-mana ADC, kekerapan penukaran (Nilai analog ke nilai Digital) dan ketepatan output digital berkadar songsang. Oleh itu, untuk ketepatan output digital yang lebih baik, kita harus memilih frekuensi yang lebih rendah. Untuk jam ADC biasa, kita menetapkan prale penjualan ADC ke nilai maksimum (2) Oleh kerana kita menggunakan jam dalaman 1MHZ, jam ADC akan menjadi (1000000/2).
Ini adalah satu-satunya empat perkara yang perlu kita ketahui untuk memulakan ADC.
Keempat ciri di atas ditetapkan oleh dua daftar,
MERAH (ADEN): Bit ini harus ditetapkan untuk mengaktifkan ciri ADC ATMEGA.
BLUE (REFS1, REFS0): Kedua-dua bit ini digunakan untuk menetapkan voltan rujukan (atau voltan masukan maksimum yang akan kita berikan). Oleh kerana kita ingin mempunyai voltan rujukan 5V, REFS0 harus ditetapkan, mengikut jadual.
KUNING (ADFR): Bit ini mesti ditetapkan agar ADC dapat dijalankan secara berterusan (mod berjalan bebas).
PINK (MUX0-MUX3): Keempat bit ini adalah untuk memberitahu saluran input. Oleh kerana kita akan menggunakan ADC0 atau PIN0, kita tidak perlu menetapkan bit seperti pada jadual.
BROWN (ADPS0-ADPS2): ketiga-tiga bit ini adalah untuk menetapkan preskalar untuk ADC. Oleh kerana kita menggunakan prescalar 2, kita harus menetapkan satu bit.
DARK GREEN (ADSC): bit ini ditetapkan untuk ADC memulakan penukaran. Bit ini boleh dilumpuhkan dalam program apabila kita perlu menghentikan penukaran.
Oleh itu, dengan rintangan LDR pada skrin LCD 16x2, kita dapat memadankannya dengan grafik LUX untuk mendapatkan intensiti cahaya.