Arduino Sıvı Dolum Projesi

Arduino sıvı dolum projesinde kaç adet bardak doldurulacağı bilgisi girilmektedir. Başlat butonuna basınca otomatik olarak girilen bardak adetince sistem bardaklara sıvı doldurmaya başlar.

#include <LiquidCrystal.h>
LiquidCrystal lcd(13 , 12, 11 , 10 , 9 , 4);

#define DT 3
#define SCK 2

int arti = 8;
int eksi = 7;
int baslat = 6;
int dara_pin = 5;
int engel;
int engel_pin = A0;
int pompa = A4;
int band = A5;
int urun;
int say;

bool bir = false;
bool iki = false;
bool uc = false;
bool dort = false;

int dara = 0;
int okunan;
int tartim;
int son;

float karbon;
float yag;
float protein;

//long sample=8415375;
//float val=473.77;
//long count=8367946;

long sample = 8391092;
float val = 841.62;
long count = 8238142;

unsigned long readCount(void)
{
  unsigned long Count;
  unsigned char i;
  pinMode(DT, OUTPUT);
  digitalWrite(DT, HIGH);
  digitalWrite(SCK, LOW);
  Count = 0;
  pinMode(DT, INPUT);
  while (digitalRead(DT));
  for (i = 0; i < 24; i++)
  {
    digitalWrite(SCK, HIGH);
    Count = Count << 1;
    digitalWrite(SCK, LOW);
    if (digitalRead(DT))
      Count++;
  }
  digitalWrite(SCK, HIGH);
  Count = Count ^ 0x800000;
  return (Count);
}

void setup()
{ Serial.begin(9600);
  pinMode(SCK, OUTPUT);
  lcd.begin(16, 2);
  lcd.clear();

  pinMode(pompa, OUTPUT);
  pinMode(band, OUTPUT);
  pinMode(engel_pin, INPUT);


  pinMode(SCK, OUTPUT);
  pinMode(dara_pin, INPUT);
  pinMode(arti, INPUT);
  pinMode(eksi, INPUT);
  pinMode(baslat, INPUT);
  pinMode(dara_pin, INPUT);
  digitalWrite(band,LOW);
}


void loop()
{say=0;

  digitalWrite(pompa,LOW);
  digitalWrite(band,LOW);
  if (digitalRead(dara_pin) == 1)dara = tartim; 
  count = readCount();
  int w = (((count - sample) / val) - 2 * ((count - sample) / val));
  okunan = (w * 2) - 200;
  tartim = okunan + (okunan * 0.06);
  son = tartim - dara;


  if (digitalRead(arti) == 1) {
    urun++; if (urun > 10)urun = 0;
    while (digitalRead(arti) == 1) {}
  }
  if (digitalRead(eksi) == 1) {
    urun--; if (urun < 0)urun = 10;
    while (digitalRead(eksi) == 1) {}
  }
  
  
  if (digitalRead(baslat) == 1)
  { say=0;
  lcd.setCursor(0, 1);  
  lcd.print("DOLUM BASLAYACAK"); 
  delay(2000);
  digitalWrite(band,HIGH);
    while(urun>say)
    {  


  if (digitalRead(engel_pin) == 0){
    
  digitalWrite(band,LOW);
  delay(2000);
       if(tartim<0)dara = tartim; 
  count = readCount();
  int w = (((count - sample) / val) - 2 * ((count - sample) / val));
  okunan = (w * 2) - 200;
  tartim = okunan + (okunan * 0.06);
  son = tartim - dara;
while(son<110)
{   
  lcd.setCursor(0, 0);  lcd.print("URUN:"); if (urun < 10)lcd.print("0"); lcd.print(urun); lcd.print("+GECEN:"); if (urun < 10)lcd.print("0"); lcd.print(say);
   lcd.setCursor(0, 1);  
  lcd.print("AGIRLIK :"); 
  if (son < 10)
  lcd.print("00"); 
  if (son >9 && son<100)
  lcd.print("0"); 
  lcd.print(son); 
  lcd.print("      "); 
  digitalWrite(pompa,HIGH);
  if (digitalRead(dara_pin) == 1){dara = tartim; }
  count = readCount();
  int w = (((count - sample) / val) - 2 * ((count - sample) / val));
  okunan = (w * 2) - 200;
  tartim = okunan + (okunan * 0.06);
  son = tartim - dara;
}
say++;
  digitalWrite(pompa,LOW);
  lcd.setCursor(0, 0);  lcd.print("URUN:"); if (urun < 10)lcd.print("0"); lcd.print(urun); lcd.print("+GECEN:"); if (urun < 10)lcd.print("0"); lcd.print(say);
  lcd.setCursor(0, 1);  
  lcd.print("DOLUM TAMAMLANDI"); 
  delay(2000);

  digitalWrite(band,HIGH);
  while (digitalRead(engel_pin) == 0){  
  lcd.setCursor(0, 1);  
  lcd.print("URUN CIKISI OLDU"); 
  digitalWrite(band,HIGH); }


    
    }




      
    }
  
  
  }



    lcd.setCursor(0, 0);  lcd.print("URUN:"); if (urun < 10)lcd.print("0"); lcd.print(urun); lcd.print(" GECEN:"); if (urun < 10)lcd.print("0"); lcd.print(say);
  lcd.setCursor(0, 1);  
  lcd.print("AGIRLIK :"); 
  if (son < 10)
  lcd.print("00"); 
  if (son >9 && son<100)
  lcd.print("0"); 
  lcd.print(son); 
  lcd.print("      "); 
}

Sosyal Medyada Paylaş Facebook Twitter Google+

Etiketler: , , , , ,
Eklenme Tarihi: 13 Kasım 2021

Konu hakkında yorumunuzu yazın

UA-46017808-1

HOŞ GELDİNİZ

Youtube kanalıma Abone Olabilirsiniz.