arkadaşlar buton aktif olduğunda if döngüsü 1 defa çalışsın ve 60 saniye beklesin eğer hala şart sağlanıyorsa tekrar çalışsın istiyorum. if döngüsünün içine for ile deneme yaptım olmadı. nasıl yapailirim. 60 saniye boyunca main loop yine çalışmasına devam edecek sensörü okuyacak.
saniye tutmak için millis fonksiyonu kullanman gerek https://gelecegiyazanlar.turkcell.com.tr/konu/arduino/egitim/arduino-201/millis-fonksiyonu-nedir-ve-nerelerde-kullanilir 60 saniye olduğunda if şartı sağlanır ve fonksiyon çalışır sonra sayımı başa dönderirsin
int saniyebit=1; long simdikizaman,oncekizaman; int buttondurum; void loop() { simdikitime = millis(); buttondurum = digitalRead(buttonpin); //butonu okuma bölümü kendi degiskenlerinle degistirebilirsin if(!saniyebit) //butona basıldığında yapılacak işi 1 kere yapıp 60sanıye bekleyen bölüm { if(simdikitime - oncekitime >=60000) { oncekitime = simdikitime; saniyebit = 1; } } if(buttondurum && saniyebit) //butona basıldıgında yapılacak iş { saniyebit=0; oncekitime = simdikitime; /* buraya 1kere yapmak istediğin şeyi yazman gerek */ } }
tamda bunu demiştim. eline sağlık usta. a6 gsm modem aldım bir tane mesaja göre string analizi yaptırıp lambayı açıp kapatabiliyorum. hareket sensörnden 1 geldiği zaman mesaj atacaktı bekleme olmazsa sürekli kod dönüyordu. orda kullanacam. 60 saniye hala 1 ise yine mesaj at diye.
a6 yı kaça aldın
hortlatmış gibi olacak ama aliexpressden 3.5 dolar. a6ların imei değişebiliyor.