Приветствую, товарищи.
Пытаюсь собрать датчик присутствия на ардуино и модуле SRF05. Нашел библиотеку NewPing для работы с УЗ модулем. Данные с него снимаются нормально, но как заставить реле переключаться в соответствии с ними не понимаю.
Пытаюсь собрать датчик присутствия на ардуино и модуле SRF05. Нашел библиотеку NewPing для работы с УЗ модулем. Данные с него снимаются нормально, но как заставить реле переключаться в соответствии с ними не понимаю.
#include <NewPing.h>
#define SONAR_NUM 1 // Number of sensors.
#define MAX_DISTANCE 350 // Maximum distance (in cm) to ping.
const int RLY_PIN = 9; // Пин реле
const int del = 15000; // Задержка перед выключением
int dist = 0; // Дистанция
int distLimit = 10; // Ограничение срабатывания
NewPing sonar[SONAR_NUM] = { // Sensor object array.
NewPing(6, 5, MAX_DISTANCE), // Each sensor's trigger pin, echo pin, and max distance to ping.
};
void setup() {
Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
pinMode(RLY_PIN, OUTPUT);
}
void loop() {
for (uint8_t i = 0; i < SONAR_NUM; i++) { // Loop through each sensor and display results.
delay(50); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
dist = sonar[i].ping_cm();
Serial.print(i);
Serial.print("=");
Serial.print(dist);
Serial.print("cm ");
}
Serial.println();
void Relay();
}
void Relay()
{
if (dist < distLimit) {
digitalWrite(RLY_PIN, LOW);
}
else {
//delay(del);
digitalWrite(RLY_PIN, HIGH);
}
}