All for Joomla All for Webmasters
Yapabilecekleriniz hayal gücünüz kadar geniştir.
STM32
ARDUINO
ONUR KÖSE
Kişisel Blog

Arduino Dahili Sıcaklık Sensörü

Merhaba arkadaşlar bu yazımda ATMEGA328 entegresi içinde dahili olarak bulunan sıcaklık sensörünün nasıl aktif edileceğini ve değerinin nasıl okunacağını anlatacağım.

İlk önce ATMEGA328 Datasheet indirip inceleyelim. İsterseniz indirmeden yüklediğim resimlerden de inceleyebilirsiniz.

Sayfa 238, Figure 24-1 Analog dijital çeviri blok şemasına baktığımızda ADC kanallarının ilk sırasında bir sıcaklık sensörünün olduğunu görüyoruz. Bu sensör ADC8 hattına bağlanmıştır.

Bu ADC8 kanalının açılması için bazı komutların çalıştırılması gerekmektedir Sayfa 247, bölüm 24.8. Sırayla bakacak olursak;

ADC voltaj referans kaynağı, dahili 1.1V voltaj referansı olarak seçilmelidir. Bu seçim ADMUX kaydedicisinin 6(REFS0) ve 7(REFS1) biti ayarlanarak yapılmaktadır.

ADC8 kanalının seçilmesi için; MUX3-0 bitleri ayarlanmalıdır.

ADC8 kanalı için MUX3-0 bitlerinin ilk 4 biti 1000 olmalıdır. Default olarak 0 olduğu için sadece MUX3 bitini ‘1’ yapmamız yeterli.

ADC birimini aktif yapmamız gerekiyor. Aktif etmek için ADCSRA kaydedicisinin 7(ADEN) bitini ‘1’ yapmamız lazım.

ADC çevrimini başlatmak için yine ADCSRA kaydedicisinin 6(ADSC) bitini ‘1’ yapmamız lazım.

ADC çevriminin bitmesini beklememiz gerekiyor. ADCSRA kaydedicisinin 4(ADIF) biti ‘1’ olduğu zaman çevrim bitmiş demektir. Bunun için ‘1’den farklı olduğu sürece bekle dememiz gerek.

Okunan değer ADC kaydedicisine aktarılır. Ve son olarak okunan değeri sıcaklık değerine çevirmemiz gerekiyor.

** ADC formülü datasheet üzerinde verilmiştir.

Tüm komutlarımızı toparlayıp seri porttan sıcaklık değerini gönderen programı yazacak olursak;

About the author

1 Response

Leave a Reply

Merhaba

Bloguma Hoşgeldiniz.

Kategoriler

Çevrimiçi Kişiler

1 misafir
%d blogcu bunu beğendi: