Vl53lox проблема со скетчем уровня

Здравствуйте, появился такой интересный вопрос , задумался я об датчике уровня жидкости на vl53lox, купил все запчасти:
Реле 5в, плату расширения, светодиоды,
Датчик Vl53lox, клапан на 12в соленойд,
Ардуино нано. На катушку нагрузки (на соленойд поставил 50мк параллельно конденсатор , иначе ардуинка зависает без него) Суть скетча заключается в следующем , вкл по уровню максимальный , выкл по минимальному , и вкл только потом на максимальном. Скетч написан ,все работает но не так как надо, почему-то нет работы реле после прохода расстояния максимум, реле выключает сразу как только расстояние меньше заданного. Не доходя до минимума. Может чего-то не хватает в условии ?

1 лайк

Спасибо, что поделились с нами столь важной информацией, если будут какие то изменения, держите нас в курсе.

1 лайк

Могу скинуть скетч , не получается переключить уже дня три не могу дописать, есть предложения ?
#include <Wire.h>
#include <VL53L0X.h>

VL53L0X sensor;
#define alarmPin 2
#define RedPin 3
#define GrenPin 4
int minDistance = 300; // минимальное расстояние
int maxDistance = 100; // максимальное расстояние
void setup()
{
pinMode(alarmPin, OUTPUT);
pinMode(RedPin, OUTPUT);
pinMode(GrenPin, OUTPUT);
Wire.begin();
sensor.init();
sensor.setTimeout(500);
sensor.startContinuous(50);
}

void loop()
{

  unsigned int distance = sensor.readRangeContinuousMillimeters();
  digitalWrite( alarmPin, (distance > 100) );
  digitalWrite( RedPin, (distance > 100) );
  digitalWrite( GrenPin, (distance < 300) );
 if (RedPin == LOW) {
digitalWrite(alarmPin, LOW);

} else if (GrenPin == LOW) {
digitalWrite(alarmPin, HIGH);
} else {
if (GrenPin == LOW) {
digitalWrite(alarmPin, HIGH);
} else if (GrenPin == HIGH) {
digitalWrite(alarmPin, LOW);
} else {
}
}
}

Тест провален.

Кто-нибудь что-нибудь понял? Что-то куда-то пройдя какой-то максимум не включается.
Причина проста: скетч неправильный.
Решение:

void setup()
{
настройка
}
void loop()
{
Правильный скетч
}

Главная беда концепции “Ардуино” в том,что она даёт мнимое чувство профессионализма. Любой студент может из готовых блоков за пару часов собрать проект с экраном 640х480 для показа через интернет параметров температуры теплицы или чайника. А профессионал это может писать и отлаживать полгода,имея глубокие познания ЯВУ и электроники.
Вот и плодятся “явсёмогу”,которые не понимают ни алгоритмов,ни банального синтаксиса.
Копипастеры возомнили себя программистами

1 лайк

Это скорее недостаток человеческой психологии, который проявлется всюду, помимо ардуины, с приходом “высоких течнологий”

1 лайк

Есть.
Начните с правильной вставки кода на форум.
Далее четко и понятно изложите свою проблему: как должен работать код, как он работает в реальности и чем первое отличается от второго.

Что здесь должно происходить? И что за чехарда из if-else после? Куча противоречивых условий без конечного результата.

Работает все , нет явного понятия , условие таково есть реле, оно должно вкл максимум , откл по минимум, и снова вкл по максимум , при наполнении ёмкости , red и gren это светодиоды, тест этот алгоритм проходит , работает реле с красным светодиодом , проходя порог 100мм и откл и диод и реле , дальше суть такова что пройдя больше 300мм должен загоратся зелёный светодиод и откл реле.

Попросил помощи а не вынос мозга с вашими то знаниями, многоуважаемые.

Мда. Просить смысла нет , вы все же подталкиваете и ещё как жёстко, тяжело быть язвительным учителем??

КОД ВСТАВЬТЕ ПРАВИЛЬНО!
Проблему опишите нормальным понятным языком!

наверно я слепой, но я не вижу реле ни на схеме, ни в коде.

это щас школы так настроены, делать из умненьких мальчиков косноязычных дэбилов.

2 лайка

Аларм пин это и есть реле

Я думаю, что проблема заключена в том, что к системе подключен “соленойд” - всю программу сбивает с ардуины.

Слушайте, у вас русский не родной? Вы в школе сочинений не писали?

Напрягитесь и сформулируйте свою проблему нормальным русским языком не в односложных ответах, а хотя бы в десятке ПОНЯТНЫХ предложений.

Соленойд это то чем управляет реле )) писал ночью , думал грамотные специалисты меня поймут однако не понимают)) увы …

А я думал, что специалистам по соленойдам пива поставят. Увы…

1 лайк

Начните с малого. Код хотя бы вы в сосотоянии вставить правильно? Это как тест на IQ - если вы его провалили, мало кто захочет с вами общаться.