Arduino İle Yapacağım Projede Yardıma İhtiyacım Var

Başlatan Sativus, 27 Mart 2016, 20:26:25

Sativus

Arduino ile bir proje yapıyorum. Temel olarak bir şeyler biliyorum arduino ile ilgili. Ancak projede bir kod lazım, ne şekilde neyle yazarım işin içinden çıkamadım.

...
if (potansiyometre > 400)
digitalWrite(led,HIGH);

else
digitalWrite(led,LOW);
...

Bu örnek üzerinden anlatmak istiyorum. Ben bu örnekte potansiyometre 400 değerini geçerse led yansın istedim. Buraya kadar tamam. Bana projede lazım olan şey şu, potansiyometre 400 değerini geçerse led yanacak, bir süre sonra sönecek ve bir daha yanmayacak. Potansiyometre 400 üzerinde olsa bile. Daha sonra potansiyometre değeri 400'ün altına düşüp tekrar 400'ün üzerine çıktığında yine led yanacak, bir süre sonra sönecek ve bir daha yanmayacak.

Yardımcı olabilirseniz sevinirim. Önemli bir proje, zamanında bitirmem gerekiyor. Araştırmalarım devam ediyor, bulursam çözümü paylaşacağım bu başlık altında.


mustafayilmaz

#1
Alıntı yapılan: Sativus - 27 Mart 2016, 20:26:25Arduino ile bir proje yapıyorum. Temel olarak bir şeyler biliyorum arduino ile ilgili. Ancak projede bir kod lazım, ne şekilde neyle yazarım işin içinden çıkamadım. cuk.

...
if (potansiyometre > 400)
digitalWrite(led,HIGH);

else
digitalWrite(led,LOW);
...

Bu örnek üzerinden anlatmak istiyorum. Ben bu örnekte potansiyometre 400 değerini geçerse led yansın istedim. Buraya kadar tamam. Bana projede lazım olan şey şu, potansiyometre 400 değerini geçerse led yanacak, bir süre sonra sönecek ve bir daha yanmayacak. Potansiyometre 400 üzerinde olsa bile. Daha sonra potansiyometre değeri 400'ün altına düşüp tekrar 400'ün üzerine çıktığında yine led yanacak, bir süre sonra sönecek ve bir daha yanmayacak.

Yardımcı olabilirseniz sevinirim. Önemli bir proje, zamanında bitirmem gerekiyor. Araştırmalarım devam ediyor, bulursam çözümü paylaşacağım bu başlık altında.

problemin arduino'dan ziyade, algoritma kuramamak. kod yazmaya başlamadan kağıt ve kalem kullanarak bir taslak oluştur.
aksi durumda; zor problemlerde işin içinden çıkamazsın.

#define S0 0
#define S1 1
#define S2 2

char i=S0;
int ADC=0;

#define led 13

void setup() {
 
 pinMode(led,OUTPUT);
 
}

void loop()
{
  switch(i)
  {
    case S0:
    digitalWrite(led,LOW);
    ADC=analogRead(A0);
    if(value>400)
    {
      i++;
    }   
    break;
   
    case S1:
    digitalWrite(led,HIGH);
    delay(1000);
    digitalWrite(led,LOW);
    i++;
    break;
   
    case S2:
    digitalWrite(led,LOW);
    ADC=analogRead(A0);
    if(value<400)
    {
      i=0;
    }   
    break;       
  }
}

Sativus

Yorumunuz ve kodlar için çok teşekkür ederim. Satır satır inceliyorum şuan. Algoritma konusunda haklısınız. Bir dahaki projelerde dikkat etmem gerekiyor. Bunun gibi başka söyleyebileceğiniz bilgiler var mı? Yani koddan ziyade dikkat edilmesi gereken şeyler vs...

Hızlı Yanıt

Not: Bu konu bir moderatör tarafından onaylanmadan görüntülenmeyecektir.

Adı:
E-Posta:
Doğrulama:
Lütfen bu kutuyu boş bırakın:
IRFP250 Nedir:
kısayollar: göndermek için alt+s veya önizleme yapmak için alt+p'ye basın