Elektrik elektronik temrinleri

Ders Notları => Arduino Öğreniyorum => Konuyu başlatan: kral_51 - 01 Mayıs 2016, 14:40:13

Başlık: Saate göre çıktı verme
Gönderen: kral_51 - 01 Mayıs 2016, 14:40:13
Merhaba,
Arduino öğrenmeye çalışıyorum.1 adet arduino uno, 1 adet 5110 ekranı, 1 adet DS1307 aldım ve saat ayarlarını yaptım. fakat 1 adet servo motoru hergün günde 3 defa çalıştırmak (saat 11, 13, ve 15'de) istiyorum. Bulduğum kodda bu değişikliği yapamadım. Bu konuda yardımcı olabilecek var mıdır?

‪#‎include‬ <Servo.h>

Servo myservo; // sınıfın bir örneğini aldık

void setup()
 {
 myservo.attach(5); // arduinonun 5. pinini çıkış yaptık.
 myservo.write(0); // motora ilk 0.derecesinden başlaması komutunu verdik
 }

void loop()
 {
 myservo.write(95); // servonun ilk konumunu kapak kapalı olacak şekilde ayarlıyoruz

delay(2000); // balıklara hangi aralıklarda yem verileceğini ayarlamak için 1 gün ya da yarım gün yapılması uygun olacaktır

myservo.write(30); //servonun kapağının açık olacağı konumu ayarlıyoruz
 delay(800); // kapakların açık olacağı süre. Dökülecek yem miktarını ayarlamak için
 }
Başlık: Ynt: Saate göre çıktı verme
Gönderen: Hasan ERTÜRK - 02 Mayıs 2016, 13:17:21
Verdiğiniz kodlar saat ayarlı çalışmaz. Bu haliyle 2 saniye aralıklarla yem bırakmakta.
delay(2000); kodunundaki 2000 değerini büyülterek daha uzun süreler elde edebilirsiniz.
Başlık: Ynt: Saate göre çıktı verme
Gönderen: kral_51 - 02 Mayıs 2016, 19:16:07
Evet o örneği buldum fakat bana gerekli olan saate göre çalıştırması gerekli fakat kod bilgim olmadığı için void loop kısmını yapamadım.
Başlık: Ynt: Saate göre çıktı verme
Gönderen: Hasan ERTÜRK - 02 Mayıs 2016, 21:47:47
Biraz araştırmam gerek. Yaparsam paylaşırım.
Başlık: Ynt: Saate göre çıktı verme
Gönderen: kral_51 - 02 Mayıs 2016, 22:14:49
Teşekkür ederim, aslında elimde kod var 2 farklı fakat 2 sini birbirine geçirip uyduramadım :) bütün sorunda orda

x= rtc'den gelen zaman bilgisi

if x==08 or 09 or 10 => servoyu çalıştır
fakat bunu koda dökmek sorun işte.
Başlık: Ynt: Saate göre çıktı verme
Gönderen: faruk.bekts - 10 Mayıs 2016, 10:25:03
Zaman ayarı yapmak istiyorsan kesmelere bakmanda fayda var diye düşünüyorum. Timer kesmesi kullanarak bunu rahatlıkla yapabilirsin.
Kesmelere baktığında beni anlayacaksınız.
Not: Kesmeler birazcık ileri programlama gerektirebilir.

Örnek kesme uygulaması:

https://gelecegiyazanlar.turkcell.com.tr/konu/arduino/egitim/arduino-104/zaman-kesmesi-timer-interrupt (https://gelecegiyazanlar.turkcell.com.tr/konu/arduino/egitim/arduino-104/zaman-kesmesi-timer-interrupt)