Страница 1 из 7

ПОМОГИТЕ кому не сложно ARDUINO датчики

Добавлено: Вс авг 28, 2016 5:35 pm
mazahaka7sk
всем привет не как не могу привязать датчики к ардуино все перерыл пробывал все коды не работают. точнее работают датчик света датчик протечки а все вместе привязать не могу.
у меня 3 датчика температуры DHT11
4 датчика протечки ну они работают
4 датчика движения
4 датчика огня

датчик воды датчик света и реле включения свету меня работало через этот скрипт а вот все остальное не получаеться привязать помогите
СпойлерПоказать
СпойлерПоказать
int cycle_counter=0;
int val = 0;
int old_garage=0;
int old_entry=0;
int old_movement_1=0;
int old_movement_2=0;
int rainSensePin=A2;
int old_button_1=0;
int old_button_2=0;
int sensorPin = A0;
unsigned int sensorValue = 0;
char buf[80];

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


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

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

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

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


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

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


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

void loop()
{
{
if (Serial.available() > 0) {
val = Serial.read();
if (val=='B') digitalWrite(2,HIGH); // выключить свет
if (val=='V') digitalWrite(2,LOW); // включить свет
}
}
int valid_sensor=0;
int rainSenseReading = analogRead(rainSensePin);
delay(1000); // задержка в 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(A0);
//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=switch&status=%i HTTP/1.0", (int)current_movement_1);
sendHTTPRequest();
}

//MOVEMENT 2 SENSOR
Serial.println("M1");
int current_rainSensePin=digitalRead(A2);
//Serial.println(current_rainSensePin);
if (current_rainSensePin!=(int)rainSensePin) {
rainSensePin=(int)current_rainSensePin;
sprintf(buf, "GET /objects/?object=rainSensePin2&op=m&m=switch&status=%i HTTP/1.0", (int)current_rainSensePin);
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();
}



}
в зарание спасибо

и кстати у меня ардуино нано

Re: ПОМОГИТЕ кому не сложно ARDUINO датчики

Добавлено: Пн авг 29, 2016 12:20 pm
C_3AXAPOB
если датчики которые нужно подключить на 433 мгц то вот тема как это сделать
http://majordomo.smartliving.ru/forum/v ... f=8&t=1717

Re: ПОМОГИТЕ кому не сложно ARDUINO датчики

Добавлено: Пн авг 29, 2016 10:45 pm
mazahaka7sk
нет у меня все проводные датчики

все датчики у меня в профиле есть

Re: ПОМОГИТЕ кому не сложно ARDUINO датчики

Добавлено: Пн сен 05, 2016 9:10 pm
mazahaka7sk
люди есть кто живой????

Re: ПОМОГИТЕ кому не сложно ARDUINO датчики

Добавлено: Пн сен 05, 2016 11:56 pm
gagarin74
а что конкретно не получается ?

Re: ПОМОГИТЕ кому не сложно ARDUINO датчики

Добавлено: Вт сен 06, 2016 12:05 am
gagarin74
по вашему скрипту получается инсталяция только 6 устройств. SETUP. и я не вижу ни одной библиотеки для работы с датчиком температуры. и еще заранее посмотрите свою ардуинку -у некоторых выходное напряжение не 5 вольт а 3.3. а его не хватает на датчики которые расчитаны на 5 вольт

Re: ПОМОГИТЕ кому не сложно ARDUINO датчики

Добавлено: Вт сен 06, 2016 7:44 pm
mazahaka7sk
так я и говорю кто поможет дописать скрипт чтоб добавить туда 3 датчика температуры и настроить мажордомо чтоб он температуру показывал там с датчиков.
DHT11
питания я подаю отдельно на 5 вольт , когда в ардуино заливаешь скетч для проверки датчика он в мониторинг порта выдает температуру .

Re: ПОМОГИТЕ кому не сложно ARDUINO датчики

Добавлено: Ср сен 07, 2016 5:56 am
VGor
Посмотрите тему ардуино+w5100. Там есть примеры работы с датчиками.

Re: ПОМОГИТЕ кому не сложно ARDUINO датчики

Добавлено: Чт сен 08, 2016 10:07 am
Sergey2055
Всем привет. Господа помогите с глобальной проблемой. Есть сервер построенный на ардуино он обрабатывает все данные и заведует всем происходящим, то есть он заведует собственной сетью в которую внедрены все датчики и модули построенные на радио модулях NRF2401. Так же есть сервер который построен на распберри на котором крутится страница умного дома построенная на AJAX. С этой страницы идут запросы на ардуину в ответ которых она выдает пакет данных типа: P1=xx, P2=xx итд. Можно изменить тип ответа это не проблема. Вопрос вот в чем: как все это прикрутить к majordomo. Тоесть отправку команды на включение или выключение я реализовал, а вот как разобрать ответные данные и распихать куда надо. Я сейчас реализовал так с помощью веб переменных делаю запрос и отфильтровываю конкретную переменную и присваиваю в конкретный объект, из за этого получается кучу запросов так как один запрос получаю одну переменную.
А как все это разобрать в одном запросе, то есть отфильтровать переменные и присвоить в нужные объекты.
Помогите плиииииииииииз!!!!!!!!!!!!!!!

желательно не на словах а кодом или где точно посмотреть как это делается ото кучу перепробовал и прочитал чет не выходит.

Re: ПОМОГИТЕ кому не сложно ARDUINO датчики

Добавлено: Чт сен 08, 2016 10:28 am
nick7zmail
Sergey2055 писал(а):Всем привет. Господа помогите с глобальной проблемой. Есть сервер построенный на ардуино он обрабатывает все данные и заведует всем происходящим, то есть он заведует собственной сетью в которую внедрены все датчики и модули построенные на радио модулях NRF2401. Так же есть сервер который построен на распберри на котором крутится страница умного дома построенная на AJAX. С этой страницы идут запросы на ардуину в ответ которых она выдает пакет данных типа: P1=xx, P2=xx итд. Можно изменить тип ответа это не проблема. Вопрос вот в чем: как все это прикрутить к majordomo. Тоесть отправку команды на включение или выключение я реализовал, а вот как разобрать ответные данные и распихать куда надо. Я сейчас реализовал так с помощью веб переменных делаю запрос и отфильтровываю конкретную переменную и присваиваю в конкретный объект, из за этого получается кучу запросов так как один запрос получаю одну переменную.
А как все это разобрать в одном запросе, то есть отфильтровать переменные и присвоить в нужные объекты.
Помогите плиииииииииииз!!!!!!!!!!!!!!!

желательно не на словах а кодом или где точно посмотреть как это делается ото кучу перепробовал и прочитал чет не выходит.
Проще всего сформировать json строку - и в МД её запрашивать и разбирать. Либо моюно так же как вы в расбери ответы забираете (P1=xx, P2=xx) - так и в МД забирать. Чтобы код привести - нужно знать, что у вас имеется. В каком виде эти ответы приходят? Просто на html-странице забиты? Или как они в расбери попадают? Каким кодом запрашиваются, и что конкретно приходит?