Arduino kod çalışmıyor.

Bu konuyu okuyanlar

Emir7845

Öğrenci
Katılım
11 Haziran 2020
Mesajlar
2
Reaksiyon puanı
0
Puanları
1
Yaş
28
Merhaba. Arduino'da bir proje yapmak istedim. Amaç = RTC modülündeki saat bilgisi 16x2 LCD ekranda yazmalı. Daha sonra hareket sensörü hareket algıladığında sayım yapmalı, bunları yaptım. Sonra birkaç ekleme yapmak istedim. Hareket algıladığında ve LDR sensörü belli bir değerin altını gösterdiğinde röleye sinyal gitsin bir de sayaca +1 yapmasını istedim. Kodları yazdım ama bir türlü çalışmadı hata nedir? Cevaplarınızı bekliyorum. İyi günler.






Not: Hareket algılandığında 2 saniye bekleme vermemin sebebi hareket sensörü minimum 3 saniye boyunca locik 1 verir bunu yapmazsam her hareket algıladığında +3 verir. Sorunu bekleterek çözdüm.






Kodlar =

#include <Wire.h>
#include "RTClib.h"
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 7, 6, 5, 4, 3);
RTC_DS1307 RTC;
int buton = 2;
int hareket= 9;
int sayac;
int ldr = A0;
int role = 12;
int asd=9;

char daysOfTheWeek[7][12] = {"Paz", "Pzt", "Sal", "Car", "Per", "Cum", "Cmt"};

void setup () {

pinMode(buton,INPUT);
pinMode(hareket,INPUT);
pinMode(13,OUTPUT);
pinMode(ldr,INPUT);
pinMode(role,OUTPUT);


Wire.begin();
RTC.begin();
lcd.begin(16, 2);
if (! RTC.isrunning()) {
lcd.println("RTC calismiyor");
}
for(int a=0; a<3; a++){
lcd.print("Bekleyiniz.");
delay(500);
lcd.clear();
lcd.print("Bekleyiniz..");
delay(500);
lcd.clear();
lcd.print("Bekleyiniz...");
delay(500);
lcd.clear();
}
lcd.setCursor(0, 0);
lcd.print("Selim...........");
lcd.setCursor(0, 1);
lcd.print("............Emir");
delay (2000);
lcd.clear();
}


void loop () {
digitalWrite(13,LOW);
if(digitalRead(buton)==0){

DateTime now = RTC.now();
lcd.setCursor(0, 0);
lcd.print(now.day(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.year(), DEC);
lcd.print(' ');
lcd.print(" ");
lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
lcd.setCursor(0, 1);
if (now.hour()<10)
lcd.print('0');
lcd.print(now.hour(), DEC);
lcd.print(':');
if (now.minute()<10)
lcd.print('0');
lcd.print(now.minute(), DEC);
lcd.print(':');
if (now.second()<10)
lcd.print('0');
lcd.print(now.second(), DEC);
delay(100);
lcd.clear();


}


if(digitalRead(buton)==1){

lcd.print("Hareket = ");
lcd.print(sayac);
lcd.setCursor(6,1);
lcd.print("LDR = ");
lcd.print(ldr);
lcd.home();

}

else if(analogRead(ldr)<35 && digitalRead(hareket)==1){
delay(2000);
sayac=sayac+1;
digitalWrite(role,HIGH);
delay(6000);
digitalWrite(role,LOW);

}



else if(digitalRead(hareket)==1){
delay(2000);
sayac=sayac+1;
}





ldr = analogRead(A0);

}
 
Üst