Temelelektronik.info

Bilgiler > Otomatik Kapı ve Aydınlatma Program Kodları



Otomatik Kapı ve Aydınlatma Program Kodları

#include "SoftwareSerial.h"
#include "TimerOne.h"
#include "RCSwitch.h"
RCSwitch mySwitch = RCSwitch();  
int data;
int led=13;
int darkness=0;
int role=5;

SoftwareSerial mySerial(10, 11); // RX, TX
int sayac=0;
      void setup() 
      {
        isiktest();
        mySerial.begin(9600);
        pinMode(led,OUTPUT);  
        pinMode(role,OUTPUT); 
        Serial.begin(19200);
        digitalWrite(led,0);
        Timer1.initialize(100000); // set a timer of length 100000 microseconds (or 0.1 sec - or 10Hz => the led will blink 5 times, 5 cycles of on-and-off, per second)
        Timer1.attachInterrupt( timerIsr );      
        mySwitch.enableTransmit(2);
        mySwitch.setPulseLength(504); 
        mySwitch.setRepeatTransmit(10); 
        
      }
      void loop() {  
        
          
                 if (mySerial.available())
                 {
                           data = mySerial.read();
                           if(data!=0)
                              Serial.println(data); 
                                                        
                           if(data==1) //istiklal marşı başlat/ durdur                    
                              mars();
                                    
                           // kapıyı aç
                           if(data==2)                    
                              ac();
      
                           // kapıyı kapat
                          if(data==3)                    
                              kapat();
      
                           // kapıyı durdur
                          if(data==4)
                              durdur();
                                 
                 }
              
        }



                    void kapat()
                    {      
                     durdur();              
                     mySwitch.send(22146, 24);//kapat
                     Serial.println(22146);
                     delay(1); 
                     sayac=0; 
                     digitalWrite(led,LOW);  
                     }

                    void ac()
                    {
                    durdur();                   
                     mySwitch.send(22145, 24);//ac
                     Serial.println(22145);
                     delay(1);
                     sayac=0;
                     digitalWrite(led,HIGH);
                     }

                    void durdur()
                    {
                     mySwitch.send(22148, 24);
                     Serial.println(22148);
                     delay(750); 
                     sayac=0;
                     }
                    void mars()
                    {
                      mySwitch.send(15977475, 24);
                      Serial.println(15977475);
                      delay(1);
                    }
                    void isiktest()
                    {
                        darkness=analogRead(A6);  
                        Serial.println(darkness);                      
                        if(darkness<800)
                        {
                          digitalWrite(role,LOW);
                        }
                        if(darkness>950)
                        {
                          digitalWrite(role,HIGH);
                        }
                      }


                    //5 dakika da bir kapıyı kapat. Kapının açık kalmasını engelle
                      void timerIsr()
                    {
                        sayac++;
                        if(sayac>3000)//5 dakikada bir isigi test et ve kapiyi kapatma kodu gonder
                        { 
                        isiktest(); //isik miktarini test et
                        kapat(); // Kapıyı kapat     
                        sayac=0;  
                        }
                    }

Devre:http://www.temelelektronik.inf....aspx?devre=731


sonraki bilgi:      Siroz Belirtileri

önceki bilgi:       Öğretmen Atama ve Yer Değiştirme Yönetmeliği

 
 

Bu sayfaya 408  defa bakıldı


Bu internet sitesi kar amacı gütmemektedir. Bu içeriğin siteden kaldırılmasını istiyorsanız alttaki butonu kullanarak içeriğin kaldırılması için istekte bulunabilirsiniz.


Telefon Uyumlu Sayfa