Main

Код прошивки (без модуля ethernet)

Описание использование кода здесь.


int cycle_counter=0;

int old_garage=0;
int old_entry=0;
int old_movement_1=0;
int old_movement_2=0;

int old_button_1=0;
int old_button_2=0;

char buf[80];

// Функция отправки HTTP-запроса на сервер
void sendHTTPRequest() {
  Serial.println(buf); 
}


void setup()
{

 pinMode(4, INPUT); // Датчик гаражной двери на 7-ый пин
 old_garage=digitalRead(4);

 pinMode(5, INPUT); // Датчик въездных ворот на 8-ый пин 
 old_entry=digitalRead(5);

 pinMode(6, INPUT); // Датчик движения 1
 old_movement_1=digitalRead(6);

 pinMode(7, INPUT); // Датчик движения 2
 old_movement_2=digitalRead(7);

 pinMode(8, INPUT); // Кнопка пульта 1
 old_button_1=digitalRead(8);

 pinMode(9, INPUT); // Кнопка пульта 2
 old_button_2=digitalRead(9);


 Serial.begin(115200); // Скорость консольного порта 115200 (пригодится для отладки)
}

void loop()
{

  int valid_sensor=0;

  delay(100); // задержка в 0.1 сек.  
  cycle_counter++;

  if (cycle_counter>600) {
    cycle_counter=0;
  }    

  //GARAGE GATES SENSOR
  Serial.println("G");
  int current_garage=digitalRead(4);
  //Serial.println(current_garage);
  if (current_garage!=(int)old_garage) {
    old_garage=(int)current_garage;
    sprintf(buf, "GET /objects/?object=sensorGarage&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_garage);
    sendHTTPRequest();
  }

 //ENTRY GATES SENSOR

  Serial.println("E");
  int current_entry=digitalRead(5);
  //Serial.println(current_entry);
  if (current_entry!=(int)old_entry) {
    old_entry=(int)current_entry;
    sprintf(buf, "GET /objects/?object=sensorEntry&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_entry);
    sendHTTPRequest();
  }

 //MOVEMENT 1 SENSOR
  Serial.println("M1");
  int current_movement_1=digitalRead(6);
  //Serial.println(current_movement_1);
  if (current_movement_1!=(int)old_movement_1) {
    old_movement_1=(int)current_movement_1;
    sprintf(buf, "GET /objects/?object=sensorMovement1&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_movement_1);
    sendHTTPRequest();
  }

 //MOVEMENT 2 SENSOR
  Serial.println("M2");
  int current_movement_2=digitalRead(7);
  //Serial.println(current_movement_2);
  if (current_movement_2!=(int)old_movement_2) {
    old_movement_2=(int)current_movement_2;
    sprintf(buf, "GET /objects/?object=sensorMovement2&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_movement_2);
    sendHTTPRequest();
  }


//REMOTE BUTTON 1
  Serial.println("R1");
  int current_button_1=digitalRead(8);
  if (current_button_1!=(int)old_button_1 && current_button_1==1) {
	delay(2000);
	int current_button_1=digitalRead(8);
	if (current_button_1==1) {
	 // long press
     sprintf(buf, "GET /objects/?object=remoteButton1&op=m&m=statusChanged&status=%i HTTP/1.0", 2);	 
	} else {
	 // click
     sprintf(buf, "GET /objects/?object=remoteButton1&op=m&m=statusChanged&status=%i HTTP/1.0", 1);	 
	}
	old_button_1=(int)current_button_1;
    sendHTTPRequest();
  }

//REMOTE BUTTON 2
  Serial.println("R2");
  int current_button_2=digitalRead(9);
  if (current_button_2!=(int)old_button_2 && current_button_2==1) {
	delay(2000);
	int current_button_2=digitalRead(9);
	if (current_button_2==1) {
	 // long press
     sprintf(buf, "GET /objects/?object=remoteButton2&op=m&m=statusChanged&status=%i HTTP/1.0", 2);	 
	} else {
	 // click
     sprintf(buf, "GET /objects/?object=remoteButton2&op=m&m=statusChanged&status=%i HTTP/1.0", 1);	 
	}
	old_button_2=(int)current_button_2;
    sendHTTPRequest();
  }  



}

 

MajorDomo

Информация

Проекты

Партнёры

edit SideBar

 
 
 

 

Blix theme adapted by David Gilbert, powered by PmWiki