mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-29 15:42:20 +03:00
Структурируем модули как надо
This commit is contained in:
@@ -1,49 +0,0 @@
|
||||
#include "Global.h"
|
||||
#include "classes/IoTItem.h"
|
||||
|
||||
extern IoTGpio IoTgpio;
|
||||
|
||||
|
||||
class Sonar : public IoTItem {
|
||||
private:
|
||||
unsigned int _pinTrig, _pinEcho;
|
||||
|
||||
public:
|
||||
Sonar(String parameters): IoTItem(parameters) {
|
||||
_pinTrig = jsonReadInt(parameters, "pinTrig");
|
||||
_pinEcho = jsonReadInt(parameters, "pinEcho");
|
||||
|
||||
pinMode(_pinTrig, OUTPUT);
|
||||
pinMode(_pinEcho, INPUT);
|
||||
}
|
||||
|
||||
void doByInterval() {
|
||||
// value.valD = IoTgpio.analogRead(_pin);
|
||||
// для большей точности установим значение LOW на пине Trig
|
||||
digitalWrite(_pinTrig, LOW);
|
||||
delayMicroseconds(2);
|
||||
// Теперь установим высокий уровень на пине Trig
|
||||
digitalWrite(_pinTrig, HIGH);
|
||||
// Подождем 10 μs
|
||||
delayMicroseconds(10);
|
||||
digitalWrite(_pinTrig, LOW);
|
||||
// Рассчитаем расстояние
|
||||
value.valD = pulseIn(_pinEcho, HIGH) / 58;
|
||||
// Выведем значение в Serial Monitor
|
||||
Serial.print(value.valD);
|
||||
Serial.println(" cm");
|
||||
|
||||
regEvent(value.valD, "Sonar");
|
||||
}
|
||||
|
||||
~Sonar() {};
|
||||
};
|
||||
|
||||
|
||||
void* getAPI_Sonar(String subtype, String param) {
|
||||
if (subtype == F("Sonar")) {
|
||||
return new Sonar(param);
|
||||
} else {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
"menuSection": "Сенсоры",
|
||||
|
||||
"configItem": [{
|
||||
"name": "Сонар HC-SR04",
|
||||
"num": 1,
|
||||
"type": "Reading",
|
||||
"subtype": "Sonar",
|
||||
"id": "sonar",
|
||||
"widget": "anydataTmp",
|
||||
"page": "Сенсоры",
|
||||
"descr": "Расстояние (см)",
|
||||
|
||||
"pinTrig": 5,
|
||||
"pinEcho": 4,
|
||||
"int": 5
|
||||
}],
|
||||
|
||||
"about": {
|
||||
"authorName": "Ilya Belyakov",
|
||||
"authorContact": "https://t.me/Biveraxe",
|
||||
"authorGit": "https://github.com/biveraxe",
|
||||
"specialThanks": "",
|
||||
"moduleName": "Sonar",
|
||||
"moduleVersion": "1.0",
|
||||
"moduleDesc": "Позволяет получить значение расстояния до препятствия с использованием ультразвукового датчика (в сантиметрах).",
|
||||
"propInfo": {
|
||||
"pinTrig": "GPIO контакта Trig",
|
||||
"pinEcho": "GPIO контакта Echo",
|
||||
"int": "Количество секунд между опросами датчика."
|
||||
}
|
||||
},
|
||||
|
||||
"defActive": true,
|
||||
|
||||
"devices": {
|
||||
"esp32_4mb": [],
|
||||
"esp8266_4mb": []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user