MCP3008 İle Sıcaklık Ölçümü

MCP3008 analog dijital dönüştürücüdür.

MCP3008 3.3V ve 5V ile çalışabilen bir ADC(Analog Dijital Converter) entegresidir.

5V ile çalıştığında 200KSPS ölçüm yapabilir(Yani saniyede 200000 ölçüm). Bu sayı gerilim ile azalır.

Raspberrp Pi ve MCP3008 haberleşmesi için MOSI, MISO, SCK, 3.3V ve GNd pinlerini kullanacağız. (SPI Haberleşme)

MCP3008 8 kanallıdır(Yani 8 farklı analog değer okuyabiliriz, üzerinde 8 analog pin var.)

Bu devremizde aynı zamanda LM35 de kullanacağız.

LM35 5V ile çalışacağı için 5V bağlıyoruz ve CH0 pinine bağlıyoruz(0. KANAL)

ÖRNEK UYGULAMA

from gpiozero import MCP3008

adc=MCP3008(channel=0) #0 numaralı kanal

print(adc.value) #0 ile 1 arası gelir.

adc.value ile gelen değer 0 ile 1 arasındadır.

MCP3008 10bit tir. Yani 0-1023 arasında gelen değerler 0-1 arasına aktarılır.

Her gelen sayı 1023 e bölünür.

from gpiozero import MCP3008

adc=MCP3008(channel=0) #0 numaralı kanal

adcDegeri=adc.value #0 ile 1 arası gelir.

print(int(adcDegeri*1023))

Elde Edilen Değeri Gerilim Karşılığının Bulunması

Bizim elde etmemiz gereken girişin bize kaç volt olduğunu söylemesidir.

Veriler bize 0-1 arasında geliyor.

Bağlantığımız voltaj değeri de 0-3.3V arasındadır.

Gerilimi bulmak için ADC ölçüm sonucunu 3.3 ile çarpmamız gerekiyor.

from gpiozero import MCP3008

adc=MCP3008(channel=0) #0 numaralı kanal

adcDegeri=adc.value #0 ile 1 arası gelir.

gerilim=adcDegeri*3.3

print(gerilim,"V")

Değer oda sıcaklığı (25C derece) için 250mV yani 0,25V civarında olmalı.

SICAKLIK BİLGİSİNİN ELDE EDİLMESİ

1 derece için 10mV değişim olur.

Elimizdeki gerilimi 100 ile çarparak sıcaklığı buluruz.

Yani 0.25V için

0.25X100=25derece

Yayınlayan

Ahmet KADAK

Bilgisayar Öğretmeni & Bilgisayar Mühendisi

Bir yanıt yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir