Abi benim burda bi abinin atölyesi var onun yanına gitmeyi düşünüyorum çalışmak için bana lazım olan kodlar kullandığın malzemeler bide devre şemaları şimdiden teşekkür ediyorum
Tamam en kısa zamanda yardımcı olacağım.
 
Tamamdır abi bekliyorum bende senin gibi yapıcam takıldığım yerleride burda paylaşıcam bende yaparken öğrenicem
"Senin gibi yapacağım" derken ben en son 5 servo ile ayırma ve tespit etme videosu atmıştım ama şuan o sistemi değiştiriyorum. Çünkü çok fazla kablo oluyor ve kablolar başa bela.

Şuan da yaptığımı özetleyeyim.
Kırmızı led ile ldr yi karşı karşıya koyuyorum. Aralarında en fazla 5mm var. Bu aradan parayı geçirip servo kolu ile durduruyorum.
Para ledin ışığını kesip ldr yi kapattığında servo 1'er derece ilerlemeye başlıyor. Parayı düşürdüğü adım sayısını değişkene aktarıp parayı tanımlıyorum. Kanaldan geçip tanımlanan para 3d yazıcı ile bastığım ayırma aparatında ilerliyor. Kendi deliğine geldiğinde otomatik düşüyor kutuya.

TinkerCad de 16x2 LCD'nin I2C modülü olmadığı için onu ekleyemedim. Ama kolay iş.
Birde bağlayacağım akünün gücünü ölçmek için voltaj bölücü devre yapmam gerek. Henüz sıra gelmedi.


1 Servo
1 LDR
1 Kırmız Led
1 Adet 10k direnç
1 Adet 150r direnç
1 Adet Arduino
1 Adet 16x2 LCD Display (i2C Modüllü)

Son kodlarım bu şekilde. (Sonradan değiştirmem gerekebilir.)

Arduino:
#include <Servo.h>
#include <EEPROM.h>
#include <LiquidCrystal_I2C.h>

// LCD ekran bilgileri
LiquidCrystal_I2C lcd(0x27, 16, 2);

Servo myservo;
#define ldr A0
#define pil A6
int ldr_oku;
int lldr = 0;
int adim = 106;
float para = 0;

// Pil değişkenleri
int min_deger = 988;
float yuzde = 0;
float deger = 0;
int gerilim = 0;

unsigned long simdiki_zaman = 0;
unsigned long onceki_zaman = 0;
int aralik = 32000;

// Pil Karakterleri
byte pil_yuz[8] = {
  B01110,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111
};
byte pil_yetmisbes[8] = {
  B01110,
  B11011,
  B10001,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111
};
byte pil_elli[8] = {
  B01110,
  B11011,
  B10001,
  B10001,
  B11111,
  B11111,
  B11111,
  B11111
};
byte pil_yirmibes[8] = {
  B01110,
  B11011,
  B10001,
  B10001,
  B10001,
  B11111,
  B11111,
  B11111
};
byte pil_on[8] = {
  B01110,
  B11011,
  B10001,
  B10001,
  B10001,
  B10001,
  B11111,
  B11111
};

// Kumbara değişkenleri
float toplam = 0;
float veritipi;
void setup()
{
  Serial.begin(115200);
  myservo.attach(12);

  pinMode(ldr, INPUT);

  myservo.write(106);

  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Kumbara V.1");
  lcd.setCursor(0, 1);

  float toplam = EEPROM.get(0, veritipi);
  SatirTemizle(1);
  lcd.setCursor(0, 1);
  lcd.print("Toplam: ");
  String mst = String(toplam);
  String msst = "TL";
  mst.concat(msst);
  lcd.setCursor(8, 1);
  lcd.print(mst);
}


void loop()
{
  lldr = analogRead(ldr);

    ldr_oku = map(lldr, 0, 800, 0, 1);
  if (ldr_oku == 0) {
    myservo.write(adim);
    adim++;
    delay(30);
    lldr = analogRead(ldr);
    ldr_oku = map(lldr, 0, 800, 0, 1);
    if ((ldr_oku == 1) && (adim >= 146)) {
        para = 1;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 137)) {
        para = 0.50;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 126)) {
        para = 0.25;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 119)) {
        para = 0.10;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 115)) {
        para = 0.05;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }
  } else {
    myservo.write(106);
  }

   // Pil Ölçümü
  simdiki_zaman = millis();
  if(onceki_zaman >= 4294967295) onceki_zaman = 0;
  if (simdiki_zaman - onceki_zaman >= aralik) {
    onceki_zaman = simdiki_zaman;

    gerilim = analogRead(pil);
    Serial.print("Analog Read: ");
    Serial.println(gerilim);
    if (gerilim >= 1022)
      gerilim = 1022;

    if (gerilim <= 988)
      gerilim = 988;
    yuzde = gerilim - min_deger;
    //Serial.print("Yüzde: ");
    //Serial.println(yuzde);
    deger = (100.00 / 34.00) * yuzde;
    //Serial.print("Değer: ");
    //Serial.println(deger);

    if (deger >= 90.00)
    {
      lcd.createChar(1, pil_yuz);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else if (deger >= 75.00)
    {
      lcd.createChar(1, pil_yetmisbes);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else if (deger >= 50.00)
    {
      lcd.createChar(1, pil_elli);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else if (deger >= 25.00)
    {
      lcd.createChar(1, pil_yirmibes);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else
    {
      lcd.createChar(1, pil_on);
      lcd.setCursor(15, 1);
      lcd.write(1);
    }

  }
}

void Hesapla(float gelen_para) {
  SatirTemizle(0);
  lcd.setCursor(0, 0);
  lcd.print("Son Atilan: ");
  lcd.setCursor(12, 0);
  lcd.print(gelen_para);
  Serial.print("Son Atilan: ");
  Serial.println(gelen_para);
  float toplam = EEPROM.get(0, veritipi);
  toplam += gelen_para;
  //EEPROM.put(0,toplam);
  SatirTemizle(1);
  lcd.setCursor(0, 1);
  lcd.print("Toplam: ");
  String mst = String(toplam);
  String msst = "TL";
  mst.concat(msst);
  lcd.setCursor(8, 1);
  lcd.print(mst);
  Serial.print("Toplam: ");
  Serial.print(toplam);
  Serial.println(" TL");
  delay(50);
}

void SatirTemizle(int satir) {
  lcd.setCursor(0, satir);
  lcd.print("                ");
  lcd.setCursor(0, satir);
}

tinkercad_kumbara.png
 
Arduinoyu usb den çıkart. Bilgisayarı resetle. Com portu görmüyor sanırım. Kafası karışmış olabilir.
 
İyi akşamlar devre şemasına göre devreyi bağladım lcd ye yazılarda geldi ama devre çalışmıyor neden yapar acaba led ile ldr nin arasına para koyuyorum servo çalışmıyor lcd de değerlerde değişmiyor neden olabilir acaba bağlantıları çok kez kontrol ettim yanlışlık yok
 
İyi akşamlar devre şemasına göre devreyi bağladım lcd ye yazılarda geldi ama devre çalışmıyor neden yapar acaba led ile ldr nin arasına para koyuyorum servo çalışmıyor lcd de değerlerde değişmiyor neden olabilir acaba bağlantıları çok kez kontrol ettim yanlışlık yok
5 Servolu olanı mı yaptın?
Eğer öyle yaptıysan uno'nun gücü 5 servoya yetmez. Harici besleme takman lazım.
 
Yok abi en son yaptığın tek servolu yaptım
Ben onun kodlarını paylaştım mı ki? Hatırlamıyorum valla. 17 sayfa yazı olunca :katil2:
Dur ben sana bendeki güncel kodları atayım. O kodlar ile bir dene.
Yine olmazsa Serial.print kullanarak nereden veri alamıyorsun onu takip edeceğiz.

Arduino Kumbara:
#include <Servo.h>
#include <EEPROM.h>
#include <LiquidCrystal_I2C.h>

// LCD ekran bilgileri
LiquidCrystal_I2C lcd(0x27, 16, 2);

Servo myservo;
#define ldr A0
#define pil A6
int ldr_oku;
int lldr = 0;
int adim = 106;
float para = 0;

// Pil değişkenleri
int min_deger = 988;
float yuzde = 0;
float deger = 0;
int gerilim = 0;

unsigned long simdiki_zaman = 0;
unsigned long onceki_zaman = 0;
int aralik = 32000;

// Pil Karakterleri
byte pil_yuz[8] = {
  B01110,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111
};
byte pil_yetmisbes[8] = {
  B01110,
  B11011,
  B10001,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111
};
byte pil_elli[8] = {
  B01110,
  B11011,
  B10001,
  B10001,
  B11111,
  B11111,
  B11111,
  B11111
};
byte pil_yirmibes[8] = {
  B01110,
  B11011,
  B10001,
  B10001,
  B10001,
  B11111,
  B11111,
  B11111
};
byte pil_on[8] = {
  B01110,
  B11011,
  B10001,
  B10001,
  B10001,
  B10001,
  B11111,
  B11111
};

// Kumbara değişkenleri
float toplam = 0;
float veritipi;
void setup()
{
  Serial.begin(115200);
  myservo.attach(12);

  pinMode(ldr, INPUT);

  myservo.write(106);

  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Kumbara V.1");
  lcd.setCursor(0, 1);

  float toplam = EEPROM.get(0, veritipi);
  SatirTemizle(1);
  lcd.setCursor(0, 1);
  lcd.print("Toplam: ");
  String mst = String(toplam);
  String msst = "TL";
  mst.concat(msst);
  lcd.setCursor(8, 1);
  lcd.print(mst);
}


void loop()
{
  lldr = analogRead(ldr);

    ldr_oku = map(lldr, 0, 800, 0, 1);
  if (ldr_oku == 0) {
    myservo.write(adim);
    adim++;
    delay(30);
    lldr = analogRead(ldr);
    ldr_oku = map(lldr, 0, 800, 0, 1);
    if ((ldr_oku == 1) && (adim >= 146)) {
        para = 1;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 137)) {
        para = 0.50;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 126)) {
        para = 0.25;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 119)) {
        para = 0.10;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 115)) {
        para = 0.05;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }
  } else {
    myservo.write(106);
  }

   // Pil Ölçümü
  simdiki_zaman = millis();
  if(onceki_zaman >= 4294967295) onceki_zaman = 0;
  if (simdiki_zaman - onceki_zaman >= aralik) {
    onceki_zaman = simdiki_zaman;

    gerilim = analogRead(pil);
    Serial.print("Analog Read: ");
    Serial.println(gerilim);
    if (gerilim >= 1022)
      gerilim = 1022;

    if (gerilim <= 988)
      gerilim = 988;
    yuzde = gerilim - min_deger;
    //Serial.print("Yüzde: ");
    //Serial.println(yuzde);
    deger = (100.00 / 34.00) * yuzde;
    //Serial.print("Değer: ");
    //Serial.println(deger);

    if (deger >= 90.00)
    {
      lcd.createChar(1, pil_yuz);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else if (deger >= 75.00)
    {
      lcd.createChar(1, pil_yetmisbes);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else if (deger >= 50.00)
    {
      lcd.createChar(1, pil_elli);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else if (deger >= 25.00)
    {
      lcd.createChar(1, pil_yirmibes);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else
    {
      lcd.createChar(1, pil_on);
      lcd.setCursor(15, 1);
      lcd.write(1);
    }

  }
}

void Hesapla(float gelen_para) {
  SatirTemizle(0);
  lcd.setCursor(0, 0);
  lcd.print("Son Atilan: ");
  lcd.setCursor(12, 0);
  lcd.print(gelen_para);
  Serial.print("Son Atilan: ");
  Serial.println(gelen_para);
  float toplam = EEPROM.get(0, veritipi);
  toplam += gelen_para;
  // Aşağıdaki EEPROM satırı sistem tamamen çalışır duruma gelince aktif edilecek.
  // Bu komut kapalı olduğu için sistem toplama yapmaz.
  // Sistemem tamamen hazır olduğında aktif edilir ve toplama yapmaya başlar.
  // EEPROM.put(0,toplam);
  SatirTemizle(1);
  lcd.setCursor(0, 1);
  lcd.print("Toplam: ");
  String mst = String(toplam);
  String msst = "TL";
  mst.concat(msst);
  lcd.setCursor(8, 1);
  lcd.print(mst);
  Serial.print("Toplam: ");
  Serial.print(toplam);
  Serial.println(" TL");
  delay(50);
}

void SatirTemizle(int satir) {
  lcd.setCursor(0, satir);
  lcd.print("                ");
  lcd.setCursor(0, satir);
}
 
Ben onun kodlarını paylaştım mı ki? Hatırlamıyorum valla. 17 sayfa yazı olunca :katil2:
Dur ben sana bendeki güncel kodları atayım. O kodlar ile bir dene.
Yine olmazsa Serial.print kullanarak nereden veri alamıyorsun onu takip edeceğiz.

Arduino Kumbara:
#include <Servo.h>
#include <EEPROM.h>
#include <LiquidCrystal_I2C.h>

// LCD ekran bilgileri
LiquidCrystal_I2C lcd(0x27, 16, 2);

Servo myservo;
#define ldr A0
#define pil A6
int ldr_oku;
int lldr = 0;
int adim = 106;
float para = 0;

// Pil değişkenleri
int min_deger = 988;
float yuzde = 0;
float deger = 0;
int gerilim = 0;

unsigned long simdiki_zaman = 0;
unsigned long onceki_zaman = 0;
int aralik = 32000;

// Pil Karakterleri
byte pil_yuz[8] = {
  B01110,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111
};
byte pil_yetmisbes[8] = {
  B01110,
  B11011,
  B10001,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111
};
byte pil_elli[8] = {
  B01110,
  B11011,
  B10001,
  B10001,
  B11111,
  B11111,
  B11111,
  B11111
};
byte pil_yirmibes[8] = {
  B01110,
  B11011,
  B10001,
  B10001,
  B10001,
  B11111,
  B11111,
  B11111
};
byte pil_on[8] = {
  B01110,
  B11011,
  B10001,
  B10001,
  B10001,
  B10001,
  B11111,
  B11111
};

// Kumbara değişkenleri
float toplam = 0;
float veritipi;
void setup()
{
  Serial.begin(115200);
  myservo.attach(12);

  pinMode(ldr, INPUT);

  myservo.write(106);

  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Kumbara V.1");
  lcd.setCursor(0, 1);

  float toplam = EEPROM.get(0, veritipi);
  SatirTemizle(1);
  lcd.setCursor(0, 1);
  lcd.print("Toplam: ");
  String mst = String(toplam);
  String msst = "TL";
  mst.concat(msst);
  lcd.setCursor(8, 1);
  lcd.print(mst);
}


void loop()
{
  lldr = analogRead(ldr);

    ldr_oku = map(lldr, 0, 800, 0, 1);
  if (ldr_oku == 0) {
    myservo.write(adim);
    adim++;
    delay(30);
    lldr = analogRead(ldr);
    ldr_oku = map(lldr, 0, 800, 0, 1);
    if ((ldr_oku == 1) && (adim >= 146)) {
        para = 1;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 137)) {
        para = 0.50;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 126)) {
        para = 0.25;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 119)) {
        para = 0.10;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 115)) {
        para = 0.05;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }
  } else {
    myservo.write(106);
  }

   // Pil Ölçümü
  simdiki_zaman = millis();
  if(onceki_zaman >= 4294967295) onceki_zaman = 0;
  if (simdiki_zaman - onceki_zaman >= aralik) {
    onceki_zaman = simdiki_zaman;

    gerilim = analogRead(pil);
    Serial.print("Analog Read: ");
    Serial.println(gerilim);
    if (gerilim >= 1022)
      gerilim = 1022;

    if (gerilim <= 988)
      gerilim = 988;
    yuzde = gerilim - min_deger;
    //Serial.print("Yüzde: ");
    //Serial.println(yuzde);
    deger = (100.00 / 34.00) * yuzde;
    //Serial.print("Değer: ");
    //Serial.println(deger);

    if (deger >= 90.00)
    {
      lcd.createChar(1, pil_yuz);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else if (deger >= 75.00)
    {
      lcd.createChar(1, pil_yetmisbes);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else if (deger >= 50.00)
    {
      lcd.createChar(1, pil_elli);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else if (deger >= 25.00)
    {
      lcd.createChar(1, pil_yirmibes);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else
    {
      lcd.createChar(1, pil_on);
      lcd.setCursor(15, 1);
      lcd.write(1);
    }

  }
}

void Hesapla(float gelen_para) {
  SatirTemizle(0);
  lcd.setCursor(0, 0);
  lcd.print("Son Atilan: ");
  lcd.setCursor(12, 0);
  lcd.print(gelen_para);
  Serial.print("Son Atilan: ");
  Serial.println(gelen_para);
  float toplam = EEPROM.get(0, veritipi);
  toplam += gelen_para;
  // Aşağıdaki EEPROM satırı sistem tamamen çalışır duruma gelince aktif edilecek.
  // Bu komut kapalı olduğu için sistem toplama yapmaz.
  // Sistemem tamamen hazır olduğında aktif edilir ve toplama yapmaya başlar.
  // EEPROM.put(0,toplam);
  SatirTemizle(1);
  lcd.setCursor(0, 1);
  lcd.print("Toplam: ");
  String mst = String(toplam);
  String msst = "TL";
  mst.concat(msst);
  lcd.setCursor(8, 1);
  lcd.print(mst);
  Serial.print("Toplam: ");
  Serial.print(toplam);
  Serial.println(" TL");
  delay(50);
}

void SatirTemizle(int satir) {
  lcd.setCursor(0, satir);
  lcd.print("                ");
  lcd.setCursor(0, satir);
}
Abi paylaştığın devre şemasıyla tekrardan kurucam devreyi bu kodları kullanıcam bakalım ne olacak yazarım burdan
 
Ben onun kodlarını paylaştım mı ki? Hatırlamıyorum valla. 17 sayfa yazı olunca :katil2:
Dur ben sana bendeki güncel kodları atayım. O kodlar ile bir dene.
Yine olmazsa Serial.print kullanarak nereden veri alamıyorsun onu takip edeceğiz.

Arduino Kumbara:
#include <Servo.h>
#include <EEPROM.h>
#include <LiquidCrystal_I2C.h>

// LCD ekran bilgileri
LiquidCrystal_I2C lcd(0x27, 16, 2);

Servo myservo;
#define ldr A0
#define pil A6
int ldr_oku;
int lldr = 0;
int adim = 106;
float para = 0;

// Pil değişkenleri
int min_deger = 988;
float yuzde = 0;
float deger = 0;
int gerilim = 0;

unsigned long simdiki_zaman = 0;
unsigned long onceki_zaman = 0;
int aralik = 32000;

// Pil Karakterleri
byte pil_yuz[8] = {
  B01110,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111
};
byte pil_yetmisbes[8] = {
  B01110,
  B11011,
  B10001,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111
};
byte pil_elli[8] = {
  B01110,
  B11011,
  B10001,
  B10001,
  B11111,
  B11111,
  B11111,
  B11111
};
byte pil_yirmibes[8] = {
  B01110,
  B11011,
  B10001,
  B10001,
  B10001,
  B11111,
  B11111,
  B11111
};
byte pil_on[8] = {
  B01110,
  B11011,
  B10001,
  B10001,
  B10001,
  B10001,
  B11111,
  B11111
};

// Kumbara değişkenleri
float toplam = 0;
float veritipi;
void setup()
{
  Serial.begin(115200);
  myservo.attach(12);

  pinMode(ldr, INPUT);

  myservo.write(106);

  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Kumbara V.1");
  lcd.setCursor(0, 1);

  float toplam = EEPROM.get(0, veritipi);
  SatirTemizle(1);
  lcd.setCursor(0, 1);
  lcd.print("Toplam: ");
  String mst = String(toplam);
  String msst = "TL";
  mst.concat(msst);
  lcd.setCursor(8, 1);
  lcd.print(mst);
}


void loop()
{
  lldr = analogRead(ldr);

    ldr_oku = map(lldr, 0, 800, 0, 1);
  if (ldr_oku == 0) {
    myservo.write(adim);
    adim++;
    delay(30);
    lldr = analogRead(ldr);
    ldr_oku = map(lldr, 0, 800, 0, 1);
    if ((ldr_oku == 1) && (adim >= 146)) {
        para = 1;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 137)) {
        para = 0.50;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 126)) {
        para = 0.25;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 119)) {
        para = 0.10;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku == 1) && (adim >= 115)) {
        para = 0.05;
    Hesapla(para);
        adim = 106;
        myservo.write(adim);
    }
  } else {
    myservo.write(106);
  }

   // Pil Ölçümü
  simdiki_zaman = millis();
  if(onceki_zaman >= 4294967295) onceki_zaman = 0;
  if (simdiki_zaman - onceki_zaman >= aralik) {
    onceki_zaman = simdiki_zaman;

    gerilim = analogRead(pil);
    Serial.print("Analog Read: ");
    Serial.println(gerilim);
    if (gerilim >= 1022)
      gerilim = 1022;

    if (gerilim <= 988)
      gerilim = 988;
    yuzde = gerilim - min_deger;
    //Serial.print("Yüzde: ");
    //Serial.println(yuzde);
    deger = (100.00 / 34.00) * yuzde;
    //Serial.print("Değer: ");
    //Serial.println(deger);

    if (deger >= 90.00)
    {
      lcd.createChar(1, pil_yuz);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else if (deger >= 75.00)
    {
      lcd.createChar(1, pil_yetmisbes);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else if (deger >= 50.00)
    {
      lcd.createChar(1, pil_elli);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else if (deger >= 25.00)
    {
      lcd.createChar(1, pil_yirmibes);
      lcd.setCursor(15, 1);
      lcd.write(1);
    } else
    {
      lcd.createChar(1, pil_on);
      lcd.setCursor(15, 1);
      lcd.write(1);
    }

  }
}

void Hesapla(float gelen_para) {
  SatirTemizle(0);
  lcd.setCursor(0, 0);
  lcd.print("Son Atilan: ");
  lcd.setCursor(12, 0);
  lcd.print(gelen_para);
  Serial.print("Son Atilan: ");
  Serial.println(gelen_para);
  float toplam = EEPROM.get(0, veritipi);
  toplam += gelen_para;
  // Aşağıdaki EEPROM satırı sistem tamamen çalışır duruma gelince aktif edilecek.
  // Bu komut kapalı olduğu için sistem toplama yapmaz.
  // Sistemem tamamen hazır olduğında aktif edilir ve toplama yapmaya başlar.
  // EEPROM.put(0,toplam);
  SatirTemizle(1);
  lcd.setCursor(0, 1);
  lcd.print("Toplam: ");
  String mst = String(toplam);
  String msst = "TL";
  mst.concat(msst);
  lcd.setCursor(8, 1);
  lcd.print(mst);
  Serial.print("Toplam: ");
  Serial.print(toplam);
  Serial.println(" TL");
  delay(50);
}

void SatirTemizle(int satir) {
  lcd.setCursor(0, satir);
  lcd.print("                ");
  lcd.setCursor(0, satir);
}
Yine olmadı ama bu şeekildde bağlantılarınıda yaptım

16105588878622236024567363549776.jpg
16105589262747098060115413228407.jpg
 
Last edited by a moderator:

Çevrimiçi personel

Forum istatistikleri

Konular
6,952
Mesajlar
118,755
Üyeler
2,824
Son üye
selocan32

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top