Цифровой компас HMC5883L в сигнализации
- Войдите на сайт для отправки комментариев
Пнд, 21/03/2016 - 12:39
Доброго времени суток уважаемые форумчане.
Собрал датчик для сигнализации на открытие балконной двери.
состав: 1. Цифровой компас HMC5883L
2. ESP8226-01
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_HMC5883_U.h>
/* Assign a unique ID to this sensor at the same time */
Adafruit_HMC5883_Unified mag = Adafruit_HMC5883_Unified(12345);
float x = 0;
float y = 0;
float z = 0;
float oldx = 0;
float oldy = 0;
float oldz = 0;
int out = 0;
unsigned long tim ;
unsigned long loopTime; // время таймера
void setup ()
{
Serial.begin(9600);
Wire.begin(0, 2); // i2c bus sda,scl
Serial.println("HMC5883 Magnetometer Test"); Serial.println("");
/* включаем сенсор */
if(!mag.begin())
{
/* There was a problem detecting the HMC5883 ... check your connections */
Serial.println("Ooops, no HMC5883 detected ... Check your wiring!");
while(1);
}
pinMode(3, OUTPUT);// GRIO (03) вывод на LED
//pinMode(8, OUTPUT);
}
void loop()
{
/* считываем координаты */
sensors_event_t event;
mag.getEvent(&event);
float x = event.magnetic.x;
float y = event.magnetic.y;
float z = event.magnetic.z;
Serial.print("x: ");
Serial.print( x );
Serial.print(" y: ");
Serial.print( y );
Serial.print(" z: ");
Serial.println( z );
if (y-oldy>0.8 || y-oldy<-0.8 || z-oldz>0.8 || z-oldz<-0.8)
{out = 1;} // если изменение по координатам y & z
// за 0,5 сек больше чем 0,8° включаем сигнал.
if (out == 1 )
{digitalWrite(3, HIGH); }
else
{digitalWrite(3, LOW);}
oldy = y ;
oldz = z ;
out = 0;
delay(500); // задержка для изменения координат
}
Скетч собран на основе примера из библиотеки HMC5883
Оснсвной блок планирую организовать на модулях
ESP8226-(12) И SIM-900 , питание солнечная батарея и аккумулятор.
Остался вопрос как связать 2 WI-FI модуля без домашней сети ( что-бы отвязатся от внешнего воздейсвия).
Буду благодарен любой подсказке.
Остался вопрос как связать 2 WI-FI модуля без домашней сети ( что-бы отвязатся от внешнего воздейсвия).
Буду благодарен любой подсказке.
Один WiFi в режиме АР, а второй в режиме клиента с настройками подключения к первому
Соответственно на первом WiFi нужно запустить скрипт минисервера
Занимаюсь ардуиной не давно. Мне бы ссылку на примерчик.