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 264  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.