1. Контроллер своими руками

<< 123456 8910 >>

Посетитель





78 2
Palestinian Territory Ramallah
5 г. назад
1. Контроллер своими руками
В данной теме я постараюсь изложить материал так, чтобы он был доступен самому неопытному в части электроники и программирования пользователю.
Позже тема будет развиваться. В итоге я расскажу как изготовить устройство, которое по своим характеристикам не уступает тому, что можно преобрести в готовом исполнении. Точнее в готовом ничего даже близко подходящего Вы не найдете.

В качестве платформы будем использовать Arduino. Это устройство может работать как автономно (запитав его любым адаптером 7-12V или батарейкой), так и подключенным к компьютеру. Имеет 20 цифровых вводов/выводов, 6 из которых могут быть использованы как аналого-цифровые преобразователи, еще 6 могут работать в режиме широтно-импульсной модуляции. Встроенные интерфейсы I2C и SPI. И много чего еще. Более подробно: http://arduino.ru/Hardware/ArduinoBoardUno. Такая организация позволяет подключить к Arduino практически любое электронное приспособление. Простой язык программирования и наличие в сети готовых библиотек для популярных устройств позволяет без труда реализовать на базе Arduino любой проект.

Грубо говоря, до знакомства с Arduino мои знания в электроние ограничивались законом Ома. Через пару часов после приобретения я уже реализовывал простые проекты, а еще через пару дней террариум был оборудован контроллером.

Что нам понадобиться:
1. Контроллер Ардуино. Arduino на E-bay
Вариант Nano удобнее всего использовать в итоговом устройстве (стоит около 450р, есть варианты и дешевле, но по USB они напрямую не подключаются, поэтому лучше немного переплатить, и использовать более удобное). Для прототипирования лучше использовать UNO (цена ~600р)
2. Датчик влажности и температуры. Датчики DHT* на E-bay
Цена от 100р в зависимости от точности. Желательно использовать DHT21 или DHT22. У DHT11 погрешность измерения температуры +-2 градуса, что существенно.
3. Релейный модуль. Релейный модуль (цена от 100р)
Такие модули бывают от 1, 2, 4, 8 до 16 (видел и 32 для маньяков) выводов, т.е. чем больше устройств надо заюзають, тем больше модуль.
4. Резистор на 10 kOm 1шт. Купить можно в ближайшем магазине радиодеталей. Цена 3р (не в ближайшем 60коп ).
5. Провода. Удобные шнуры для датчика и соединений.

Не буду рассказывать об Arduino. Вот ссылка, где о нем есть несколько статей Амперка, которые позволят быстро подружить это устройство с компьютером (см. видео Первые шаги). Кстати кто не хочет связываться с E-bay по тем или иным причинам, практически все причендалы можно купить в их интернет магазине (не сочтите за рекламу).
Но поверьте, в покупках на E-bay нет ничего сложного. Правда ждать посылку придется около месяца, но зато бюджет устройства будет в разы меньше.

Так же нам понадобится библиотека для работы с датчиком, взять ее можно здесь: https://github.com/adafruit/DHT-sensor-library. Папку поместить в каталог libraries\ установленной программы Arduino

Вот прототип (его я собрал и запрограммировал за 5 минут из того, что валялось под рукой):


Подключение датчика (Подробно тут):
1-й пин датчика подключаем к 5v от Arduino
2-й пин датчика к 8-му (или любому понравившимуся) пину Arduino. Так же через резистро 10 кOm этот пин надо подтянуть к 5v.
3-й никуда не подключаем.
4-й пин к Земле.

Подлюкчаем Реле (все еще проще чем с датчиком).
1. Соединяем с питанием. На модуле будет указано, какой пин отвечает за 5v (VCC) и Землю (GND)
2. Цифровые пины Arduino подключаем к управляющим пинам модуля (In1, In2 и т.д.). В данном случае к 6 и 7.

Железо готово! Через реле подлючаем необходимые устройства и доставляем радость животному.


Мы использовали всего 3 из 18-ти возможных управляющих пинов. Это значит, что мы уже знаем как к тому же самому контроллеру подлючить еще 5 террариумов с независимым управлением (обладая более углубленными знаниями мы бы знали, как подлючить еще не один десяток...).

Чуть не забыл, вот текст программы, который надо загрузить в устройство, чтобы все заработало (программа максимально упрощена, для удобства восприятия и возможности внесений изменений. Используем простой принцип, если температура опустилась ниже указанной отметки, то включаем обогрев; с влажностью аналогично):

#include <DHT.h> // Подключаем библиотеку для работы с датчиком

#define DHTPIN 8 // Считывающий пин с датчика
#define DHTTYPE DHT11 // Модель датчика
#define tPIN 7 // Пин управления температурой
#define hPIN 6 // Пин управления влажностью

DHT dht(DHTPIN, DHTTYPE); // Создаем объект dht

int tStatus = HIGH; // определяем переменную, отвечающую за состоянеие нагревателя HIGH=выкл, LOW=вкл
int temp = 28; // Желаемая температура в градусах Цельсия (изменить на нужную)
int hStatus = HIGH; // определяем переменную, отвечающую за состоянеие увлажнителя HIGH=выкл, LOW=вкл
int hum = 45; // Желаемая влажность (изменить на нужную)

void setup() // инициализация основных данных
{
Serial.begin(9600); // Инициализируем COM-порт
dht.begin(); // Инициализируем датчик
pinMode(tPIN, OUTPUT); // Определяем пин для управления температурой как Вывод
digitalWrite(tPIN, tStatus); // Притягиваем пин к начальному статусу (Выкл)
}

void loop() // зацикливание (код управляющей программы)
{
int h = dht.readHumidity(); // Считываем влажность
int t = dht.readTemperature(); // Считываем температуру
tStatus = (t < temp) ? LOW:HIGH; // Если температура меньше желаемой, то статус обогревателя=Вкл, в противном случае Выкл
digitalWrite(tPIN, tStatus);
if (h < hum) hStatus = LOW; else hStatus = HIGH; // Если влажность меньше желаемой, то статус увлажнителя=Вкл, в противном случае Выкл
digitalWrite(hPIN, hStatus);
delay(1000); // Задержка в 1 секунду
Serial.print("t="); Serial.print(t); Serial.print(" h="); Serial.println(h); // Отправляем информацю о климате на COM-порт
}


Примечание (бонус ). При подключении к компютеру с COM порта можно будет считать информацию о температуре и влажности в цифрах. В самой программе Arduino можно открыть COM-монитор с помощью меню Tools/Serial Monitor и с периодичность в 1 сек будет обновляться инфа о температуре и влажности

Итого: Мы потратили около 700р. Получив контроллер с возможностью расширения до 6 терров. Устройство работает как подключенное к компьютеру, так и без него при наличии питания.

Если тема будет интересна то:
1. В следующий раз я расскажу, как наше устойство "научить" работать со времененем. И в зависимости от времени суток менять характеристики климата, а так же к реле подключить Освещение, которое будет включаться утром и выключаться вечером (если у Вас останутся свободные каналы...).
2. И по нарастающей... LCD-Дисплей с информацией; эффект рассвета и заката; управление с пульта ДУ, ПК или сенсорной панели; использование транзисторов вместо реле для устройств работающих от малого постоянного тока; и пр.

С вопросами и пожеланиями не стесняемся. Кому интересно, помогу чем смогу.

Изменено 27-4-2012 автор CiberRus
2012-03-26 добавлено 26/03/2012 13:37:26#365640
Нравится DragonNagaina

Новенький





46
Russian Federation Kazan
5 г. назад
aleksjet


Абсолютно согласен Alex1503

В принципе CyberRus довольно подробно описывал в начале ветки и схемы подключения кнопок (там даже видео есть с Джереми по кнопками),
давал примеры скетча организации меню с их использованием.
Причем для себя я отметил хорошую способность CyberRus грамотно и доступно объяснять

и он всегда помогает,если видит, что человек старается.

aleksjet, держись, сейчас закончаться отчеты и прочая дребедень (бешеный период, конец года), займемся вплотную.
Целая неделя будет. Может продвинемся в этом вопросе. Если не сможем, будем вдвоем просить CyberRus помочь.
2012-12-20 добавлено 20/12/2012 10:11:51#391394

Посетитель





65
10 г. назад
Спасибо будем разбираться надо кнопки спаять а то на макеттке что то не выходит не реагируют кнопки
2012-12-20 добавлено 20/12/2012 10:20:29#391395

Посетитель





65
10 г. назад
а еще нашел тут тему http://avrproject.ru... про то что можно вместо кнопок подключить энкодер с кнопкой вот заказал http://www.ebay.com/... правда как их подключать не знаю )

Изменено 24-12-2012 автор aleksjet
2012-12-24 добавлено 24/12/2012 11:41:01#391808

Новенький





14
Russian Federation Tomsk
11 г. назад
Доброго времени суток вот зачитался я в вашей очень интересной и полезной ветке , идея супер , реализация на высоте . Я срою террариум для змейки (удав) и посчитав сколько выходит все отдельные таймеры и реле и индикаторы температуры и влажности и куча розеток и проводов принял решение собрать автоматику по вашему примеру ! Вопрос пока один , подойдёт ли такой набор http://dx.com/p/ardu... если нет подскажите какой конкретно arduino брать (с ebay имею печальный опыт, если можно то другой магазин с адекватными ценами)



СПАСИБО
2012-12-26 добавлено 27/12/2012 01:28:57#392070

Посетитель





78 2
Palestinian Territory Ramallah
5 г. назад
сообщение ToniMantana
Вопрос пока один , подойдёт ли такой набор http://dx.com/p/ardu... если нет подскажите какой конкретно arduino брать (с ebay имею печальный опыт, если можно то другой магазин с адекватными ценами)


Да, подойдет.

Я делал покупки на e-bay раз 100 не меньше:
-Случаев неприхода посылки - 0;
-Претензии к качеству - раз 5;
-2 раза посылка задерживалась в пути, оба раза мне вернули деньги без вопросов. Причем оказалось, что не по вине поставщика, а тупняки на нашей почте.
-1 раз количество отличалось от заявленного, мне вернули половину стоимости.
-Если у продавца рейтинг 99.8-100%, количество совершенных сделок велико, то вероятность поиметь проблемы стремится к 0.

Пару раз покупал на amazon.com. Там много чего, но как правило не для России.

На e-bay сделка клиента защищена. Вы можете оспорить качество обслуживания, качество товара. Если товар не поступил, то Вам вернут деньги. Да, можно нарваться на неприятности, но опыт работы с другим малоизвестным магазином может быть еще печальнее.
2012-12-27 добавлено 27/12/2012 08:23:16#392074

Посетитель





78 2
Palestinian Territory Ramallah
5 г. назад
сообщение Alex1503
Выявилась одна особенность моего скетча.
Из-за недостатка места на дисплее значение температуры от DS18B20
выводится при коротком нажатии на кнопку 2 (высвечивается в левом нижнем углу
вместо температуры от DHT22 ) и остается видимым в течении 2 секунд.
Затем опять высвечивается значение температуры от DHT22. Это обеспечивается
за счет использования Delay(2000).
Но теперь при нажатии кнопок принудительного включения насосов они начинают работать
только примерно через 2 секунды и остаются включенными около 2 секунд.


Это решается, и примеры замены Delay на иной алгоритм задержки есть в скетче.

Вначале блока loop() у Вас есть такие строки:

static unsigned long lastTime = 0; // Декларируем переменную и устанавливаем ее начальное значение в 0
if (millis() - lastTime > 3000) // Не используем в данном случае задержку Delay, т.к. это приведет к запаздыванию нажатий кнопок
{
<Код>
lastTime = millis();
}


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

Перенесите этот блок в другое место программы и исправьте 3000 на 2000. В блок необходимо поместить вывод на экран базовой температуры, а значение lastTime определять при нажатии на кнопку вместо Delay(2000):

...
lcd.setCursor(8,3);lcd.print((tStatus == LOW) ? "+":" "); // Выводим индикатор работы подогрева
lcd.setCursor(19,3);lcd.print((hStatus == LOW) ? "+":" "); // Выводим индикатор работы увлажнения
static unsigned long lastTime = 0; // Декларируем переменную и устанавливаем ее начальное значение в 0
if (millis() - lastTime > 2000) // Не обновляем значение температуры в течение 2-х секунд после вывода доп. температуры
{

lcd.setCursor(0,3); // устанавливаем позицию курсора на экране (на один символ правее левого нижнего угла)
lcd.print("T:");lcd.print(t, 1); lcd.print("C ");
}
lcd.setCursor(11,3);
lcd.print("H:");lcd.print(h, 1); lcd.print("%"); // Выводим информацию о климате
...
...
else if (lastButton2 == LOW && currentButton2 == HIGH) // Если было короткое нажатие на Кнопку №2 не в режиме редактирования, то можно
выполнить какое либо действие, если описать его в фигурных скобках ниже
{lcd.setCursor(0,3);
lcd.print("T1:");
printTemperature(insideThermometer);
//delay (2000); // удаляем задержку
lastTime = millis();

}


Т.о. после нажатия на кнопку №2 доп. значение будет выведено на экран, а базовое значение заменит его только тогда, когда значение millis() будет на 2 секунды больше lastTime, т.е. через 2 секунды.
2012-12-27 добавлено 27/12/2012 09:22:01#392079

Новенький





22
Singapore Singapore
11 г. назад
Спасибо, попробую Ваш вариант замены Delay на millis.

Я же применил следующий вариант:

else if (lastButton2 == LOW && currentButton2 == HIGH) // Если было короткое нажатие на Кнопку №2 не в режиме редактирования, то можно выполнить какое либо действие, если описать его в фигурных скобках ниже

{long t1_millis = millis(); // Фиксируем начальное время нажатия кнопки.
while ( millis() - t1_millis <= 2000) //Отображение значения T1 в течении 2 секунд
{ lcd.setCursor(0,3);
lcd.print("T1:");
printTemperature(insideThermometer);}
}

T1 как ожидалось появляется на 2 секунды при нажатии Кнопки №2, но кнопки насосов продолжают работать но прежнему с задержкой.
Был удивлен. Ведь Delay больше нигде нет.
2012-12-27 добавлено 27/12/2012 17:54:49#392108

Новенький





1
Ukraine Odessa
11 г. назад
Доброе время суток помогите мне!!!!((((((((((((((((

Хочу начать с благодарности CiberRus! )))))))))))))))

Я не могу понять одну странность когда добавляется библиотека в папку кор!!!!
Программа ИДЕ начинает валится даже не компилирует рабочие скетчи!!!




Пишет разные жалобы на те объекты которые я добавило наприме на драйвер часов, SPI_bus.h и ............
2012-12-27 добавлено 28/12/2012 00:05:46#392130

Посетитель





65
10 г. назад
сообщение Skynet
Доброе время суток помогите мне!!!!((((((((((((((((

Хочу начать с благодарности CiberRus! )))))))))))))))

Я не могу понять одну странность когда добавляется библиотека в папку кор!!!!
Программа ИДЕ начинает валится даже не компилирует рабочие скетчи!!!




Пишет разные жалобы на те объекты которые я добавило наприме на драйвер часов, SPI_bus.h и ............


У меня такая же проблема была я просто переименовал папки из SPI_bus в SPIbus и все заработало
2012-12-28 добавлено 28/12/2012 10:41:33#392147

Посетитель





78 2
Palestinian Territory Ramallah
5 г. назад
сообщение Skynet
Я не могу понять одну странность когда добавляется библиотека в папку кор!!!!
Программа ИДЕ начинает валится даже не компилирует рабочие скетчи!!!
Пишет разные жалобы на те объекты которые я добавило наприме на драйвер часов, SPI_bus.h и ............


"Разные жалобы" ни о чем не говорят. Скопируйте и вставьте в сообщение на форуме текст ошибок из окна сообщений IDE (если он слишком длинный, то хотябы первые 10 строк.)
Так же не совсем ясно, что за "папка кор"...
2012-12-28 добавлено 28/12/2012 11:49:27#392150

Новенький





22
Singapore Singapore
11 г. назад
Вставил рекомендованный Вами вариант:

...
lcd.setCursor(8,3);lcd.print((tStatus == LOW) ? "+":" "); // Выводим индикатор работы подогрева
lcd.setCursor(19,3);lcd.print((hStatus == LOW) ? "+":" "); // Выводим индикатор работы увлажнения
static unsigned long lastTime = 0; // Декларируем переменную и устанавливаем ее начальное значение в 0
if (millis() - lastTime > 2000) // Не обновляем значение температуры в течение 2-х секунд после вывода доп. температуры
{
lcd.setCursor(0,3); // устанавливаем позицию курсора на экране (на один символ правее левого нижнего угла)
lcd.print("T:");lcd.print(t, 1); lcd.print("C ");
}
lcd.setCursor(11,3);
lcd.print("H:");lcd.print(h, 1); lcd.print("%"); // Выводим информацию о климате
...
...
else if (lastButton2 == LOW && currentButton2 == HIGH) // Если было короткое нажатие на Кнопку №2 не в режиме редактирования, то можно
выполнить какое либо действие, если описать его в фигурных скобках ниже
{lcd.setCursor(0,3);
lcd.print("T1:");
printTemperature(insideThermometer);
//delay (2000); // удаляем задержку
lastTime = millis();
}


Выходит ошибка
ino: In fungtion 'void Switch()':
error: 'lastTime' was not declared in this scope
2012-12-28 добавлено 28/12/2012 12:25:59#392155

Посетитель





78 2
Palestinian Territory Ramallah
5 г. назад
[q]сообщение Alex1503
Вставил рекомендованный Вами вариант:

...
lcd.setCursor(8,3);lcd.print((tStatus == LOW) ? "+":" "); // Выводим индикатор работы подогрева
lcd.setCursor(19,3);lcd.print((hStatus == LOW) ? "+":" "); // Выводим индикатор работы увлажнения
static unsigned long lastTime = 0; // Декларируем переменную и устанавливаем ее начальное значение в 0
if (millis() - lastTime > 2000) // Не обновляем значение температуры в течение 2-х секунд после вывода доп. температуры
{
lcd.setCursor(0,3); // устанавливаем позицию курсора на экране (на один символ правее левого нижнего угла)
lcd.print("T:");lcd.print(t, 1); lcd.print("C ");
}
lcd.setCursor(11,3);
lcd.print("H:");lcd.print(h, 1); lcd.print("%"); // Выводим информацию о климате
...
...
else if (lastButton2 == LOW && currentButton2 == HIGH) // Если было короткое нажатие на Кнопку №2 не в режиме редактирования, то можно
выполнить какое либо действие, если описать его в фигурных скобках ниже
{lcd.setCursor(0,3);
lcd.print("T1:");
printTemperature(insideThermometer);
//delay (2000); // удаляем задержку
lastTime = millis();
}


Выходит ошибка
ino: In fungtion 'void Switch()':
error: 'lastTime' was not declared in this scope [/q]

Да, надо перенести переменную в глобалную (я не компилил, и не заметил, что переменная определяется в одной процедуре, а используется еще и в другой)
Удалите эту сроку из loop()
static unsigned long lastTime = 0; // Декларируем переменную и устанавливаем ее начальное значение в 0

и добавьте в начало скетча:
long lastTime = 0; // Декларируем переменную и устанавливаем ее начальное значение в 0
2012-12-28 добавлено 28/12/2012 13:45:21#392162

Новенький





22
Singapore Singapore
11 г. назад
Исправил по Вашей рекомендации.
Загрузил, но кнопки насосов по-прежнему работают с задержкой.
Странно.
Оригинал скетча:
https://www.dropbox....

Если линк не откроется, то иснользовать Скопировать и Прикрепить.

Еще одной особенностью является неровная работа секунд в часах.

Изменено 29-12-2012 автор Alex1503

Изменено 29-12-2012 автор Alex1503

Изменено 29-12-2012 автор Alex1503
2012-12-29 добавлено 29/12/2012 09:54:17#392239

Посетитель





78 2
Palestinian Territory Ramallah
5 г. назад
сообщение Alex1503
Исправил по Вашей рекомендации.
Загрузил, но кнопки насосов по-прежнему работают с задержкой.
Странно.
Оригинал скетча:
https://www.dropbox....

Если линк не откроется, то иснользовать Скопировать и Прикрепить.

Еще одной особенностью является неровная работа секунд в часах.


Я объяснял Вам как избежать задержки при нажатии кнопки получения доп. температуры. И эта проблема надеюсь решена.
Далее ответ нужно искать не в скетче, а в используемых библиотеках:

Библиотеки могут быть не оптимизированными, к примеру если брать DHT, то если Вы посмотрите в файл DHT.cpp, там при получении данных инициируется задержка delay(250) и delay(20) и delayMicroseconds(40). Это значит, что получая значение температуры и влажности мы дважды выполняем все эти задержки, а это больше пол секунды.
Эти задержки необходимы для того, чтобы дать время микросхеме, которая находится в датчике, успеть обработать информацию перед возвратом результата (и иных технических тонкостей, связанных с согласованием цифровых устройств между собой). Но 250 это конечно перебор...
Иные библиотеки я не анализировал, но уверен, что там тоже есть подобные сюрпризы.
Т.о. если при каждом проходе цикла получать информацию с датчиков, то мы волей не волей выполняем задержку.
Допустим суммарная задержка, которую мы накопили, 0.8 секунды. Это означает, что прибор будет "залипать", и выполнять действия с запаздыванием. Визуально это будет заметно на часах, т.к. задержка и секунды будут не синхронизированы(0.8-00,1.6-01,2.4-02,3.2-03,4-04,4.8-04...), т.е. с 00 до 01 пройдет время 1.6 сек, с 01 до 02 - 0.8 сек и т.д.

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

Решение (первый шаг к оптимизации):
1. Чтобы решить вопрос с часами, нужно синхронизировать запросы параметров с секундой по уже знакомому алгоритму:
static unsigned long lastTime = 0; // Декларируем переменную и устанавливаем ее начальное значение в 0
if (millis() - lastTime > 1000) // обновляем показатели раз в 1 секунду
{
float h = dht.readHumidity(); // Считываем влажность
float t = dht.readTemperature(); // Считываем температуру
<Код>
lastTime = millis();
}

В качестве кода помещаем в эту конструкция все установки переменных, ну или хотя бы тех, что связаны с DHT, т.к. они самые проблемные
Примечание. lastTime у Вас уже задействована, то используйте другой идентификатор.
2. Вероятность залипания можно уменьшить, если запрос параметров производить не раз в 1 сек, а к примеру раз в 10 сек, т.е. вместо 1000 в условие ставим 10000. Т.к. обратная связь у таких параметров как температура и влажность либо невелика либо несущественна, то нет смысла обновлять их чаще, чем раз в десять секунд. А это значит, что из 10 нажатий на кнопку насосов вы в среднем будете 1 раз сталкиваться с задержкой (т.е. только тогда, когда попадете в момент обновления переменных).
2.a. В ардуино есть возможность использование прерывания. Это не простая тема, но позволяет решить массу проблем, связанных например с кнопками.

Изменено 29-12-2012 автор CiberRus
2012-12-29 добавлено 29/12/2012 14:47:59#392255

Новенький





22
Singapore Singapore
11 г. назад
Я извиняюсь, но я не совсем понял что значит:


В качестве кода помещаем в эту конструкцию все установки переменных, ну или хотя бы тех, что связаны с DHT


В частности что значит "установки, связанные с DHT"?
2012-12-29 добавлено 29/12/2012 18:01:13#392263

Посетитель





78 2
Russian Federation Moscow
5 г. назад
сообщение Alex1503
Я извиняюсь, но я не совсем понял что значит:


В качестве кода помещаем в эту конструкцию все установки переменных, ну или хотя бы тех, что связаны с DHT


В частности что значит "установки, связанные с DHT"?


Те части кода, которые обращаются к времязатратным библиотекам.
C DHT связаны переменные, полученные от датчика DHT22

Вместо:

float h = dht.readHumidity(); // Считываем влажность
float t = dht.readTemperature(); // Считываем температуру

Надо:

static unsigned long lastTimeDHT = 0; // Декларируем переменную и устанавливаем ее начальное значение в 0
if (millis() - lastTimeDHT > 10000) // обновляем показатели раз в 10 секунд (изменить если необходимо меньше)
{
float h = dht.readHumidity(); // Считываем влажность
float t = dht.readTemperature(); // Считываем температуру
lastTimeDHT = millis();
}
2012-12-29 добавлено 29/12/2012 19:54:36#392278

Новенький





22
Singapore Singapore
11 г. назад
Спасибо, я все понял.
Я просто решил, что вместо <Код> надо вставить еще какие-то
установки переменных связанных с DHT.
В принципе изначально Вы все уже и написали.
2012-12-30 добавлено 30/12/2012 04:11:21#392347

Новенький





46
Russian Federation Kazan
5 г. назад
Поздравляю Всех с наступающим Новым Годом!
Всем творческого вдохновения. Чтобы все получалось в Новом Году и не только в конструировании контроллеров.
Отдельное спасибо CiberRus за эту ветку и за её поддержку.
Еще раз с праздником! Всего самого доброго.
2012-12-31 добавлено 31/12/2012 13:50:28#392435

Посетитель





65
Russian Federation Moscow
10 г. назад
Всех с прошедшими затяжными праздниками
Не давно нашел у себя в деталях энкодер хочу использовать его вместо кнопок управления меню.
Может кто знает как подружить энкодер с ардуиной

Изменено 9-1-2013 автор aleksjet
2013-01-08 добавлено 08/01/2013 23:54:41#393117

Новенький





14
Russian Federation Omsk
11 г. назад
Нашёл СКЕТЧ (https://github.com/elagin/Arduino-terarium/blob/master/circutfz.fz) может кому пригодиться , Автор Елагин Павел
2013-01-10 добавлено 10/01/2013 13:35:36#393274

Посетитель





65
Russian Federation Moscow
10 г. назад
Вчера засунул датчик в террариум со змеем и не понимаю почему влажность держится в приделах 99%
Получается что датчик врет или он не совсем подходит для террариумов так как быстро намокает
Что делать не знаю как настроить датчик
Может это из за того что я его залил в эпоксидку ?
2013-01-12 добавлено 12/01/2013 13:04:04#393553

Посетитель





65
10 г. назад
есть живые ??
у меня уже которую неделю датчик в терре показывает влажность 99 % самый нижний предел был 74 % может он не рассчитан на маленький объем ? и постоянно у меня намокает ? кто с такой проблемой сталкивался помогите ?
Как нужно правильно размещать этот датчик ?
2013-01-16 добавлено 16/01/2013 11:27:28#394085

Новенький





46
Russian Federation Tula
5 г. назад
aleksjet


Привет. Давно я не заходил. Времени совсем нет.

А зачем ты залил датчик эпоксидкой? У него рабочий диапазон "humidity 0-100% RH",значит он расчитан на эту влажность.
Под словом "намокает" - ты имеешь ввиду конденсат который образуется на датчике? Если это так, то конденсат обычно образуется при плохой вентиляции или при большой разнице температур в пограничных средах.

А у тебя еще такой датчик есть? Поменяй и посмотри измениться что-то или нет. Сразу будет понятно в каком направлении двигаться дальше для исправления ситуации.
2013-01-19 добавлено 19/01/2013 10:51:35#394412

Посетитель





65
Russian Federation Moscow
10 г. назад
Я залил плату с резистор и провод что бы более красиво было ) а окошки не залиты
Наверное буду заказывать второй датчик и смотреть что выйдет )
2013-01-20 добавлено 20/01/2013 20:30:21#394627

Посетитель





65
10 г. назад
Сегодня заказал еще один датчик теперь буду ждать для экспериментов.
http://www.ebay.com/... а еще купил вот такую штуковину для тестов )
сейчас жду энкодеры с кнопкой что бы собрать все без кнопок думаю будет удобно.
У кого какие продвижения есть ?
2013-01-21 добавлено 21/01/2013 15:27:22#394753

<< 123456 8910 >> Создать новую темуБыстрый ответ