Teknoloji Haberleri
DH
forum
mini
Uygulama ile
aç
Uygulama ile Aç
Giriş
Kayıt
DH Anasayfa
İndirim Kodu
Ara
Popüler
Foruma Git
Hakkımızda
Destek
Mobil Sürüm
Standart Site Görünümü
Bu Konuda
Tüm Forumlar
Donanım / Hardware
Elektronik ve Mekanik
Arduino
Bu Konuda
Bağlan:
Facebook
Google+
Twitter
Aşağı Git
Tüm Forumlar
Donanım / Hardware
Elektronik ve Mekanik
Arduino
Arduino ve RTC kullanarak zamanlayıcılı damlama sulama sistemi
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
501
Tıklama
0
Öne Çıkarma
1. sayfa
Arduino ve RTC kullanarak zamanlayıcılı damlama sulama sistemi
Cevap Yaz
Konuya Özel
Linkli Mesajlar
Seçkin Yorumlar
E
emreaslan59
Cevapla
Özel Mesaj
Şikayet
Mesaja Link
Takip Et
5 yıl
Er
Konu Sahibi
Merhaba size bir projem hakkında teknik bir sorum olacaktı İnternette araştırmama rağmen çözüm bulamadım. Arduino ile kontrol ettiğim RTC ve Solenoid vana ile zaman ayarlı bir damlama sulama sistemi yapmak istiyorum fakat BDX53C transistör ve 1N4007 diyot ile solenoid vana için sürücü devresi kurmama rağmen vanayı tetiklediğimde RTC saati sıfırlanıyor hatta arka arkaya buton ile tetiklersem arduino kendine reset atıyor ve diyotun uçlarını ölçtüğümde anlık olarak 1400 V gibi gerilim değerleri görüyorum bunun sebebi ne olabilir acaba? Devreyi ve kodları ekleyeceğim yardımcı olabilirseniz çok sevinirim şimdiden teşekkür ederim, iyi günler.kodları fotoğraftan incelemesi zor olur diye yazı olarak ekliyorum;#include <virtuabotixRTC.h>int solenoidPin = 9;int solenoidPin2 = 10;int CLK_PIN=8;int DAT_PIN=7;int RST_PIN=6;int manualbuton=2;int stopbuton=3;int butondurum;int butondurum2;int greenled=4;int redled=5;int istenensaat=19;int istenensaat2=20;int sayac=0;int sayac2=0;virtuabotixRTC myRTC(CLK_PIN, DAT_PIN, RST_PIN);void setup() {Serial.begin(9600);pinMode(solenoidPin, OUTPUT);pinMode(solenoidPin2, OUTPUT);pinMode(manualbuton, INPUT_PULLUP);pinMode(stopbuton, INPUT_PULLUP);pinMode(greenled, OUTPUT);pinMode(redled, OUTPUT);myRTC.setDS1302Time(0,04, 18, 1, 22, 6, 2020); //Kodu yükle sonra kaldır tekrar yükle.}void loop() { myRTC.updateTime(); Serial.print(myRTC.hours); Serial.print(":"); Serial.print(myRTC.minutes); Serial.print(":"); Serial.print(myRTC.seconds); Serial.print(" "); Serial.print(sayac); Serial.print(" "); Serial.println(sayac2); butondurum=digitalRead(manualbuton); if(butondurum == 0) { delay(10); while(digitalRead(manualbuton) == 0) { digitalRead(manualbuton); } sayac++; } butondurum2=digitalRead(stopbuton); if(butondurum2 == 0) { delay(10); while(digitalRead(stopbuton) == 0) { digitalRead(stopbuton); } sayac2++; } switch(sayac){ case 1: if(sayac == 1) { digitalWrite(solenoidPin, HIGH); digitalWrite(solenoidPin2, HIGH); digitalWrite(redled, HIGH); digitalWrite(greenled, LOW); } break; case 2: if(sayac == 2 || sayac == 0) { digitalWrite(solenoidPin, LOW); digitalWrite(solenoidPin2, LOW); digitalWrite(redled, LOW); digitalWrite(greenled, HIGH); sayac = 0; } break; } if(myRTC.dayofweek == 1 || myRTC.dayofweek == 3 || myRTC.dayofweek == 5 || myRTC.dayofweek == 7) { if(myRTC.hours == istenensaat && myRTC.minutes == 45 && myRTC.seconds == 0) { digitalWrite(solenoidPin, HIGH); } if(myRTC.hours == 20 && myRTC.minutes == 0 && myRTC.seconds ==0) { digitalWrite(solenoidPin, LOW); } if(myRTC.hours == istenensaat2 && myRTC.minutes == 1 && myRTC.seconds ==0) { digitalWrite(solenoidPin2, HIGH); } if(myRTC.hours == 20 && myRTC.minutes == 16 && myRTC.seconds == 0) { digitalWrite(solenoidPin2, LOW); } switch(sayac2) { case 1: if(sayac2 == 1) { digitalWrite(solenoidPin, LOW); digitalWrite(solenoidPin2, LOW); digitalWrite(redled, HIGH); digitalWrite(greenled, HIGH); } break; case 2: if(sayac2 == 2) { sayac2=0; digitalWrite(redled, LOW); } break; } } if(sayac !=1 && sayac2 !=1) { digitalWrite(greenled, HIGH); }}
< Resime gitmek için tıklayın >
< Resime gitmek için tıklayın >
1. sayfa
Hizmet kalitesi için çerezleri kullanabiliriz, DH'yi kullanırken depoladığımız çerezlerle ilgili
veri politikamıza
gözatın.
< Resime gitmek için tıklayın >
< Resime gitmek için tıklayın >