Ertugrul_94
Öğrenci
- Katılım
- 6 Şubat 2019
- Mesajlar
- 2
- Reaksiyon puanı
- 0
- Puanları
- 1
- Yaş
- 26
ÇALIŞMA PRENSİBİ : Rgb ledi tek buton ile bir kez bastığımızda rgb ledi renk geçişleri ile yakacağız,
butona tekrar bastığımızda ise rgb ledi söndüreceğiz. kodu atıyorum en kısa sürede yardım ederseniz sevinirim 1 hafta sürem var kodu böyle yaptım ilk durumda ledlerin hepsi yanıyor butona bastığımızda ledlerin 3 de sıraası ile sönüyor sonra sıra sıra sonsuz şekilde yanıp sönüyor ama kapatması olmuyor
int kled=2;
int mled=3;
int yled=4;
int buton=5;
bool durum=0;
bool butondeger=0;
void setup() {
pinMode(kled,OUTPUT);
pinMode(mled,OUTPUT);
pinMode(yled,OUTPUT);
pinMode(buton,INPUT);
}
void loop() {
butondeger=digitalRead(buton);
while (butondeger==HIGH && durum==0){
ledyak();
durum=0;
delay(200);
}
if(butondeger==HIGH && durum==1){
ledsondur();
durum=1;
delay(200);
}
}
void ledyak(){
digitalWrite(yled,LOW);
delay(1000);
digitalWrite(yled,HIGH);
digitalWrite(kled,LOW);
delay(1000);
digitalWrite(kled,HIGH);
digitalWrite(mled,LOW);
delay(1000);
digitalWrite(mled,HIGH);
delay(1000);
}
void ledsondur(){
digitalWrite(kled,HIGH);
digitalWrite(mled,HIGH);
digitalWrite(yled,HIGH);
}
butona tekrar bastığımızda ise rgb ledi söndüreceğiz. kodu atıyorum en kısa sürede yardım ederseniz sevinirim 1 hafta sürem var kodu böyle yaptım ilk durumda ledlerin hepsi yanıyor butona bastığımızda ledlerin 3 de sıraası ile sönüyor sonra sıra sıra sonsuz şekilde yanıp sönüyor ama kapatması olmuyor
int kled=2;
int mled=3;
int yled=4;
int buton=5;
bool durum=0;
bool butondeger=0;
void setup() {
pinMode(kled,OUTPUT);
pinMode(mled,OUTPUT);
pinMode(yled,OUTPUT);
pinMode(buton,INPUT);
}
void loop() {
butondeger=digitalRead(buton);
while (butondeger==HIGH && durum==0){
ledyak();
durum=0;
delay(200);
}
if(butondeger==HIGH && durum==1){
ledsondur();
durum=1;
delay(200);
}
}
void ledyak(){
digitalWrite(yled,LOW);
delay(1000);
digitalWrite(yled,HIGH);
digitalWrite(kled,LOW);
delay(1000);
digitalWrite(kled,HIGH);
digitalWrite(mled,LOW);
delay(1000);
digitalWrite(mled,HIGH);
delay(1000);
}
void ledsondur(){
digitalWrite(kled,HIGH);
digitalWrite(mled,HIGH);
digitalWrite(yled,HIGH);
}