writersoul
Üye
- Katılım
- 15 Nis 2017
- Mesajlar
- 69
- Puanları
- 1
- Yaş
- 58
Arkadaşlar merhaba
Arduino ile kodlama öğrenmeye çalışıyorum ve buton, sayaç ve led yakma işlemini bir türlü kafama oturtamadım.
örneğin aşağıdaki kod ile S1 butonuna basınca led yansın ve toplamda 3 defadan fazla basınma durumunda eğer S2 butonuna basıldığında yanan led sönsün istiyorum ama olmuyor. S1 butonuna basıldığında dalgalanmaları önlemek amacıyla koyduğum while döngüsünden hiç çıkamıyor. (bunu Serial.print("hala S1 butonuna basılıyor") satırından anlıyorum .
nerde hata yapıyorum yardımcı olabilir misiniz?
Yazdığım kod şu şekilde;
İlave:
Sorunu çözdüm arkadaşlar. Sorun while döngüsündeki sorgulama kısmında.
while(butondurumuS1!=HIGH)
{ delay(50);
Serial.println("hala S1 butonuna basılıyor");
digitalRead(butondurumuS1);
butondurumu=digitalRead(butonS1);
Arduino ile kodlama öğrenmeye çalışıyorum ve buton, sayaç ve led yakma işlemini bir türlü kafama oturtamadım.
örneğin aşağıdaki kod ile S1 butonuna basınca led yansın ve toplamda 3 defadan fazla basınma durumunda eğer S2 butonuna basıldığında yanan led sönsün istiyorum ama olmuyor. S1 butonuna basıldığında dalgalanmaları önlemek amacıyla koyduğum while döngüsünden hiç çıkamıyor. (bunu Serial.print("hala S1 butonuna basılıyor") satırından anlıyorum .
nerde hata yapıyorum yardımcı olabilir misiniz?
Yazdığım kod şu şekilde;
Kod:
#define led 13
#define butonS1 9
#define butonS2 8
int butondurumuS1;
int butondurumuS2;
int sayac=0;
void setup() {
pinMode(led,OUTPUT);
pinMode(butonS1,INPUT);
pinMode(butonS2,INPUT);
Serial.begin(9600);
}
void loop() {
butondurumuS1=digitalRead(butonS1);
if(!butondurumuS1==HIGH)
{sayac++;
Serial.println(sayac);
delay(1000);
digitalWrite(led,HIGH);
while(butondurumuS1!=HIGH)
{ delay(50);
Serial.println("hala S1 butonuna basılıyor");
digitalRead(butondurumuS1);
}
}
butondurumuS2=digitalRead(butonS2);
if(sayac>3&&!butondurumuS2==HIGH)
{
digitalWrite(led,LOW);
}
}
Sorunu çözdüm arkadaşlar. Sorun while döngüsündeki sorgulama kısmında.
while(butondurumuS1!=HIGH)
{ delay(50);
Serial.println("hala S1 butonuna basılıyor");
butondurumu=digitalRead(butonS1);
Moderatör tarafında düzenlendi: