где заглавная буква А, появился знак % (%ir pressure), в чем может быть причина?
Это переполнение предыдущей строки. Каким-то образом влажность оказалась 100%. Защиты от этого не делал, т.к. не предполагал такого. Смотрите защиту в строках вывода показаний внешнего датчика.
Спрашивал несколькими постами выше, так и не получил :( Помогите с библиотеками. подобрать не получается, компелируется с ошибками. Пожалуйста отправте на почту vipus@ua.fm Заранее спасибо.
Спрашивал несколькими постами выше, так и не получил :( Помогите с библиотеками. подобрать не получается, компелируется с ошибками. Пожалуйста отправте на почту vipus@ua.fm Заранее спасибо.
Отправил еще 5 октября. Почему вы не получили ????? непонятно.
Можно скетч и библиотеки на cyberwall@mail.ru И ещё вопрос про дополнительные функции часов, возможно ли сделать так, чтобы часы каждый час воспроизводили музыку с music shild???
Можно скетч и библиотеки на cyberwall@mail.ru И ещё вопрос про дополнительные функции часов, возможно ли сделать так, чтобы часы каждый час воспроизводили музыку с music shild???
Библиотеки и стабильную версию под эти библиотеки выслал..
По поводу "Боя" часов не вижу никаких проблем, правда это не дополнительная функция часов, а просто дополнительная функция в программе. Реализуется очень просто.
1. На свободный порт или скорее всего на шину I2C подключаете свой music shild. На одну шину I2C можно подключить 127 устройств.
2. В программе ставите "ловушку" ТИПА:
// !!!!!!! Э Т О П Р И М Е Р !!!!!!
#include <LiquidCrystal.h>
#include <DS1307.h>
#include <Wire.h>
#include <dht.h>
// интерфейс I2C
// SDA - Arduino analog 4 // можно и другие порты, все зависит от вас и вашей Ардуины
// SCL - Arduino analog 5
#define I2C_ADDRESS 0x77 // это адрес BMP085, подобным образом долджен быть указан адрес для вашего
// music shild при условии, что он работает на шине I2C, адрес устройства можно опреелить при помощи
// специальной тестовой программы
DS1307 rtc(2,3); // можно и другие порты , все зависит от вас и вашей Ардуины
Time t;
int hr; // час
int mn; // минута
int sc; // секунда
.
.
.
.
void loop()
{
.
.
.
// ЛОВУШКА ДЛЯ БОЯ
t = rtc.getTime();
hr=t.hour;
mn=t.min;
sc=t.sec;
if ( mn==0 && sc==0){ // когда минуты и секунды в нуле, т.е. начался новый час
Я не понимаю в чём проблема выложить скетч, чтобы тема не состояла из попрошаек, а из обсуждения скетча. выкладываю свой. необходимо: вме(вмр)280, часы 3231, датчик освещённости temt6000(можно и без него либо другой аналоговый), экран1602
[code]
//#1
#include <DS3231.h>
DS3231 clock;
RTCDateTime dt;
uint8_t hour; // время часы.
uint8_t minute; // время минуты.
//#2
const long interval = 3600000;
long Davlenie, Davlenie_old ; // давление
long Raznica, Raznica_old; // временной перепад давления
byte stat_davl, stat_davl_old; // значек перепада
//#3
#include <LiquidCrystal_I2C.h>
#include <stdint.h>
#include "SparkFunBME280.h"
#include "Wire.h"
//#0
int photocellPin = 0;
int photocellReading; // считываем аналоговые значения
int LEDpin = 11; //вывод шим 11 нога
int LEDbrightness;
BME280 mySensor; // создать датчик давления
#define alt = 160
LiquidCrystal_I2C lcd(0x3f, 16, 2);
byte vverh[8] = {
B00100,
B01110,
B11111,
B00100,
B00100,
B00100,
B00100,
};
byte vniz[8] = {
B00100,
B00100,
B00100,
B00100,
B11111,
B01110,
B00100,
};
byte ravno[8] = {
B11111,
B00000,
B11111,
B00000,
B11111,
B00000,
B11111,
};
void setup() {
//#1
//#2
mySensor.settings.commInterface = I2C_MODE;
mySensor.settings.I2CAddress = 0x76;
mySensor.settings.runMode = 3; // 3, Normal mode
mySensor.settings.tStandby = 0; // 0, 0.5ms
mySensor.settings.filter = 4; // 0, filter off
mySensor.settings.tempOverSample = 5;
mySensor.settings.pressOverSample = 5;
mySensor.settings.humidOverSample = 5;
delay(100); //Make sure sensor had enough time to turn on. BME280 requires 2ms to start up.
(mySensor.begin(), HEX);
stat_davl = 3;
Raznica = 0;
Davlenie = ((uint32_t)mySensor.readFloatPressure() / 100);// делаем первичный замер. В цикле loop() он станет старым
//#3
lcd.begin();
lcd.createChar(1, vverh);
lcd.createChar(2, vniz);
lcd.createChar(3, ravno);
}
void loop()
//#0
{
static uint32_t MILLIS ;
MILLIS = millis() ;
static uint32_t future = 0 ;
if (MILLIS >= future) {
future = MILLIS + 2000 ;
photocellReading = analogRead(photocellPin);
LEDbrightness = map(photocellReading, 0, 511, 1, 255); // карта соотношения освещённости и яркости дисплея
analogWrite(LEDpin, LEDbrightness );
}
//#1 опрос частотой в секунду( можно еще реже ;) часы
static uint32_t future1 = 0 ;
if (MILLIS >= future1) {
future1 = MILLIS + 1000 ;
dt = clock.getDateTime();
hour = dt.hour;
minute = dt.minute;
}
//#2 interval милисекунд - измерение давления
static uint32_t future2 = 0 ;
if (MILLIS >= future2) {
future2 = MILLIS + interval ;
Davlenie_old = Davlenie; // я давно пришел к мысли что старое значение лучше сохранять перед получением нового.
Davlenie = ((uint32_t)mySensor.readFloatPressure() / 100);
stat_davl_old = stat_davl;
if (Davlenie > Davlenie_old )stat_davl = 1;
else if (Davlenie < Davlenie_old )stat_davl = 2;
else stat_davl = 3;
Raznica_old = Raznica;
Raznica = Davlenie - Davlenie_old;
if (Raznica < 0) Raznica = -Raznica;
}
//#3 обновление раз в секунду (1000 миллисек) экран
static uint32_t future3 = 0 ;
if (MILLIS >= future3) {
future3 = MILLIS + 1000 ;
lcd.setCursor(0, 0) ; lcd.print((uint8_t)mySensor.readFloatHumidity()) ; lcd.print("%");
lcd.setCursor(4, 0) ; lcd.print((uint32_t)mySensor.readFloatPressure() / 100 + 15); lcd.print("Pa "); //+15 korrekcija
lcd.setCursor(11, 0); lcd.print(mySensor.readTempC());
lcd.setCursor(15, 0); lcd.print("C");
lcd.setCursor(0, 1);// показания датчика освещенности debug
if (LEDbrightness < 10) lcd.print(0); if (LEDbrightness < 100) lcd.print(0);
lcd.print(LEDbrightness);
lcd.setCursor(3, 1); lcd.print("***");
lcd.print(hour);
lcd.setCursor(6, 1); // вывод времени
if (hour < 10) lcd.print(0);
lcd.print(hour);
lcd.print(":");
if (minute < 10)lcd.print(0);
lcd.print(minute);
lcd.setCursor(12, 1); lcd.write(byte(stat_davl_old)); // поставьте куда надо на экране
lcd.setCursor(13, 1); lcd.print(Raznica_old); // поставьте куда надо на экране
lcd.setCursor(14, 1); lcd.write(byte(stat_davl));
lcd.setCursor(15, 1); lcd.print(Raznica);
}
}
[/code]
на экране ещё рисуется тенденция изменения давления. ну если рост то будет ясно, если падение-жди осадки
Я не понимаю в чём проблема выложить скетч, чтобы тема не состояла из попрошаек, а из обсуждения скетча. выкладываю свой. необходимо: вме(вмр)280, часы 3231, датчик освещённости temt6000(можно и без него либо другой аналоговый), экран1602
[code]
//#1
#include <DS3231.h>
DS3231 clock;
RTCDateTime dt;
uint8_t hour; // время часы.
uint8_t minute; // время минуты.
//#2
const long interval = 3600000;
long Davlenie, Davlenie_old ; // давление
long Raznica, Raznica_old; // временной перепад давления
byte stat_davl, stat_davl_old; // значек перепада
//#3
#include <LiquidCrystal_I2C.h>
#include <stdint.h>
#include "SparkFunBME280.h"
#include "Wire.h"
//#0
int photocellPin = 0;
int photocellReading; // считываем аналоговые значения
int LEDpin = 11; //вывод шим 11 нога
int LEDbrightness;
BME280 mySensor; // создать датчик давления
#define alt = 160
LiquidCrystal_I2C lcd(0x3f, 16, 2);
byte vverh[8] = {
B00100,
B01110,
B11111,
B00100,
B00100,
B00100,
B00100,
};
byte vniz[8] = {
B00100,
B00100,
B00100,
B00100,
B11111,
B01110,
B00100,
};
byte ravno[8] = {
B11111,
B00000,
B11111,
B00000,
B11111,
B00000,
B11111,
};
void setup() {
//#1
//#2
mySensor.settings.commInterface = I2C_MODE;
mySensor.settings.I2CAddress = 0x76;
mySensor.settings.runMode = 3; // 3, Normal mode
mySensor.settings.tStandby = 0; // 0, 0.5ms
mySensor.settings.filter = 4; // 0, filter off
mySensor.settings.tempOverSample = 5;
mySensor.settings.pressOverSample = 5;
mySensor.settings.humidOverSample = 5;
delay(100); //Make sure sensor had enough time to turn on. BME280 requires 2ms to start up.
(mySensor.begin(), HEX);
stat_davl = 3;
Raznica = 0;
Davlenie = ((uint32_t)mySensor.readFloatPressure() / 100);// делаем первичный замер. В цикле loop() он станет старым
//#3
lcd.begin();
lcd.createChar(1, vverh);
lcd.createChar(2, vniz);
lcd.createChar(3, ravno);
}
void loop()
//#0
{
static uint32_t MILLIS ;
MILLIS = millis() ;
static uint32_t future = 0 ;
if (MILLIS >= future) {
future = MILLIS + 2000 ;
photocellReading = analogRead(photocellPin);
LEDbrightness = map(photocellReading, 0, 511, 1, 255); // карта соотношения освещённости и яркости дисплея
analogWrite(LEDpin, LEDbrightness );
}
//#1 опрос частотой в секунду( можно еще реже ;) часы
static uint32_t future1 = 0 ;
if (MILLIS >= future1) {
future1 = MILLIS + 1000 ;
dt = clock.getDateTime();
hour = dt.hour;
minute = dt.minute;
}
//#2 interval милисекунд - измерение давления
static uint32_t future2 = 0 ;
if (MILLIS >= future2) {
future2 = MILLIS + interval ;
Davlenie_old = Davlenie; // я давно пришел к мысли что старое значение лучше сохранять перед получением нового.
Davlenie = ((uint32_t)mySensor.readFloatPressure() / 100);
stat_davl_old = stat_davl;
if (Davlenie > Davlenie_old )stat_davl = 1;
else if (Davlenie < Davlenie_old )stat_davl = 2;
else stat_davl = 3;
Raznica_old = Raznica;
Raznica = Davlenie - Davlenie_old;
if (Raznica < 0) Raznica = -Raznica;
}
//#3 обновление раз в секунду (1000 миллисек) экран
static uint32_t future3 = 0 ;
if (MILLIS >= future3) {
future3 = MILLIS + 1000 ;
lcd.setCursor(0, 0) ; lcd.print((uint8_t)mySensor.readFloatHumidity()) ; lcd.print("%");
lcd.setCursor(4, 0) ; lcd.print((uint32_t)mySensor.readFloatPressure() / 100 + 15); lcd.print("Pa "); //+15 korrekcija
lcd.setCursor(11, 0); lcd.print(mySensor.readTempC());
lcd.setCursor(15, 0); lcd.print("C");
lcd.setCursor(0, 1);// показания датчика освещенности debug
if (LEDbrightness < 10) lcd.print(0); if (LEDbrightness < 100) lcd.print(0);
lcd.print(LEDbrightness);
lcd.setCursor(3, 1); lcd.print("***");
lcd.print(hour);
lcd.setCursor(6, 1); // вывод времени
if (hour < 10) lcd.print(0);
lcd.print(hour);
lcd.print(":");
if (minute < 10)lcd.print(0);
lcd.print(minute);
lcd.setCursor(12, 1); lcd.write(byte(stat_davl_old)); // поставьте куда надо на экране
lcd.setCursor(13, 1); lcd.print(Raznica_old); // поставьте куда надо на экране
lcd.setCursor(14, 1); lcd.write(byte(stat_davl));
lcd.setCursor(15, 1); lcd.print(Raznica);
}
}
[/code]
на экране ещё рисуется тенденция изменения давления. ну если рост то будет ясно, если падение-жди осадки
Для тех кто невнимателен сообщаю, что скетч на первой странице.
Люди не попрошайничают, а просят библиотеки.
На самом деле я высылаю две библиотеки, а именно для DHT-11 и DS1307.
В сети этих библиотек навалено просто немеренно, но не все это понимают, а особенно начинающие.
К примеру библиотека для DHT-11 капризна с некоторыми версиями IDE Arduino.
Начинающему или человеку, который просто решил повторить проект разбираться с этим, наверное и не обязательно, а проще попросить готовое, и я их за это не осуждаю, а наборот всегда отвечаю, и помогаю, и высылаю полный начальный комплект софта. Что вас раздражает?
в данной теме хорошо собирать базу для спама. прикрепите библиотеки к посту и никто просить не будет. я бы вот по программе лучше спросил а тут куча страниц с эмейлами
в данной теме хорошо собирать базу для спама. прикрепите библиотеки к посту и никто просить не будет. я бы вот по программе лучше спросил а тут куча страниц с эмейлами
Спрашивайте пожалуйста.
Если прикрепить все равно ж прилипнет на одной странице, а потом опять будут просить.
Как так прилепить чтоб не спрашивали?
Подскажите пожалуйста.
К теме не прицепишь. Что каждый раз писать смотри пост #540, например? Или как? Смотри ссылку на GitHub на посте #541?
На первой странице скетч выложен, так и его ж не видят.
Отличный проект. Собрал все, как у автора, но засада с DS1307. Если не сложно, вышлете, пожалуйста, библиотеки, которые вы использовали на kea55377@yandex.ru Заранее спасибо.
Отличный проект. Собрал все, как у автора, но засада с DS1307. Если не сложно, вышлете, пожалуйста, библиотеки, которые вы использовали на kea55377@yandex.ru Заранее спасибо.
Библиотеки выслал, а в чем проблема с DS1307? Библиотека может и не причем?
В последней строке на экране место:
Air pressure
где заглавная буква А, появился знак % (%
ir pressure)
, в чем может быть причина?Это переполнение предыдущей строки. Каким-то образом влажность оказалась 100%. Защиты от этого не делал, т.к. не предполагал такого. Смотрите защиту в строках вывода показаний внешнего датчика.
там 100%, я поставил 99% Правильно?
Нет, не правильно. Нужно добавить в блок вывода влажности внутри помещения строки:
Вот так сделал,но % не пропали(
Возможно, неисправен датчик h2. Вы же не в бане хамам влажность меряете? Не должна влажность в помещении быть 100%.
Здравствуйте. Очень понравился Ваш проект. Не могли бы Вы отправить мне на jgupdimon@mail.ru схемку, библиотеки и скетч? Заранее благодаен.
Отличная работа.У меня скетч компилируется с ошибками.Возможно у меня не те библиотеки.
Помогите с библиотеками.Пожалуйста сбросте на niktim46@mail.ru
Доброго времени суток. Отличная работа! Хочу повторить,но уменя не компилируется скетч. Ардуино v 1.6.10 Возможно стоят
не те библиотеки.Помогите пожалуйста с библиотеками .Скинте на niktim46@mail.ru . Заранее благодарен.
С уважением niktim46.
Помогите с библиотеками. пытался подобрать, но компелируется с ошибками. Пожалуйста отправте на почту vipus@ua.fm Заранее спасибо.
Доброго времени суток. Отправьте пожалуйста библиотеки на адрес электронной почты igormoh@yandex.ru. Спасибо.
Здравствуйте. Очень понравился Ваш проект.
Не могли бы Вы отправить мне на r2pm@ya.ru схемку, библиотеки и скетч? Заранее благодаен.
Виктор
Отправил.
Может есть смысл выложить библиотеки на яндекс диск?
Да, надо заняться. Все руки не доходят.
Спрашивал несколькими постами выше, так и не получил :( Помогите с библиотеками. подобрать не получается, компелируется с ошибками. Пожалуйста отправте на почту vipus@ua.fm Заранее спасибо.
Спрашивал несколькими постами выше, так и не получил :( Помогите с библиотеками. подобрать не получается, компелируется с ошибками. Пожалуйста отправте на почту vipus@ua.fm Заранее спасибо.
Отправил еще 5 октября. Почему вы не получили ????? непонятно.
Повторил.
Задублировал с уведомлением.
Пишите на sokolova_o@mail.ru, если что.
Можно скетч и библиотеки на lords97@gmail.com ?
Спасибо !
Помогите с библиотеками. пытался подобрать, но компелируется с ошибками. Пожалуйста отправте на почту vipus@ua.fm Заранее спасибо.
Дайте другой адрес, на этот почта не доходит
Можно скетч и библиотеки на lords97@gmail.com ?
Спасибо !
Спасибо ! все заработало с пол оборота ...
Владимир отправьте и мне - позывной на яндексе
Можно скетч и библиотеки на lords97@gmail.com ?
Спасибо !
Спасибо ! все заработало с пол оборота ...
Рад, но почему нет индикации давления??
Владимир отправьте и мне - позывной на яндексе
Виктор, приветствую, отправил на
ua6em@vreal.ru и ua6em@yandex.ru,
но похоже, что ua6em@vreal.ru не работает.
Сообщите о получении плз.
73!
Можно скетч и библиотеки на lords97@gmail.com ?
Спасибо !
Спасибо ! все заработало с пол оборота ...
Рад, но почему нет индикации давления??
Датчик с Китая еще не приехал...
Владимир , пожалуйста и мне библиотеки и скетч на почту - oleg.forkop@yandex.ru Зарание большое СПАСИБО .
Можно скетч и библиотеки на cyberwall@mail.ru И ещё вопрос про дополнительные функции часов, возможно ли сделать так, чтобы часы каждый час воспроизводили музыку с music shild???
Владимир , пожалуйста и мне библиотеки и скетч на почту - oleg.forkop@yandex.ru Зарание большое СПАСИБО .
Отправил.
+ Стабильная версия IDE Arduino 1.0.1 для этих библиотек.
Можно скетч и библиотеки на cyberwall@mail.ru И ещё вопрос про дополнительные функции часов, возможно ли сделать так, чтобы часы каждый час воспроизводили музыку с music shild???
Библиотеки и стабильную версию под эти библиотеки выслал..
По поводу "Боя" часов не вижу никаких проблем, правда это не дополнительная функция часов, а просто дополнительная функция в программе. Реализуется очень просто.
1. На свободный порт или скорее всего на шину I2C подключаете свой music shild. На одну шину I2C можно подключить 127 устройств.
2. В программе ставите "ловушку" ТИПА:
// !!!!!!! Э Т О П Р И М Е Р !!!!!!
Владимир доброе время суток!!!!!
Спасибо за проект!!! Может будет вркмя и "подпилите" скетч для боя курантов?
Спасибо. Виктор
Спасибо за проект!!
Добрый день , пришлите и мне пожалуйста скетч и библиотеки на почту amator-75@mail.ru заранее благодарен.
Владимир доброе время суток!!!!!
Спасибо за проект!!! Может будет вркмя и "подпилите" скетч для боя курантов?
Спасибо. Виктор
Виктор, привет.
Я вроде все написал. А конкретно подпиливать надо уже на имеющемся железе.
К сожалению у меня нет таких музыкальных шилдов. Могу подсказать, если укажете, какое у вас
оборудование.
Добрый день , пришлите и мне пожалуйста скетч и библиотеки на почту amator-75@mail.ru заранее благодарен.
Выслал
Владимир - Большое СПАСИБО !
Добрый день!
Большое спасибо за проект. Хочу собрать такой же. Вышлите пожалуйста схему, скетч и библиотеки на почту vlubenets@rambler.ru.
Зараннее благодарю, Виктор
Добрый день!
Большое спасибо за проект. Хочу собрать такой же. Вышлите пожалуйста схему, скетч и библиотеки на почту vlubenets@rambler.ru.
Зараннее благодарю, Виктор
Получайте
Я не понимаю в чём проблема выложить скетч, чтобы тема не состояла из попрошаек, а из обсуждения скетча. выкладываю свой. необходимо: вме(вмр)280, часы 3231, датчик освещённости temt6000(можно и без него либо другой аналоговый), экран1602
на экране ещё рисуется тенденция изменения давления. ну если рост то будет ясно, если падение-жди осадки
Я не понимаю в чём проблема выложить скетч, чтобы тема не состояла из попрошаек, а из обсуждения скетча. выкладываю свой. необходимо: вме(вмр)280, часы 3231, датчик освещённости temt6000(можно и без него либо другой аналоговый), экран1602
на экране ещё рисуется тенденция изменения давления. ну если рост то будет ясно, если падение-жди осадки
Для тех кто невнимателен сообщаю, что скетч на первой странице.
Люди не попрошайничают, а просят библиотеки.
На самом деле я высылаю две библиотеки, а именно для DHT-11 и DS1307.
В сети этих библиотек навалено просто немеренно, но не все это понимают, а особенно начинающие.
К примеру библиотека для DHT-11 капризна с некоторыми версиями IDE Arduino.
Начинающему или человеку, который просто решил повторить проект разбираться с этим, наверное и не обязательно, а проще попросить готовое, и я их за это не осуждаю, а наборот всегда отвечаю, и помогаю, и высылаю полный начальный комплект софта. Что вас раздражает?
Короче как-то так.
Большое спасибо.
в данной теме хорошо собирать базу для спама. прикрепите библиотеки к посту и никто просить не будет. я бы вот по программе лучше спросил а тут куча страниц с эмейлами
в данной теме хорошо собирать базу для спама. прикрепите библиотеки к посту и никто просить не будет. я бы вот по программе лучше спросил а тут куча страниц с эмейлами
Спрашивайте пожалуйста.
Если прикрепить все равно ж прилипнет на одной странице, а потом опять будут просить.
Как так прилепить чтоб не спрашивали?
Подскажите пожалуйста.
К теме не прицепишь. Что каждый раз писать смотри пост #540, например? Или как? Смотри ссылку на GitHub на посте #541?
На первой странице скетч выложен, так и его ж не видят.
Отличный проект. Собрал все, как у автора, но засада с DS1307. Если не сложно, вышлете, пожалуйста, библиотеки, которые вы использовали на kea55377@yandex.ru Заранее спасибо.
Отличный проект. Собрал все, как у автора, но засада с DS1307. Если не сложно, вышлете, пожалуйста, библиотеки, которые вы использовали на kea55377@yandex.ru Заранее спасибо.
Библиотеки выслал, а в чем проблема с DS1307? Библиотека может и не причем?
Вышлите мне пожалуйста нужные библиотеки, у самого не получается подобрать-скетч не компилируется jbunkov@bk.ru
Пожалуйста пришлите Ваши библиотеки на почту sergeykotiuzko@yandex.ru
Вот его библиотеки, качайте https://yadi.sk/d/5m6E-afT3DZwvn
Повторил вариант метеостанции с двумя датчиками DHT22, LCD2004 все работает, только минусовая температура по чему-то завышена
где-то на 2,5 градуса. Подскажите знатоки в чем дело? И еще кто знает как подключить наружний датчик без проводов? Дело в том,
я совершенно не владею программированием.
Повторил вариант метеостанции с двумя датчиками DHT22, LCD2004 все работает, только минусовая температура по чему-то завышена
Простите, а о какой метеостанции идет речь? ОБ этой или какой то другой? Если об этой интересно увидеть
вариант с двумя DHT22 и LCD2004.
только минусовая температура по чему-то завышена
где-то на 2,5 градуса.
1. DHT-22 весьма неточный и капризный датчик. Какой экземпляр попадется. Если их у вас несколько попробуйте установить другой.
2. Если п.1 не помог, то дело в библиотеке. Подберите нужную для 22 модели. Та, которая применяется в этой конструкции не годится.
3. Если не помогает п.1 и п.2. делаем программную корректировку.
И самое главное что принято за эталон? Может датчик работает правильно?
И еще кто знает как подключить наружний датчик без проводов?
Вот мой вариант решения проблемы.
http://arduino.ru/forum/proekty/komnatnaya-meteostantsiya-na-besprovodny...
в посте137