Lezzetli Robot Tarifleri Sosyal'e Hoş Geldiniz.. Devamı..

Giriş Yap Üye Ol


Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
help me pleas
#1
Sad 
Herkese selam. elimde calışır durumda bir yazılım var degişdirmek icin ugraşdım amma hep sorun cıkdı. 
Ardunıo + 4 role + 4 buton + 1lcd 4*20. sistem şöyle calışıyor buton 1 2 3 veya 4 e her basdıgımda role 1, 2 ,3 , 4 1 saat acılıyor ve gerıde kalan sureyı lcd de gosterıyor sure bitdiyinde role kapanıyor. bu sıstem sorunsuz calısıyor. simdi ben 5 buton kullanmak istiyorum. 5 ci butonu basdıgdıqdan sonra yukarda anlatdıgım sistem activ olsun. ve her butonu 1 kes aktıv etme sansım olsun ıstıyorum. 
onceden herkese tesekurler..

#include 
/* LCD pinleri tanımlanıyor */
LiquidCrystal lcd(9, 8, 7, 6, 5, 4, 3); /* 4-bit modu için */


int b1 = A0;
int b2 = A1;
int b3 = A2;
int b4 = A3;

unsigned long sure1 = 0;
unsigned long sure2 = 0;
unsigned long sure3 = 0;
unsigned long sure4 = 0;

unsigned long kalan1 = 0;
unsigned long kalan2 = 0;
unsigned long kalan3 = 0;
unsigned long kalan4 = 0;


unsigned long bas1 = 0;
unsigned long bas2 = 0;
unsigned long bas3 = 0;
unsigned long bas4 = 0;

unsigned long simdi = 0;

int saat1 = 0;
int saat2 = 0;
int saat3 = 0;
int saat4 = 0;

int sa1 = 0;
int da1 = 0;
int sn1 = 0;

int sa2 = 0;
int da2 = 0;
int sn2 = 0;

int sa3 = 0;
int da3 = 0;
int sn3 = 0;

int sa4 = 0;
int da4 = 0;
int sn4 = 0;



int db1 = 0;
int db2 = 0;
int db3 = 0;
int db4 = 0;

int role1 = 13;
int role2 = 12;
int role3 = 11;
int role4 = 10;

void setup() {
lcd.begin(20,4); /* LCD tanımlanıyor*/
lcd.clear(); /* LCD'yi temizle */
pinMode(b1, INPUT_PULLUP);
pinMode(b2, INPUT_PULLUP);
pinMode(b3, INPUT_PULLUP);
pinMode(b4, INPUT_PULLUP);

pinMode(role1, OUTPUT);
pinMode(role2, OUTPUT);
pinMode(role3, OUTPUT);
pinMode(role4, OUTPUT);

digitalWrite(role1, LOW);
digitalWrite(role2, LOW);
digitalWrite(role3, LOW);
digitalWrite(role4, LOW);

lcd.setCursor(0,0); 
lcd.print("KAPALI ");

lcd.setCursor(0,1); 
lcd.print("KAPALI ");

lcd.setCursor(0,2); 
lcd.print("KAPALI ");

lcd.setCursor(0,3); 
lcd.print("KAPALI ");
}

void loop() {

simdi = millis();

//sureGoster();
sureGoster1();
sureGoster2();
sureGoster3();
sureGoster4();



if (digitalRead(b1)==LOW) buton1();
if (digitalRead(b2)==LOW) buton2();
if (digitalRead(b3)==LOW) buton3();
if (digitalRead(b4)==LOW) buton4();

delay(100);
}



void buton1(){
arttir(1);
delay(300);
}

void buton2(){
arttir(2);
delay(300);
}

void buton3(){
arttir(3);
delay(300);
}

void buton4(){
arttir(4);
delay(300);
}


void arttir(int sure){

if (sure==1){ 
if (bas1==0){
bas1 = simdi;
kalan1=3600000;
digitalWrite(role1, HIGH);

}
saat1++;
if (saat1==10) kapat1();
else sure1+=3600000;
}

if (sure==2){ 
if (bas2==0){
bas2 = simdi;
kalan2=3600000;
digitalWrite(role2, HIGH);

}
saat2++;
if (saat2==10) kapat2();
sure2+=3600000;
}

if (sure==3){ 
if (bas3==0){
bas3 = simdi;
kalan3=3600000;
digitalWrite(role3, HIGH);

}
saat3++;
if (saat3==10) kapat3();
sure3+=3600000;
}

if (sure==4){ 
if (bas4==0){
bas4 = simdi;
kalan4=3600000;
digitalWrite(role4, HIGH);

}
saat4++;
if (saat4==10) kapat4();
sure4+=3600000;
}

}



void sureGoster1(){
if (bas1>0){
lcd.setCursor(0,0); 
kalan1 = sure1 - (simdi - bas1); 
if (kalan1<=1000){<br /> kapat1();
}
else{
sa1 = kalan1 / 3600000;
da1 = (kalan1 - (sa1*3600000)) / 60000 ;
sn1 = (kalan1 - (sa1*3600000) - (da1*60000)) / 1000;
lcd.print(sa1);
lcd.print(":");
if (da1<10) lcd.print("0");<br /> lcd.print(da1);
lcd.print(":");
if (sn1<10) lcd.print("0");<br /> lcd.print(sn1);
lcd.print(" "); 
lcd.setCursor(14,0);
lcd.print(saat1);
lcd.print(" SAAT");
}
}
else kapat1();
}


void sureGoster2(){
if (bas2>0){
lcd.setCursor(0,1); 
if (kalan2<=1000){<br /> kapat2();
}
else{
kalan2 = sure2 - (simdi - bas2);
sa2 = kalan2 / 3600000;
da2 = (kalan2 - (sa2*3600000)) / 60000 ;
sn2 = (kalan2 - (sa2*3600000) - (da2*60000)) / 1000;
lcd.print(sa2);
lcd.print(":");
if (da2<10) lcd.print("0");<br /> lcd.print(da2);
lcd.print(":");
if (sn2<10) lcd.print("0");<br /> lcd.print(sn2);
lcd.print(" "); 
lcd.setCursor(14,1);
lcd.print(saat2);
lcd.print(" SAAT");
}
}
else kapat2();
}


void sureGoster3(){
if (bas3>0){
lcd.setCursor(0,2); 
if (kalan3<=1000){<br /> kapat3();
}
else{
kalan3 = sure3 - (simdi - bas3);
sa3 = kalan3 / 3600000;
da3 = (kalan3 - (sa3*3600000)) / 60000 ;
sn3 = (kalan3 - (sa3*3600000) - (da3*60000)) / 1000;
lcd.print(sa3);
lcd.print(":");
if (da3<10) lcd.print("0");<br /> lcd.print(da3);
lcd.print(":");
if (sn3<10) lcd.print("0");<br /> lcd.print(sn3);
lcd.print(" "); 
lcd.setCursor(14,2);
lcd.print(saat3);
lcd.print(" SAAT");
}
}
else kapat3();
}


void sureGoster4(){
if (bas4>0){
lcd.setCursor(0,3); 
if (kalan4<=1000){<br /> kapat4();
}
else{
kalan4 = sure4 - (simdi - bas4);
sa4 = kalan4 / 3600000;
da4 = (kalan4 - (sa4*3600000)) / 60000 ;
sn4 = (kalan4 - (sa4*3600000) - (da4*60000)) / 1000;
lcd.print(sa4);
lcd.print(":");
if (da4<10) lcd.print("0");<br /> lcd.print(da4);
lcd.print(":");
if (sn4<10) lcd.print("0");<br /> lcd.print(sn4);
lcd.print(" "); 
lcd.setCursor(14,3);
lcd.print(saat4);
lcd.print(" SAAT");
}
}
else kapat4();
}

void kapat1(){
digitalWrite(role1, LOW);
kalan1 = 0;
bas1 = 0;
sure1 = 0;
saat1 = 0;
lcd.setCursor(0,0);
lcd.print("KAPALI ");
}

void kapat2(){
digitalWrite(role2, LOW);
kalan2 = 0;
bas2 = 0;
sure2 = 0;
saat2 = 0;
lcd.setCursor(0,1);
lcd.print("KAPALI ");
}

void kapat3(){
digitalWrite(role3, LOW);
kalan3 = 0;
bas3 = 0;
sure3 = 0;
saat3 = 0;
lcd.setCursor(0,2);
lcd.print("KAPALI ");
}

void kapat4(){
digitalWrite(role4, LOW);
kalan4 = 0;
bas4 = 0;
sure4 = 0;
saat4 = 0;
lcd.setCursor(0,3);
lcd.print("KAPALI ");
}
Ara
Cevapla


Hızlı Menü:


Konuyu Okuyanlar:
1 Ziyaretçi