Merhaba bu projede esp8266 kartının analog girişini çoğaltacağız. Esp8266 kartında 1 tane analog giriş var ve bazı projelerde bir giriş yetersiz kalıyor.Bu yüzden ads1115 modülü ile analog girişleri 4+1 olacak şekilde toplam 5 adet analog girişi sağmış olacağız. 4+1 derken  kart bize 4 tane analog giriş veriyor 1 tanede esp’nin üzerinde bulunuyor. Ama bu kart normalde 0-1023 arası değer veren sensörleri, 0-7500 arası bir değer verir hale getiriyor. Bize 0-100 arası değer vermesini istediğimiz zaman 75 böleceğiz.

ADS1115 NEDİR?

ADS1115 entegresi sayesinde 16-bit çözünürlükte saniyede 860 ölçüm yapabilme yeteneğine sahiptir. Dahili amfisi sayesinde düşük seviyedeki sinyalli 16 kat güçlendirebilir. 2V – 5V arası gerilimlerle çalışabilir. Haberleşme için I2C arayüzünü kullanan bir modül.

Malzemeler

Devre şeması

Kod

Kütüphanesi https://github.com/adafruit/Adafruit_ADS1X15/archive/refs/heads/master.zip

#include <Adafruit_ADS1X15.h>

Adafruit_ADS1115 ads;  


void setup(void) 
{
  Serial.begin(9600);
  
  ads.begin();
}

void loop(void) 
{
  int16_t toprak0, toprak1, toprak2, toprak3;

  toprak0 = ads.readADC_SingleEnded(0);
  toprak1 = ads.readADC_SingleEnded(1);
  toprak2 = ads.readADC_SingleEnded(2);
  toprak2 = ads.readADC_SingleEnded(3);


  Serial.println(" ");
  Serial.print("toprak1%:"); Serial.print(toprak0 / 75); //gelen veriyi75 böldük çünkü bize 0-100 arası değer vermesini istiyoruz
  Serial.print("toprak2%: "); Serial.print(toprak1 / 75); //gelen veriyi75 böldük çünkü bize 0-100 arası değer vermesini istiyoruz
  Serial.print("toprak3%: "); Serial.print(toprak2 / 75); //gelen veriyi75 böldük çünkü bize 0-100 arası değer vermesini istiyoruz
  Serial.print("toprak4%: "); Serial.print(toprak3 / 75); //gelen veriyi75 böldük çünkü bize 0-100 arası değer vermesini istiyoruz
  delay(1000);
}

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz