|
|
26.09.2017, 22:08
|
#1
|
Живу я тут
Регистрация: 31.12.2014
Адрес: Львов
Сообщений: 1,421
Поблагодарил(а) : 279
Поблагодарили 843 раз(а) в 539 сообщениях
|
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===
Реле будет стоять с Led3 только в диапазоне 50-190, бребезжание диодов как-то всё равно, а вот реле и ЭМклапан долива, разве что MOSFET поставить, или твердотельные, хоть они и подороже будут.
|
|
|
27.09.2017, 09:31
|
#2
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===
Цитата:
Сообщение от Сергій М
Реле будет стоять с Led3 только в диапазоне 50-190, бребезжание диодов как-то всё равно, а вот реле и ЭМклапан долива, разве что MOSFET поставить, или твердотельные, хоть они и подороже будут.
|
Проблема решается на программном уровне. Пробуйте:
Скрытый текст
Цитата:
#include "Arduino.h"
#define echoPin 7 // HC-SR04
#define trigPin 8 // HC-SR04
#define LEDInfo 11
#define LEDWarning 12
#define LEDError 13
long duration, distance;
// clearance to avoid rattling of sensors
const byte GapDistance = 3;
//LED3
const byte LEDInfoMin = 50;
const byte LEDInfoMax = 190;
//LED2
const byte LEDWarningMin = 40;
const byte LEDWarningMax = 200;
//LED1
const byte LEDErrorMin = 0;
const byte LEDErrorMax = 200;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LEDInfo, OUTPUT);
pinMode(LEDWarning, OUTPUT);
pinMode(LEDError, OUTPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration / 5.82;
/*
* 0-37 203 - > - LEDError1 (ON)
*/
if ((distance >= LEDErrorMin && distance < LEDWarningMin - GapDistance)
|| distance > LEDErrorMax + GapDistance) {
// LEDError1 (ON)
if (digitalRead(LEDError) == LOW) {
digitalWrite(LEDError, HIGH);
}
} else {
// LEDError1 (OFF)
if (digitalRead(LEDInfo) == HIGH) {
digitalWrite(LEDInfo, LOW);
}
// LEDWarning3 (OFF)
if (digitalRead(LEDWarning) == HIGH) {
digitalWrite(LEDWarning, LOW);
}
}
/*
* 53 -187 - LEDInfo2 (ON)
*/
if (distance >= LEDInfoMin + GapDistance && distance <= LEDInfoMax - GapDistance) {
// LEDInfo2 (ON)
if (digitalRead(LEDInfo) == LOW) {
digitalWrite(LEDInfo, HIGH);
}
} else {
// LEDError (OFF)
if (digitalRead(LEDError) == HIGH) {
digitalWrite(LEDError, LOW);
}
// LEDWarning3 (OFF)
if (digitalRead(LEDWarning) == HIGH) {
digitalWrite(LEDWarning, LOW);
}
}
/*
* 43-47 193-197 LEDWarning3 (ON)
*/
if ((distance >= LEDWarningMin + GapDistance && distance < LEDInfoMin - GapDistance)
|| (distance > LEDInfoMax + GapDistance && distance <= LEDWarningMax - GapDistance)) {
// LEDWarning3 (ON)
if (digitalRead(LEDWarning) == LOW) {
digitalWrite(LEDWarning, HIGH);
}
} else {
// LEDInfo (OFF)
if (digitalRead(LEDInfo) == HIGH) {
digitalWrite(LEDInfo, LOW);
}
// LEDWarning3 (OFF)
if (digitalRead(LEDError) == HIGH) {
digitalWrite(LEDError, LOW);
}
}
delay(50);
}
|
|
|
|
27.09.2017, 11:42
|
#3
|
Живу я тут
Регистрация: 31.12.2014
Адрес: Львов
Сообщений: 1,421
Поблагодарил(а) : 279
Поблагодарили 843 раз(а) в 539 сообщениях
|
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===
Спасибо, вечером всё проверю на практике!!
|
|
|
27.09.2017, 20:02
|
#4
|
Живу я тут
Регистрация: 31.12.2014
Адрес: Львов
Сообщений: 1,421
Поблагодарил(а) : 279
Поблагодарили 843 раз(а) в 539 сообщениях
|
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===
К сожалению что-то не так, на старом коде все диоды работали, хоть и часто переключались на гранях, в новом же работает согласно параметрам только 1 диод LEDWarning 12, остальные просто еле-еле моргают. Проверял все контакты - всё ок, так как тут же заливаю старый скетч - работает на ура.
Последний раз редактировалось Сергій М; 27.09.2017 в 20:14..
|
|
|
26.03.2018, 20:47
|
#5
|
Я тут недавно
Регистрация: 26.03.2018
Адрес: Киев
Сообщений: 1
Поблагодарил(а) : 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===
Я интересуюсь радиоэлектроникой и вот недавно тестировал такой датчик. В характеристиках указано что он работает от 2 до 400 см. В реальности он работает от 5 см. В общем не буду долго писать вот тут почитайте http://elschemo.ru/dlya-nachinayushh...hikom-hc-sr04/
|
|
|
Реклама помогает развиваться |
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 11:58. Часовой пояс GMT +3.
|