Официальный сайт компании Arduino по адресу arduino.cc
Цифровой компас 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 нужно запустить скрипт минисервера
Занимаюсь ардуиной не давно. Мне бы ссылку на примерчик.