IR Kumanda ile ilgili sorun

itopal

Üye
Katılım
18 Şub 2019
Mesajlar
3
Puanları
1
Yaş
32
Herkese merhaba. Arduino'da yeniyim ve aşamadığım bir problemi danışmak istiyorum. DS3231, servo motor, butondan oluşan bir mama kabı tasarladım. Çalışmasında sorun yok. Buna ek olarak IR kumanda da eklemek istedim. Ekledim fakat tuşa bastığımda servoyu aynı butonda ya da saati geldiğinde bir kere açıp kapattığı gibi açıp kapatmasını istiyorum fakat sürekli aç kapa yapıyor bunu nasıl çözebilirim?

İkinci sorum ise servoyu adaptörle çalıştırabiliyorum. Her kod denememde adaptörü çıkartıp USByi bağlıyorum. Adaptörü çıkartmadan USB yi bağlasam bir sorun olur mu?
Kod:
#include <Servo.h>           

#include <Wire.h>

#include <DS3231.h>           

#include <IRremote.h>



DS3231 clock;                 

RTCDateTime dt;



#define buton 8               

                              

Servo kapak;                 



int hour;                   

int minute;

int second;



int butondurum;             



int RECV_PIN = 11;



IRrecv irrecv(RECV_PIN);

decode_results results;



#define ac 16738455             //*





void setup() {



pinMode(buton, INPUT);       



kapak.attach(5);             



Serial.begin(9600);           

Serial.println("Initialize DS3231");;

  clock.begin();



  clock.setDateTime(__DATE__, __TIME__);



irrecv.enableIRIn();

}



void loop() {



  dt = clock.getDateTime();                             



  Serial.print("Tarih&Saat: ");                           

  Serial.print(dt.day);    Serial.print("/");

  Serial.print(dt.month);  Serial.print("/");

  Serial.print(dt.year);   Serial.print(" ");

  Serial.print(dt.hour);   Serial.print(":");

  Serial.print(dt.minute); Serial.print(":");

  Serial.print(dt.second); Serial.println("");

  delay(1000);                                           



  butondurum=digitalRead(buton);                         





if(irrecv.decode(&results)){

  if(results.value==ac){

    kapak.write(180);

    delay(1000);

    kapak.write(90);

  }



}



if(dt.hour == 3 && dt.minute == 20 && dt.second == 30){

  kapak.write(180);

  delay(1000);

  kapak.write(90);

}



else if(dt.hour == 22 && dt.minute == 50 && dt.second == 30){

  kapak.write(180);

  delay(5000);

  kapak.write(90);

}



else if(butondurum==HIGH){                             

  kapak.write(180);

  delay(1000);

  kapak.write(90);

}





}
 
Moderatör tarafında düzenlendi:
if(irrecv.decode(&results)){
if(results.value==ac){

bu koddan sonra

irrecv.resume(); bunu eklersem de bir kez istediğim gibi çalışıyor bundan sonra tuş çalışmıyor. hatta buton da çalışmıyor.

Sorunu hallettim konu silinebilir.
 

Forum istatistikleri

Konular
128,125
Mesajlar
915,237
Kullanıcılar
449,837
Son üye
betül hüsrevoğlu

Yeni konular

Geri
Üst