Освещение и другие технические вопросы (ХР)
-
- новичок
- Сообщения: 28
- Зарегистрирован: Ср янв 22, 2020 23:25
- Откуда: Москва
- Благодарил (а): 12 раз
- Поблагодарили: 1 раз
Re: Освещение и другие технические вопросы
Cyathus, ТатьянаОЗ, спасибо вам большое! Для новичка вроде меня это достаточно сложно – кажется, что миллион деталей нужно учесть и руки опускаются.
У меня обывательский вопрос:
Подскажите, пожалуйста, должно быть определенное количество Вт? Свет лучше >4000к, верно? Зависит ли что-то от цоколя лампочки?
Простите новичка, если вдруг вопросы слишком глупые
У меня обывательский вопрос:
Подскажите, пожалуйста, должно быть определенное количество Вт? Свет лучше >4000к, верно? Зависит ли что-то от цоколя лампочки?
Простите новичка, если вдруг вопросы слишком глупые
- ТатьянаОЗ
- ветеран
- Сообщения: 1593
- Зарегистрирован: Чт мар 09, 2017 20:05
- Откуда: Подмосковье
- Благодарил (а): 553 раза
- Поблагодарили: 695 раз
Re: Освещение и другие технические вопросы
uarynastya,
что то вроде этого: Если есть кому порукодельничать, можно вообще просто патрон с проводом к верхнему откосу окна прикрепить
Цоколь Е 27 это как обычная стандартная лампа накаливания. У светильника соответственно тоже должен быть такой же патрон. Светильник лучше берите настольный, на длинной ножке, абажур лучше поменьше. Так лампа будет больше "высовываться" и меньше перегреваться. Или абажур можно вообще снять.
что то вроде этого: Если есть кому порукодельничать, можно вообще просто патрон с проводом к верхнему откосу окна прикрепить
- Cyathus
- долгожитель
- Сообщения: 684
- Зарегистрирован: Пт июн 14, 2019 11:27
- Откуда: Санкт-Петербург
- Благодарил (а): 512 раз
- Поблагодарили: 498 раз
- Контактная информация:
Re: Освещение и другие технические вопросы
20 Вт - достаточно мощная светодиодная лампочка, больше вам не нужно. 16 Вт тоже должно хватить. 5, 7, 9, 11 Вт - маловато, мухоловка свет любит.uarynastya писал(а): ↑Пт янв 24, 2020 17:15должно быть определенное количество Вт? Свет лучше >4000к, верно? Зависит ли что-то от цоколя лампочки?
Свет лучше не намного ниже 4000 К, т.е. близкий к белому солнечному.
От цоколя зависит только совместимость со светильником
-
- новичок
- Сообщения: 28
- Зарегистрирован: Ср янв 22, 2020 23:25
- Откуда: Москва
- Благодарил (а): 12 раз
- Поблагодарили: 1 раз
Re: Освещение и другие технические вопросы
Cyathus, спасибо, была только 4100 К лампочка на 20 Вт, взяла ее:)
Думаю, будет хорошо:)
Спасибо за помощь!
Думаю, будет хорошо:)
Спасибо за помощь!
-
- участник
- Сообщения: 74
- Зарегистрирован: Сб мар 02, 2019 3:57
- Откуда: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 23 раза
Re: Освещение и другие технические вопросы
andrei5550, извиняюсь за отсутствие в связи с праздниками. Напишите пожалуйста ваш код (что есть).
- andrei5550
- долгожитель
- Сообщения: 621
- Зарегистрирован: Вс июн 03, 2018 10:25
- Откуда: 19 регион
- Благодарил (а): 413 раз
- Поблагодарили: 420 раз
Re: Освещение и другие технические вопросы
Artcore, Всё понимаю
Ну в общем что я нашел, есть два вида подключения и оба работают, какой проще и удобнее в дальнейшем не знаю.
Вариант 1. ( Сейчас так подключено)
Ну в общем что я нашел, есть два вида подключения и оба работают, какой проще и удобнее в дальнейшем не знаю.
Вариант 1. ( Сейчас так подключено)
- Вложения
-
- #define SENSOR A0 // Определяем номер аналогового входа, к которому подключен датчик влажности почвы.
void setup () {
Serial.begin (9600); // передача данных по последовательному порту на скорости 9600 бот.
}
void loop () {
uint16_t sensor = analogRead (SENSOR); // Читаем данные с датчика,
Serial.println (датчик); // выводим текущую влажность почвы из датчика в последовательный порт,
Задержка (5000); // приостанавливаем выполнение программы на 5 секунд.
}
-
- Вариант 2
#define SENSOR A2 // Определяемый номер аналогового входа, к которому подключен датчик влажности почвы
#define Vcc A1 // Определяемый номер выхода, от которого запитан датчик (вывод Vcc)
#define GND A0 // Определяемый номер выхода, от которого запитан датчик (вывод GND)
void setup () {
Serial.begin (9600); // передача данных по последовательному порту на скорости 9600 бот
pinMode (Vcc, OUTPUT); // Переводим вывод Vcc в режиме выхода
pinMode (GND, OUTPUT); // Переводим вывод GND в режиме выхода
digitalWrite (Vcc, LOW); // Подаем уровень логического 0 на вывод Vcc датчика
digitalWrite (GND, LOW); // Подаем уровень логического 0 на вывод GND датчика
}
void loop () {
digitalWrite (Vcc, HIGH); // Включаем датчик
задержка (50); // Ждем генератор частоты
Serial.println (analogRead (ДАТЧИК)); // Выводим текущую влажность почвы из датчика в последовательный порт
digitalWrite (Vcc, LOW); // Выключаем датчик
Задержка (5000); // Приостанавливаем выполнение программы на 5 секунд
}
- andrei5550
- долгожитель
- Сообщения: 621
- Зарегистрирован: Вс июн 03, 2018 10:25
- Откуда: 19 регион
- Благодарил (а): 413 раз
- Поблагодарили: 420 раз
Re: Освещение и другие технические вопросы
Artcore,
Так у меня не захотел работать ( то есть он работает но цифры постоянно убегают, не находятся в заданном интервале 0-100, почему не знаю, но и не принципиально такой тип отображения информации).
Для удобства чтения данных можно использовать карту видимой функции (), которая в следующем сценарии преобразует и инвертирует "сырые" показания дат в диапазоне от 0 до 100 :
Работает но не корректно по варианту подключения 2
#define SENSOR A2 // Определяемый номер аналогового входа, к которому подключен датчик влажности почвы.
// Датчик инверсный: больше влажность - меньше значение.
#define MIN 630 // Определяем минимальное показание датчика (в воздухе),
#define MAX 330 // определяющий высокое показание датчика (в воде),
датчик uint16_t; // создаем переменную для хранения адаптированных показаний,
void setup () {
Serial.begin (9600); // передача данных по последовательному порту на скорости 9600 бот.
}
void loop () {
датчик = аналоговыйЧит (ДАТЧИК); // Читаем сырые данные с датчика,
датчик = карта (датчик, MIN, MAX, 0, 100); // адаптируем значения от 0 до 100,
Serial.println (датчик); // выводим текущую влажность почвы из датчика в последовательный порт,
задержки (500); // приостанавливаем выполнение программы на 0,5 секунды.
}
P.S. это всё что у меня есть !!!!
Так у меня не захотел работать ( то есть он работает но цифры постоянно убегают, не находятся в заданном интервале 0-100, почему не знаю, но и не принципиально такой тип отображения информации).
Для удобства чтения данных можно использовать карту видимой функции (), которая в следующем сценарии преобразует и инвертирует "сырые" показания дат в диапазоне от 0 до 100 :
Работает но не корректно по варианту подключения 2
#define SENSOR A2 // Определяемый номер аналогового входа, к которому подключен датчик влажности почвы.
// Датчик инверсный: больше влажность - меньше значение.
#define MIN 630 // Определяем минимальное показание датчика (в воздухе),
#define MAX 330 // определяющий высокое показание датчика (в воде),
датчик uint16_t; // создаем переменную для хранения адаптированных показаний,
void setup () {
Serial.begin (9600); // передача данных по последовательному порту на скорости 9600 бот.
}
void loop () {
датчик = аналоговыйЧит (ДАТЧИК); // Читаем сырые данные с датчика,
датчик = карта (датчик, MIN, MAX, 0, 100); // адаптируем значения от 0 до 100,
Serial.println (датчик); // выводим текущую влажность почвы из датчика в последовательный порт,
задержки (500); // приостанавливаем выполнение программы на 0,5 секунды.
}
P.S. это всё что у меня есть !!!!
-
- участник
- Сообщения: 74
- Зарегистрирован: Сб мар 02, 2019 3:57
- Откуда: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 23 раза
Re: Освещение и другие технические вопросы
andrei5550, если со вторым вариантом проблемы, будем использовать вариант первый. Для начала нужно скачать библиотеки dht и tft. Я загрузил их на Яндекс диск на случай, если у вас их нет. https://yadi.sk/d/LaY91wSLyDjhhw
Теперь собираем всё воедино. Я не знаком с датчиком влажности почвы т.к. не имел с ним дело. Но данные с него вы уже получили. Я написал код подключения датчика влажности воздуха и дисплея. Осталось ввести переменные типа int, присвоить им значения с датчика влажности почвы, и всё это конвертировать в переменные типа string как у меня. Вот сам код:
Теперь собираем всё воедино. Я не знаком с датчиком влажности почвы т.к. не имел с ним дело. Но данные с него вы уже получили. Я написал код подключения датчика влажности воздуха и дисплея. Осталось ввести переменные типа int, присвоить им значения с датчика влажности почвы, и всё это конвертировать в переменные типа string как у меня. Вот сам код:
Код: Выделить всё
#include <TFT.h> // Подключаем библиотеку TFT
#include <DHT.h> // Подключаем библиотеку DHT
#define DHTPIN 7 // вывод, к которому подключается датчик DHT
#define DHTTYPE DHT22 // это не трогаем
#define cs 6 // Указываем пины cs (цифровые пины 4,5,6 используются TFT дисплеем)
#define dc 4 // Указываем пины dc (A0)
#define rst 5 // Указываем пины reset
DHT dht(DHTPIN, DHTTYPE);
TFT TFTscreen = TFT(cs, dc, rst);
void setup()
{
dht.begin(); //инициализируем DHT датчик
TFTscreen.begin(); //инициализируем TFT дисплей
TFTscreen.background(0, 0, 0); // Очистим экран дисплея
TFTscreen.setTextSize(1); // Устанавливаем размер шрифта
}
void loop()
{
String sHumidity, sTemperature; //инициализируем строковые переменные влажности и температуры
float h = dht.readHumidity(); //инициализируем переменную влажности типа float и передаем ей данные с датчика
float t = dht.readTemperature(); //инициализируем переменную температуры типа float и передаем ей данные с датчика
sHumidity = h; //конвертируем данные типа float в String
sTemperature = t; //конвертируем данные типа float в String
TFTscreen.background ( 255 , 255 , 255 ); //устанавливаем фон TFT дисплея
TFTscreen.stroke(255, 0, 0); //цвет надписей
TFTscreen.text("V", 3, 10); //выводим на дисплей букву v(влажность) (3 и 10 это параметры размещения данных на дисплее)
TFTscreen.text(sHumidity.c_str(), 50, 10); //выводим влажность
TFTscreen.text("T", 3, 60); //выводим на дисплей букву t(температура)
TFTscreen.text(sTemperature.c_str(), 50, 60); //выводим температуру
}
- andrei5550
- долгожитель
- Сообщения: 621
- Зарегистрирован: Вс июн 03, 2018 10:25
- Откуда: 19 регион
- Благодарил (а): 413 раз
- Поблагодарили: 420 раз
Re: Освещение и другие технические вопросы
Artcore, нет библиотек ещё нет, спасибо, скачаю, для начала попробую запустить всё как у вас, проблема куда какие выводы подключать
-
- участник
- Сообщения: 74
- Зарегистрирован: Сб мар 02, 2019 3:57
- Откуда: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 23 раза
Re: Освещение и другие технические вопросы
andrei5550,
для dht: dat - цифровой пин 7, vcc - питание пять воль, gnd - земля
для tft: led - пин 3v
sck - цифровой пин 13
sda - цифровой пин 12
a0 - цифровой пин 4
reset - цифровой пин 5
cs - цифровой пин 6
gnd - земля
vcc - питание 5 вольт
Если будут вопросы обязательно спрашивайте. Доведем дело до конца)
для dht: dat - цифровой пин 7, vcc - питание пять воль, gnd - земля
для tft: led - пин 3v
sck - цифровой пин 13
sda - цифровой пин 12
a0 - цифровой пин 4
reset - цифровой пин 5
cs - цифровой пин 6
gnd - земля
vcc - питание 5 вольт
Если будут вопросы обязательно спрашивайте. Доведем дело до конца)
- andrei5550
- долгожитель
- Сообщения: 621
- Зарегистрирован: Вс июн 03, 2018 10:25
- Откуда: 19 регион
- Благодарил (а): 413 раз
- Поблагодарили: 420 раз
Re: Освещение и другие технические вопросы
Artcore,
Ну в общем беда
Всё как положено, скачал библиотеки и установил их в папку, затем подключил дисплей и датчик влажности всё по инструкции ( ошибиться не мог, перепроверил), затем скопировал ваш скетч в программу , при подключении ардуинки к компу дисплей засветился и тут я увидел что дисплей раздавлен или ещё что то, короче залил я скетч и ничего на дисплее не отображается.
Вопрос: всё дело в дисплее или я что то не так сделал, по идее же хоть что-то должно отображаться или нет, есть мысли ?
Ну в общем беда
Всё как положено, скачал библиотеки и установил их в папку, затем подключил дисплей и датчик влажности всё по инструкции ( ошибиться не мог, перепроверил), затем скопировал ваш скетч в программу , при подключении ардуинки к компу дисплей засветился и тут я увидел что дисплей раздавлен или ещё что то, короче залил я скетч и ничего на дисплее не отображается.
Вопрос: всё дело в дисплее или я что то не так сделал, по идее же хоть что-то должно отображаться или нет, есть мысли ?
-
- участник
- Сообщения: 74
- Зарегистрирован: Сб мар 02, 2019 3:57
- Откуда: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 23 раза
Re: Освещение и другие технические вопросы
andrei5550, такого быть не должно. Дисплей явно битый. Можно попробовать написать продавцу, или открыть спор. Может быть виновата наша почта, а может такой и отправили... не угадаешь
- andrei5550
- долгожитель
- Сообщения: 621
- Зарегистрирован: Вс июн 03, 2018 10:25
- Откуда: 19 регион
- Благодарил (а): 413 раз
- Поблагодарили: 420 раз
Re: Освещение и другие технические вопросы
Artcore, Это ещё не всё , как выяснилось позже, ещё и DHT-22 не рабочий оказался, проверял отдельно через "Монитор порта", я в шоке , спор не открыть время упущено, ну да ладно.
Если помните, я же и LCD дисплей брал, проверил его, рабочий, удалось подключить ёмкостный датчик влажности и вывести на дисплей, ситуация следующая, меняю по очереди входа для датчика ( А0 А1 А2 и т.д.) и меняю в скейче, всё работает, а ума не приложу как их воедино (3штуки) заставить работать и вывести на дисплей ?
Скейч
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// инициализировать библиотеку с номерами интерфейсных штырьков
LiquidCrystal_I2C lcd (0x27,20,4); // устанавливаем ЖК-адрес 0x27 для 20-ти символьного и четырёхстрочного дисплея
const int waterSensor = 0 ;
int waterValue = 0 ;
void setup ()
{
lcd.init (); // инициализируем lcd
lcd.backlight (); // открываем подсветку
}
void loop ()
{
int waterValue = analogRead (waterSensor ); // получить значение датчика воды
lcd.setCursor (2,0); // поместить курсор в 2 столбцов, 1 строки
lcd.print (waterValue ); // значение отображается на ЖК
}
P.S. ну а уж со временем приобрету новый датчик DHT и дополним код.
Если помните, я же и LCD дисплей брал, проверил его, рабочий, удалось подключить ёмкостный датчик влажности и вывести на дисплей, ситуация следующая, меняю по очереди входа для датчика ( А0 А1 А2 и т.д.) и меняю в скейче, всё работает, а ума не приложу как их воедино (3штуки) заставить работать и вывести на дисплей ?
Скейч
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// инициализировать библиотеку с номерами интерфейсных штырьков
LiquidCrystal_I2C lcd (0x27,20,4); // устанавливаем ЖК-адрес 0x27 для 20-ти символьного и четырёхстрочного дисплея
const int waterSensor = 0 ;
int waterValue = 0 ;
void setup ()
{
lcd.init (); // инициализируем lcd
lcd.backlight (); // открываем подсветку
}
void loop ()
{
int waterValue = analogRead (waterSensor ); // получить значение датчика воды
lcd.setCursor (2,0); // поместить курсор в 2 столбцов, 1 строки
lcd.print (waterValue ); // значение отображается на ЖК
}
P.S. ну а уж со временем приобрету новый датчик DHT и дополним код.
-
- участник
- Сообщения: 74
- Зарегистрирован: Сб мар 02, 2019 3:57
- Откуда: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 23 раза
Re: Освещение и другие технические вопросы
andrei5550, константа const int waterSensor = 0 отвечает за выбор пина. Сейчас у вас там указан пин 0. Нужно просто ввести остальные переменные. И попробуем вывести все данные одной строкой через массив:
Код: Выделить всё
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// инициализировать библиотеку с номерами интерфейсных штырьков
LiquidCrystal_I2C lcd (0x27,20,4); // устанавливаем ЖК-адрес 0x27 для 20-ти символьного и четырёхстрочного дисплея
const int waterSensor1 = 1;
const int waterSensor2 = 2;
const int waterSensor3 = 3;
void setup ()
{
lcd.init (); // инициализируем lcd
lcd.backlight (); // открываем подсветку
}
void loop ()
{
int d1 = analogRead (waterSensor1 ); // получить значение датчика 1
int d2 = analogRead (waterSensor2 ); // получить значение датчика 2
int d3 = analogRead (waterSensor3 ); // получить значение датчика 3
char line1[16]; // Массив данных
sprintf(line1, “D1:%3d,D2:%3d,D3:%3d”,d1,d2,d3); //запись в буфер
lcd.print(line1); // Вывод
}
- andrei5550
- долгожитель
- Сообщения: 621
- Зарегистрирован: Вс июн 03, 2018 10:25
- Откуда: 19 регион
- Благодарил (а): 413 раз
- Поблагодарили: 420 раз
Re: Освещение и другие технические вопросы
Artcore, скопировал ваш код и залил на скорую руку, подключил два датчика А0,А1, выдало такую ошибку ?
P.S. сори за такой скрин.
P.S. сори за такой скрин.
-
- участник
- Сообщения: 74
- Зарегистрирован: Сб мар 02, 2019 3:57
- Откуда: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 23 раза
Re: Освещение и другие технические вопросы
andrei5550, попробуем так:
Отправлено спустя 46 минут 10 секунд:
Покажу что имею я на данный момент. Итак, моя система измеряет температуру и влажность. И если влажность меньше установленного порога, запускается устразвуковой испаритель. Так же для выдувки пара установил в корпус 12в кулер. Все значения (включая дату и время) выводятся на дисплей.
Код: Выделить всё
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// инициализировать библиотеку с номерами интерфейсных штырьков
LiquidCrystal_I2C lcd (0x27,20,4); // устанавливаем ЖК-адрес 0x27 для 20-ти символьного и четырёхстрочного дисплея
void setup ()
{
lcd.init (); // инициализируем lcd
lcd.backlight (); // открываем подсветку
}
void loop ()
{
int d1 = analogRead (1); // получить значение датчика 1
int d2 = analogRead (2); // получить значение датчика 2
int d3 = analogRead (3); // получить значение датчика 3
lcd.begin(16, 2);
lcd.print(d1);
lcd.setCursor (2,0);
lcd.print(d2);
lcd.setCursor(3,0);
lcd.print(d3);
}
Покажу что имею я на данный момент. Итак, моя система измеряет температуру и влажность. И если влажность меньше установленного порога, запускается устразвуковой испаритель. Так же для выдувки пара установил в корпус 12в кулер. Все значения (включая дату и время) выводятся на дисплей.
- andrei5550
- долгожитель
- Сообщения: 621
- Зарегистрирован: Вс июн 03, 2018 10:25
- Откуда: 19 регион
- Благодарил (а): 413 раз
- Поблагодарили: 420 раз
Re: Освещение и другие технические вопросы
Artcore, Подключил 3 датчика А0 А1 А2, заработали два А1 и А2 но в одной строке и слитно, инициализации датчика А0 нет, пробовал сесть на А3 - тишина.
- andrei5550
- долгожитель
- Сообщения: 621
- Зарегистрирован: Вс июн 03, 2018 10:25
- Откуда: 19 регион
- Благодарил (а): 413 раз
- Поблагодарили: 420 раз
Re: Освещение и другие технические вопросы
Artcore, Удалось таки запустить датчики !!!
P.S. ждём другие датчики и спасибо за помощь !!!
P.S. ждём другие датчики и спасибо за помощь !!!
- Вложения
- andrei5550
- долгожитель
- Сообщения: 621
- Зарегистрирован: Вс июн 03, 2018 10:25
- Откуда: 19 регион
- Благодарил (а): 413 раз
- Поблагодарили: 420 раз
Re: Освещение и другие технические вопросы
Сегодня слегка " УХУ ЕЛ" я
Приобрёл в гипермаркете своего города " Светофор" для теста светодиодный линейный светильник, так поковырятся типо, цена вопроса 150 рублей.
P.S. продолжение следует.
Приобрёл в гипермаркете своего города " Светофор" для теста светодиодный линейный светильник, так поковырятся типо, цена вопроса 150 рублей.
P.S. продолжение следует.
- andrei5550
- долгожитель
- Сообщения: 621
- Зарегистрирован: Вс июн 03, 2018 10:25
- Откуда: 19 регион
- Благодарил (а): 413 раз
- Поблагодарили: 420 раз
Re: Освещение и другие технические вопросы
И так, длина светильника в сборе 60 см, основание очень тонкий алюминий или жесть, всё остальное дешманский пластик, потребляемая мощность 20 Вт, меня интересует именно начинка, вскрыв светильник увидел две алюминиевые текстолитовые линейки с последовательной распайкой светодиодов smd 2835 в количестве 96 штук, длина линейки 52 см.
- Вложения
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение