#4 Re: Проекты » Arduino WEB контроллер управления светом. » 2019-12-29 19:41:24

Avazart пише:
CanyonD пише:

2. Из личного опыта, Ethernet на Atmega328p очень тупит работу системы
В данном проекте скорость работы не критична (задержка в 1-2 секунды особой роли не сыграет), но если мерять временные параметры, то будут проблемы.

Во первых зависит от модуля, во вторых от кода и в том числе от html+css+js.

Не вижу вообще никаких сложностей, JS выполняет браузер, HTML  и CSS тоже. Вот мой проект https://forum.arduino.ua/viewtopic.php?id=2094 в нем используется ESP8266, работает веб сервер, при чем использует Bootstrap и JQuery и Popper, и все это носится на контроллере, т.е. не притягивается из интернета, а уже лежит там. И очень живо работает, от 1 сек до 3 сек загрузки контента.

#5 Re: Проекты » Ищу исполнителя » 2019-12-29 19:13:38

Kaka пише:

Поверь старому самокрутчику - приличный табак для самокруток стоит значительно дороже сигарет.

А для сворачивания продаётся бумага, фильтры (если надо) и простая механическая приспособа типа вот такой https://ru.aliexpress.com/i/33030644281.html они (разные бывают). Стоит копейки, носится с собой. При этом сам процесс сворачивания - особый ритуал, народ пялится - мама не горюй :-)

Та машинка что вы дали крутит самокрутки, есть другие машинки https://dumlux.com.ua/collection/%D0%BC … 0%B5%D1%82 они забивают готовые гильзы уже с фильтром, и делают это быстрее и аккуратней.

#6 Re: Проекты » Ищу исполнителя » 2019-12-29 17:37:10

Avazart пише:

Как ни крути, вообще бросить дешевле.

Полностью согласен! smile

#7 Re: Проекты » Метестанция на ESP8622 + умный дом » 2019-12-29 17:33:13

Если правильно понял, можно подключить метеостанцию по простой сети, вот в этой главе мануала написано "Adding virtual devices", но не понятно как оно будет отображать данные. Если у вас есть такие https://forum.arduino.ua/viewtopic.php?id=2094 часы, то можно попробовать. Ну или любое устройство с веб интерфейсом. Надо указать айпи этого устройства и его порт по умолчанию это 80. Потом попробовать подключить, если получится, то я добавлю в эти часы еще один интерфейс с отображением времени, даты, температуры и пр.

#8 Проекты » 100500е часы на ESP8266&MAX7219, мой взгляд » 2019-12-29 13:11:28

sendsay
відповідей: 3

Добрый день форумчане! С наступающим новым годом!
Сотворил и я свои часы. Спасибо моему соотечественнику IVANUA (http://forum.amperka.ru/members/ivanua.13613/) за его проект часов ( http://forum.amperka.ru/threads/Часы-на … ейс.12767/) он стал основой и толчком.

Сначала предыстория: Захотелось мне такие часы, купил что надо, скачал прошивку от IvanUA собрал, прошил, запустил. Оказалось что, как не посмотрю время так там либо дата, либо погода, и что бы увидеть время надо сидеть и ждать этого момента. Да и давление показывало кроказябру. Полез в код исправлять то, что не нравилось. Через несколько дней, пришел к мнению что надо делать свои часы, хотя на этот момент я в коде не много разобрался. Может быть это и толкнуло на эту мысль. в итоге я получил клон часов Ивана, от его кода я использовал где то 50% , а может и больше просто не вижу смысла писать то что уже написано)).  В итоге отличая есть и существенные:

  • Проект полностью написан при помощи PlatfomIO

  • Время показа температуры и погоды составляет 4 раза в час, т.е. каждые 15 минут;

  • Нажатие на кнопку включает режим показа температуры и погоды;

  • Убрал памятные даты и будильники, телефон поудобней будет;

  • Убрал всю универсальность по датчикам и зуммеру, ставьте то что в схеме, или перепишите код под нужный датчик;

  • Добавил в MQTT, топик для кнопки дубль кнопки на корпусе;

  • Добавил в MQTT сообщение количество повторов, нужно перед сообщением добавить ##* - звездочку заменить на цифру до 9. Удобно важные сообщения повторять несколько раз;

  • В MQTT публикацию, добавил прогноз погоды из инета, много не влезло (ограничение MQTT)

  • Поменял вид точек разделения часов и минут;

  • Добавил датчик температуры для улицы, его показания используются в бегущей строке;

  • Полностью переписал веб интерфейс, теперь он использует Bootstrap, JQuery, Popper при этом без интернета. Веб интерфейс, если вникнуть можно использовать в других проектах;

  • В проекте используется JSON6, он лучше.

  • Убрал показ даты;

  • Об отсутствии синхронизации времени, говорит измененный разделитель часов и минут;

  • Урезал количество языков для часов, теперь их три (Украинский, Русский, Английский)

  • Еще какие то мелочи, все не вспомню ))


Да, проект вышел с повышенным порогом вхождения, если хочешь другие датчики придется изучать С++ или покупать то что нужно по схеме.

Веб интерфейс полностью на английском языке, не вижу никаких трудностей с нажатием правой кнопки и выбором пункта (перевести на русский), да и английский там используется простой, без сложных слов.

В корне папки проекта лежит CMD файл, он делает полностью заливку проекта в контроллер (упаковку файлов для веба, копирование их в папку Data, очистку памяти контроллера, заливку файлов из папки Data, компиляцию и запуск монитора порта)

  • Компоненты:

  • Контроллер ESP8266

  • Активный зуммер

  • Панель MAX7219

  • Датчик Si7021

  • Датчик ВМР280

  • Тактовая кнопка

  • Резистор на 10 кОм

  • Резистор на 1 кОм

Схема, тут все как и везде (надеюсь без ошибок)
9daaf697163fcd0bead4564ead73f01e.jpg

Видео работы

На табло наклеил черную пленку, думаю что и в корпус поставлю

Видео работы автояркости

Прошивка во вложении.



Спасибо за здоровую, критику.

П.С. Сильно не бейте, ибо первый публичный проект.

#9 Re: Програмування Arduino » Датчик "прохождения". » 2015-10-02 19:27:35

NoName пише:

поставьте 1шт, это все неважно, поймите как сделали в примере,  и сделайте сами, так же или по аналогии.
будете четко понимать как работает ваше устройство.
использование библиотек очень ускоряет разработку, но не добавляет понимания процесса,
разбирайтесь, у Вас все получится )
меандр выдать и потом отслеживать частоту входную - вероятно не самое лучшее решение.

я бы попробовал с интервалом 10мс    генерировать сигнал, а с другой стороны его ловить,
форма сигнала , длительность,  это уже сами.

Спасибо, за участие. Я примерно так же и думал, вот руки дошли уже, буду пробовать)

#10 Re: Програмування Arduino » Датчик "прохождения". » 2015-09-18 22:30:28

NoName пише:

привет,
Новые ИК фотодиоды и фототранзисторы от Vishay
"от 750 до 1050 нм с фильтром блокировки дневного света;"
+ некая модуляция, тут уж вам решать,
я бы для начала ознакомился с
http://www.terryjfield.com/?p=110

Спасибо, познал нового! Как ваше мнение, реализовать работу этих скетчей на одном Ардуино, возможно? Я имею ввиду не будет ли конфликта, на портах. Я с такой библиотекой еще не работал, поэтому мне надо знать, раньше чем я пойду и скажу что надо все переделать)) И можно ли поставить один ИК диод. Я думаю, что второй там поставлен для усиления сигнала, это же погодная станция, и там расстояния могут быть большие. Спасибо.

#12 Програмування Arduino » Датчик "прохождения". » 2015-09-18 09:49:51

sendsay
відповідей: 4

Здравствуйте, помогите решить вопрос с датчиком "прохождения". Мне надо  поставить датчик, который бы  считал наличие предметов или людей  прошедших перед ним, т.е. Стоит ИК диод, напротив на расстоянии 500 мм. стоит фото резистор, предмет или человек проходит между ними, контроллер переключает реле (пусть будет лампочка). На данный момент имею вот такой код:

int photoPin = A0;  // фоторезистор подключен 0-му аналоговому входу
int ledPin = 3;   // светодиод подключается к digital pin 9
unsigned long duration = 0; // переменная для хранения значения входного напряжения

int val = 0;
int arrCheck[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int arrSum = 0;

void setup()
{
  Serial.begin(9600);
}

int check() {
  arrSum = 0;

  digitalWrite(ledPin, HIGH);    // зажигаем
  delay(2);
  val = analogRead(photoPin);    // считываем значение с фототранзистора

  digitalWrite(ledPin, LOW);     // гасим
  delay(2);
  val = val - analogRead(photoPin);  // считываем значение с фототранзистора

  val = map(val, 0, -1023, 0, 255);

 arrCheck[0] = arrCheck[1];
  arrCheck[1] = arrCheck[2];
  arrCheck[2] = arrCheck[3];
  arrCheck[3] = arrCheck[4];
  arrCheck[4] = arrCheck[5];
  arrCheck[5] = arrCheck[6];
  arrCheck[6] = arrCheck[7];
  arrCheck[7] = arrCheck[8];
  arrCheck[8] = arrCheck[9];
  arrCheck[9] = arrCheck[10];
  arrCheck[10] = arrCheck[11];
  arrCheck[11] = arrCheck[12];
  arrCheck[12] = arrCheck[13];
  arrCheck[13] = arrCheck[14];
  arrCheck[14] = arrCheck[15];
  arrCheck[15] = arrCheck[16];
  arrCheck[16] = arrCheck[17];
  arrCheck[17] = arrCheck[18];
  arrCheck[18] = arrCheck[19];
  arrCheck[19] = val;

  arrSum =   arrCheck[0] + arrCheck[1] + arrCheck[2] +   arrCheck[3] + arrCheck[4] + arrCheck[5] + arrCheck[6] + arrCheck[7] + arrCheck[8] + arrCheck[9],   arrCheck[10] + arrCheck[11] + arrCheck[12] +   arrCheck[13] + arrCheck[14] + arrCheck[15] + arrCheck[16] + arrCheck[17] + arrCheck[18] + arrCheck[19];
 // Serial.println(arrSum);

  return arrSum;
}

void loop()
{
  duration = check();



  // Serial.println(duration);

  if (check() > 0) {
    digitalWrite(13, HIGH);

  } else {

    Serial.println("00000000000000000000000000000000")    ;
    digitalWrite(13, LOW);
  }

  delay(50);
}

Код тестовый (сильно не бейте). Тут все работает, но есть одно НО, когда свет становиться яркий, дневной например, то появляются ложные сигналы и датчик реагирует на это. Для надежности я сделал буфер, суммирую его и принимаю решение на сумме всех цифр.

На сколько я понял, мне надо как то опознавать свой сигнал, например, светить ИК определенной частоты, измерять эту частоту и потом принимать решение мой или не мой. Но появляется вопрос как это реализовать? Или я что не так понял, или есть ли другой способ сделать такой датчик. Спасибо.

Підвал форуму