Собственно получилось вот что:
Компактный люксметр в корпусе плеера.
Характеристики люксметра определяются датчиком, а он может измерять освещенность от 1 до 65535 люкс.
Как видно на фото на экране кроме цифр ничего нет, даже единиц измерения. Я не стал делать потому что не вижу в этом необходимости, да и экран мелкий. Контроля батареи нет.
Я покупал плеер здесь. Ссылку привожу потому что в данном корпусе есть минимум 2 варианта платы, а контакты привожу для своей.
Есть замечание по плееру: так как я оставил родную схему зарядки, с ней нужно было внимательным: она легко перезаряжает аккумулятор и он вспухает. Лучше ее вообще не использовать, в идеальном случае сделать свою плату контроллером заряда, микроконтроллером и т.д.
Сборка:
1. Плеер аккуратно разобрать, все детали сохранить! Они вам еще пригодятся.
2. Аккумулятор временно отпаять. Выпаять родной контроллер, разъем 3.5мм (для наушников), разъем для карты памяти, светодиод фонарика.
3. Нужна Arduino Pro Mini, у меня была только 5В 16мгц, но она успешно работает и от 3.3В. И разумеется нужен переходник USB-UART на 3.3В.
4. Нужен тонкий провод. У меня МГТФ, диаметр не помню, но толстый для этой задачи, с трудом засунул, берите сразу максимально тонкий.
Так как ни одна имеющаяся библиотека для дисплея меня не устроила, написал свой код, включая управление дисплеем на основе одной из них. Код разбит по файлам, компилировался в Arduino IDE 1.6.12.
#include <avr/pgmspace.h>
#define pgm pgm_read_byte
#include <Wire.h>
#include <BH1750.h>
BH1750 lightMeter;
unsigned int lux;
#define CS 10
#define Data 11
#define Clock 13
#define DC A0
#define LCD_X 128
#define LCD_Y 64
#define LCD_String 8
#define swap(a, b) { int t = a; a = b; b = t; }
#define LCD_D 1
#define LCD_C 0
byte LCD_RAM[LCD_X*LCD_String];
#define BLACK 1
#define WHITE 0
#define LCDWIDTH 128
#define LCDHEIGHT 64
#define CMD_DISPLAY_OFF 0xAE
#define CMD_DISPLAY_ON 0xAF
#define CMD_SET_DISP_START_LINE 0x40
#define CMD_SET_PAGE 0xB0
#define CMD_SET_COLUMN_UPPER 0x10
#define CMD_SET_COLUMN_LOWER 0x00
#define CMD_SET_ADC_NORMAL 0xA0
#define CMD_SET_ADC_REVERSE 0xA1
#define CMD_SET_DISP_NORMAL 0xA6
#define CMD_SET_DISP_REVERSE 0xA7
#define CMD_SET_ALLPTS_NORMAL 0xA4
#define CMD_SET_ALLPTS_ON 0xA5
#define CMD_SET_BIAS_9 0xA2
#define CMD_SET_BIAS_7 0xA3
#define CMD_RMW 0xE0
#define CMD_RMW_CLEAR 0xEE
#define CMD_INTERNAL_RESET 0xE2
#define CMD_SET_COM_NORMAL 0xC0
#define CMD_SET_COM_REVERSE 0xC8
#define CMD_SET_POWER_CONTROL 0x28
#define CMD_SET_RESISTOR_RATIO 0x20
#define CMD_SET_VOLUME_FIRST 0x81
#define CMD_SET_VOLUME_SECOND 0
#define CMD_SET_STATIC_OFF 0xAC
#define CMD_SET_STATIC_ON 0xAD
#define CMD_SET_STATIC_REG 0x0
#define CMD_SET_BOOSTER_FIRST 0xF8
#define CMD_SET_BOOSTER_234 0
#define CMD_SET_BOOSTER_5 1
#define CMD_SET_BOOSTER_6 3
#define CMD_NOP 0xE3
#define CMD_TEST
#include <avr/pgmspace.h>
//цифры размером 16х32 пикселей
static const char mass16x32 [10][64] PROGMEM ={
{ 0xF8, 0xFC, 0xFA, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xFA, 0xFC, 0xF8, //0
0x3F, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x3F,
0xFE, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFE,
0x1F, 0x3F, 0x5F, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x5F, 0x3F, 0x1F},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFC, 0xF8, //1
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x3F,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFE,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x1F},
{0x00, 0x00, 0x02, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xFA, 0xFC, 0xF8, //2
0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xBF, 0x7F, 0x3F,
0xFE, 0xFF, 0xFE, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
0x1F, 0x3F, 0x5F, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x40, 0x00, 0x00},
{0x00, 0x00, 0x02, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xFA, 0xFC, 0xF8, //3
0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xBF, 0x7F, 0x3F,
0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xFE, 0xFF, 0xFE,
0x00, 0x00, 0x40, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x5F, 0x3F, 0x1F},
{0xF8, 0xFC, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFC, 0xF8, //4
0x3F, 0x7F, 0xBF, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xBF, 0x7F, 0x3F,
0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xFE, 0xFF, 0xFE,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x1F},
{0xF8, 0xFC, 0xFA, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x02, 0x00, 0x00, //5
0x3F, 0x7F, 0xBF, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xFE, 0xFF, 0xFE,
0x00, 0x00, 0x40, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x5F, 0x3F, 0x1F},
{0xF8, 0xFC, 0xFA, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x02, 0x00, 0x00, //6
0x3F, 0x7F, 0xBF, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00,
0xFE, 0xFF, 0xFE, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xFE, 0xFF, 0xFE,
0x1F, 0x3F, 0x5F, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x5F, 0x3F, 0x1F},
{0x00, 0x00, 0x02, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xFA, 0xFC, 0xF8, //7
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x3F,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFE,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x1F},
{0xF8, 0xFC, 0xFA, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xFA, 0xFC, 0xF8, //8
0x3F, 0x7F, 0xBF, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xBF, 0x7F, 0x3F,
0xFE, 0xFF, 0xFE, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xFE, 0xFF, 0xFE,
0x1F, 0x3F, 0x5F, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x5F, 0x3F, 0x1F},
{0xF8, 0xFC, 0xFA, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xFA, 0xFC, 0xF8, //9
0x3F, 0x7F, 0xBF, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xBF, 0x7F, 0x3F,
0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xFE, 0xFF, 0xFE,
0x00, 0x00, 0x40, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x5F, 0x3F, 0x1F}};
<source lang="arduino">
#include <avr/pgmspace.h>
//======================================================Очистка дисплея
void Clear_LCD() {
for (int index = 0; index < 864 ; index++) {
LCD_RAM[index] = (0x00);
}
}
//=======================================================Управление пинами
void dWrite(byte pin, byte val) {
byte bit = digitalPinToBitMask(pin);
volatile byte *out;
out = portOutputRegister(digitalPinToPort(pin));
(val) ? *out |= bit : *out &= ~bit;
}
#define _BV(bit) (1<<(bit))
//=========================================================Отправка 8 байт
void SendByte(byte mode, byte c) {
dWrite(CS, 0);
(mode) ? dWrite(DC, 1) : dWrite(DC, 0);
for (byte i = 0; i <8; i++) {
dWrite(Clock, 0);
(c & 0x80) ? dWrite(Data, 1) : dWrite(Data, 0);
dWrite(Clock, 1);
c <<= 1;
}
}
//=====================================================Обновить дисплей
void Update() {
for (byte p = 0; p < 8; p++) {
//SendByte(LCD_C, CMD_SET_PAGE | pagemap[p]);
SendByte(LCD_C, CMD_SET_PAGE | p);
byte col = 0;
SendByte(LCD_C, CMD_SET_COLUMN_LOWER | (1 & 0xf));
SendByte(LCD_C, CMD_SET_COLUMN_UPPER | ((1 >> 4) & 0x0F));
SendByte(LCD_C, CMD_RMW);
for (byte col = 0; col < LCD_X; col++) {
SendByte(LCD_D, LCD_RAM[(LCD_X * p) + col]);
}
}
}
//===================================================Нарисовать пиксель
void drawPixel (byte x, byte y, boolean color) {
if ((x < 0) || (x >= LCD_X) || (y < 0) || (y >= LCD_Y)) return;
if (color) LCD_RAM[x + (y / 8)*LCD_X] |= _BV(y % 8);
else LCD_RAM[x + (y / 8)*LCD_X] &= ~_BV(y % 8);
}
//======================================================Вывод картинки
void drawBitmap(byte x, byte y, const char *bitmap, byte w, byte h, boolean color) {
for (int16_t j = 0; j < h; j++) {
for (int16_t i = 0; i < w; i++ ) {
if (pgm(bitmap + i + (j / 8)*w) & _BV(j % 8)) {
drawPixel(x + i, y + j, color);
}
}
}
}
//========================================================================
// Управление дисплеем
//========================================================================
//===================================================Инициализация дисплея
void Inicialize() {
pinMode(CS, OUTPUT);
pinMode(Data, OUTPUT);
pinMode(Clock, OUTPUT);
pinMode(DC, OUTPUT);
// Инициализация дисплея
dWrite(CS, 0);
delay(500);
SendByte(LCD_C, CMD_SET_BIAS_7); // LCD bias select
SendByte(LCD_C, CMD_SET_ADC_NORMAL); // ADC select
SendByte(LCD_C, CMD_SET_COM_REVERSE); // SHL select
SendByte(LCD_C, CMD_SET_DISP_START_LINE); // Initial display line
SendByte(LCD_C, CMD_SET_POWER_CONTROL | 0x4); // turn on voltage converter (VC=1, VR=0, VF=0)
delay(50);
SendByte(LCD_C, CMD_SET_POWER_CONTROL | 0x6); // turn on voltage regulator (VC=1, VR=1, VF=0)
delay(50);
SendByte(LCD_C, CMD_SET_POWER_CONTROL | 0x7); // turn on voltage follower (VC=1, VR=1, VF=1)
delay(10);
SendByte(LCD_C, CMD_SET_RESISTOR_RATIO | 0x6); // set lcd operating voltage (regulator resistor, ref voltage resistor)
SendByte(LCD_C, CMD_DISPLAY_ON);
SendByte(LCD_C, CMD_SET_ALLPTS_NORMAL);
SendByte(LCD_C, CMD_SET_DISP_REVERSE);
SendByte(LCD_C, CMD_SET_VOLUME_FIRST);
SendByte(LCD_C, CMD_SET_VOLUME_SECOND | (0 & 0x3f));
Clear_LCD();
Update();
}
//=========================Вывод символа 16х32 пикселя в координаты XY
void simb16x32(byte x, byte y, boolean color, byte c) {
for (byte k = 0; k < 4; k++) {
for (byte i = 0; i < 16; i++) {
byte line = pgm(&(mass16x32[c][i + k * 16]));
for (byte j = 0; j < 8; j++) {
(line & 0x01) ? drawPixel(x + i, y + j + k * 8, color) : drawPixel(x + i, y + j + k * 8, !color);
line >>= 1;
}
}
}
}
<source lang="arduino">
#include <avr/pgmspace.h>
void setup(){
Inicialize();
lightMeter.begin();
}
+
void loop(){
lux = lightMeter.readLightLevel();
simb16x32(95, 17, 1, lux%10);
lux/=10;
simb16x32(75, 17, 1, lux%10);
lux/=10;
simb16x32(55, 17, 1, lux%10);
lux/=10;
simb16x32(35, 17, 1, lux%10);
lux/=10;
simb16x32(15, 17, 1, lux%10);
Update();
delay(300);
}
<source lang="arduino">
Хочу сразу сказать это скорее индикатор, чем измерительный прибор, но иметь такой индикатор бывает полезно, к тому же на сборку уйдет один вечер при наличии определенного опыта.
Есть также видео, но без звука. Хотел отдельно записать, но оказалось ни один мой микрофон не может это нормально сделать.
Комментарии (67)
vvmk
23.01.2017 13:54+1Есть замечание по плееру: так как я оставил родную схему зарядки, с ней нужно было внимательным: она легко перезаряжает аккумулятор и он вспухает.
По плате вижу, что китайская «схема зарядки» состоит из резистора и диода, с +5В mini USB коннектора прямо на контакт аккумулятра.
А на аккумуляторе вижу отсутвие платы защиты. Отсюда перезарядка и вспухание.
Исходя из этого напишите что родную схему лучше вообще не использовать а поставить копеечный модуль TP4056 и очень желательно со схемой защиты аккумулятора.
И еще вопрос, это вы сами среверсили подключение к дисплею или есть какой-то ресурс по этому вопросу?
Если есть, то приведите ссылку, интересно больше подробностей.
А за статью сапсибо, очень интересно, на GT сейчас таких статей очень мало.jeka_tm
23.01.2017 14:05Да я знаю о недостатках схемы зарядки, хотелось сделать так чтобы больше количество людей могло повторить. Я могу просто развести нормальную плату и на ней все сделать, но платы не все могут делать. Только поэтому я стал делать все на проводах.
TP4056 просто так тоже не установишь внутрь, места нет под него, если только под датчик освещенности засунуть. Может и поместится.
Библиотеку кажется эту брал, но там так заморочено сделаy массив видеопамяти. Пытался сначала просто через вывод картинки свои шрифты вывести, ничего не получилось хорошего. Точнее выводится на внизу экрана, в центр так и не удалось? буквы разрывает, половина снизу, половина сверху. Поэтому и брал свой код от дисплея 1202 и допилил для работы с ST7565
APLe
23.01.2017 14:08Я, в своё время, решил аналогичную задачу с помощью фотоэкспонометра Ленинград-4 (проверил на Авито, продаются в больших количествах по 100-200 рублей) и таблички пересчёта.
Решение, наверное, менее точное и менее интересное в техническом плане, но существенно более простое.
Единственное что – при покупке фотоэкспонометра нужно следить, чтобы матовая светорассеивающая пластинка не была утеряна. Без неё экспонометр будет измерять не освещённость, а яркость.jeka_tm
23.01.2017 14:15Я не разбираюсь в этих тонкостях, что такое освещенность, а что яркость. Поэтому и был выбран готовый калиброванный датчик. Он конечно врет, информацию находил в интернете, но в целом достаточно неплохой. У меня есть еще один, который по характеристикам лучше, но пусть лежит ждет своего часа.
mihmig
24.01.2017 10:59Он врёт постоянно? Может можно с помощью профессионального люксметра построить таблицу пересчёта и загрузить её в код?
jeka_tm
24.01.2017 11:01Сравнивали его с нормальным, где то больше где меньше, но в целом данные соответствовали.
Да можно датчик получше взять. Еще 2 варианта озвучено, а сколько их еще есть.
ClearAirTurbulence
23.01.2017 16:24Где-то читал, что если его хранить вне чехла, у него селен выгорает, что, естественно, негативно сказывается на показаниях…
APLe
23.01.2017 23:38Да. тоже об этом читал. Но производитель, похоже, это тоже понимал: вытащить экспонометр из чехла сложно (и экспонометров без чехла я в продаже не видел), хранить в открытом чехле тоже очень неудобно.
Но, к сожалению, гарантированно точного люксметра для калибровки у меня нет, проверить уровень деградации я не могу.
jeka_tm
23.01.2017 14:12+1Не по теме. У меня есть материалы по гаусгану с автоматом заряжания на 4 снаряда. Правда пока без корпуса и на гусеничное шасси еще не установил. Но макет рабочий. Дверь мне испортил во время тестов. Мощность конечно небольшая. Может тоже выложить?
jar_ohty
23.01.2017 14:29Это ни разу не люксметр.
Чтобы прибор назывался люксметром, он должен удовлетворять двум критериям: иметь кривую спектральной чувствительности, соответствующую спектральной чувствительности человеческого глаза, а также иметь определенную форму диаграммы направленности. Ни тому, ни другому критериям данный датчик не удовлетворяет.jeka_tm
23.01.2017 14:33+1А это и не измерительный прибор, а скорее индикатор)) Я писал об этом. А раз датчик калиброван на заводе и измеряет освещенность сразу в люксах как его обозвать как не люксметр?
Alyoshka1976
23.01.2017 15:04Вот что нашел для сравнения:
кривая спектральной чувствительности BH1750 (https://www.dfrobot.com/wiki/index.php/Selector_Guide_of_Ambient_Light_Sensor):
глаза (http://laser.physics.sunysb.edu/~carolyn/report/):
jar_ohty
23.01.2017 15:24Можно отградуировать в люксах хоть сурьмяно-цезиевый фотоэлемент, но люксметром он от этого не станет. К тому же, судя по даташиту, наличие заводской калибровки — скорее плод чьей-то фантазии. Обратите внимание на строчку Measurement accuracy в таблице на стр. 2 даташита, где соотношение результата преобразования к освещенности датчика в люксах может колебаться в пределах 0,96-1,44.
jeka_tm
23.01.2017 15:29+2Ну и пусть, он (мой индикатор недолюксметр) думаю не расстроится. Он и сам не знает что он люксметр или не люксметр.
APLe
23.01.2017 23:40может колебаться в пределах 0,96-1,44.
Ошибка максимум в полтора раза. Для домашнего цветоводства приемлемо.
justicebest
23.01.2017 16:22Если свет для растений, то при измерении в люксах будут получаться неточные значения.
Подробности в видео: https://www.youtube.com/watch?v=YvaSrRnsAvc
Растение — это не глаз:)jeka_tm
23.01.2017 16:30Согласен. Но у меня освещение в основном люминесцентные лампы. Светодиодные светильники из 10 Вт светодиодов синих и красных больше не собираю, мороки много. Может со временем снова буду делать, но только сначала более приличный урожай огурцов вырастить, а дальше уже можно будет думать, ставить эксперименты, построить еще один бокс. Но на данный момент он мне подходит.
zzzmmtt
24.01.2017 09:49А сравнивали люминесцентные лампы и светодиодные сборки (красный+синий)? Что эффективнее? Я вот думаю для салатов и зелени прикупить для эксперимента с али готовую лампу (на красных и синих светодиодах), или же смысла нет и проще взять обычную люминесцентную?
jeka_tm
24.01.2017 09:58Светодиодные мне кажется эффективнее, но светодиодами 30вт я освещаю сциндапсус приличного размера, он сам по себе очень быстрорастущий. Так что может и не совсем так.
Собираюсь провести еще один эксперимент: такие светодиодные модули 20 Вт теплые и радиатор с охлаждением. Правда у светодиодов тут преимущество, меньший размер и их проще ближе пододвинуть к растению. Тут еще один эксперимент. Освещенность падает с расстоянием, а пододвигать лампу не всегда удобно. Напечатал на 3д принтере крепеж для лампы на мебельную роликовую направляющую. Она и позволит регулировать высоту светильника для каждого растения. Но это я планирую только для рассады огурца, так как потом огурец пойдет в бокс с 3 36вт лампами 640.
darkdaskin
23.01.2017 15:15А как этот датчик реагирует на различные источники освещения?
На днях пробовал измерять освещённость встроенным датчиком смартфона. В помещениях с люминесцентными или светодиодными лампами показания похожи на правду, а вот в помещении с галогенными лампами показывает 4 люкс — то же значение он выдаёт и если датчик закрыть пальцем. Только при поднесении к лампе вплотную показания начинают расти.jeka_tm
23.01.2017 15:23На видео там где значения в районе 1000+ люкс возле цветов это люминесцентные 18 Вт 640. А там где моргает это светодиодный светильник 30 Вт с прямым питанием от сети, холодный белый.
Измерял также в контейнере с рассадой, светильники 6вт, 2 красных и 1 синий светодиоды, на расстоянии около 5-6 см в районе 10000 люкс.
progchip666
23.01.2017 18:03+1Я покупал плеер здесь. Ссылку привожу потому что в данном корпусе есть минимум 2 варианта платы, а контакты привожу для своей.
Хорошая идея — использовать копеечный плеер в качестве корпуса с индикатором плюс бонус аккумулятор. пытаюсь заказать три штуки по этой наводке, но что то алиэкспресс глючит — новый год у них наступил что ли.
Скиньте пожалуйста ссылку на информацию об индикаторе и его подключении, я так понимаю вы не сами додумались до того какой пин индикатора за что отвечает, должен быть первоисточник.progchip666
23.01.2017 18:12Странно, по приведённой в статье ссылке качается даташит на датчик с параллельным 8 битным интерфейсом, а в этой поделке явно последовательный используется
jeka_tm
23.01.2017 19:16Да последовательный с пином данные/команда. Даташит лучше отдельно искать. Там я незнаю что такое лежит
4ebriking
23.01.2017 18:57У меня «экспонометром» служат сами растения — плюс-минус несколько дней они «держат» даже освещённость на порядки больше или ниже рекомендованной — поэтому чисто методом «добавить-прибавить» / ближе-дальше при практически прочих равных (температура и влажность) — очень быстро видно, которе быстрее всего растёт — значит там оптимум. Правда у меня рассада (клубника в основном), и под практически одним красным (что-то один синий диод на 12 красных) — ей тупо максимум размеров к весне набрать надо. Ну и — в зеркальной клетке даже не предсавляю как мерить что-то прибором с «глазком» — от поворота сильно зависит, а листья сами разберутся.
jeka_tm
23.01.2017 19:21У меня еще нет столько опыта. Не смогу отличить мало/много полил и т.д. от освещения, а также индивидуальных особенностей.
tormozedison
23.01.2017 23:51Вот если бы и процессор его задействовать, а не заменять, сказка была бы.
Rumlin
off более тонкие провода можно добыть из шлейфа IDE 80 pin /off
jeka_tm
К сожалению дома много разных проводов, но ни одного такого шлейфа.
zzzmmtt
USB провод любой раздербанили бы, там тоже довольно тонкие, либо провод от копеешных наушников, там очень тонкие провода.
jeka_tm
Как вариант. У меня есть медний эмалированный лудащийся провод 0,3 кажется. Но он так воняет когда лудишь (просто прикладываешь разогретый паяльник с флюсом эмаль расплавляется и провод залуживается). Но если что буду иметь в виду, если еще одна задумка что можно сделать из плеера
zzzmmtt
Вспомнил где ещё находил тонкие провода — в недорогой китайской зарядке с micro USB, она успешно выгорела и пошла на дербан.
jeka_tm
Короче usb кабеля
Alyoshka1976
какой у Вас флюс? я эмалированные провода залуживаю ацетилсалициловой кислотой (таблетки цитрамона), но суровые на запах и ощущения химические соединения, выделяющиеся при этом, ни разу не полезны. Может Ваш флюс помягче будет?
jeka_tm
У меня припой с флюсом FC-5000. Запах не от флюса, а эмали. Это эмалированный провод ПЭВЛ или что то вроде, последняя Л означает лудящийся. Чистить провод не надо, просто отрезал, погрел паяльником он залудился. Но вонь как от цитрамона.
Alyoshka1976
Спасибо! Да, «Л» — способность провода облуживаться без предварительного удаления изоляции.
jeka_tm
Я слышал у более взрослых радиолюбителей были низкоомные резисторы большие керамические, зеленые с отверстием. Так с одной стороны ставилась заглушка, внутрь припой и к источнику напряжения. Просто опускаешь провод и он быстро лудится. Вредно конечно, но пайка вообще вредная. Тут скорее вопрос удобства, с таким резистором было бы проще таким проводом пользоваться и что то макетировать
Alyoshka1976
Есть такие резисторы, но мне доступны только стоваттные :-) Расход припоя будет эпическим при их использовании. Хотя, конечно, заглушку можно перемещать. Сама идея, безусловно, интересна.
jeka_tm
У меня была идея другая еще. Взять металлическую гильзу обмакнуть в гипс или раствор цементный. Высушить, будет тонкий слой. На него намотать нихромовую проволоку и снова в гипс. высушить и все готово. Почему расход будет эпическим? Испарятся будет?
Alyoshka1976
Там диаметр отверстия большой.
jeka_tm
Так есть резисторы небольшого размера. И припой за 100р купил без флюса и наверно еще останется. Или делать самодельный
Alyoshka1976
P.S. Запах от эмали — это ладно, это не страшно. Там газообразные вещества, по опыту весьма быстро и негативно влияющие на верхние дыхательные пути, выделяются. Если сюда заглянет химик, возможно, он подскажет цепочку реакций при термическом разложении C?H?O?
jeka_tm
Да уже запаха достаточно чтобы не хотеть его использовать. А судя по тому какой этот дым едкий вряд ли что то безобидное
spinagon
Ну, я химик.
http://www.revistadechimie.ro/article_eng.asp?ID=2191
Похоже, что в основном летит уксусная кислота, салициловая кислота и фенол.
jeka_tm
Насколько это опасно?
Alyoshka1976
«Фенол С6Н5ОН – искусственное соединение с резким характерным запахом.
… является крайне токсичным для человека и животных.
При вдыхании фенол вызывает нарушение деятельности нервной и сердечнососудистой системы.
Пары… оказывают раздражающее действие на кожу, слизистые оболочки дыхательных путей и глаз,… поражают внутренние органы, особенно почки и печень.»
Хм, я не полагал, что всё настолько плохо :-)
Так что цитрамон
"лесом или полем,
Ты иди — со мной не надо!
Хошь в долинах, хошь — по взгорьям,
Лишь бы — не были мы рядом!!!"
(С) Марковцев Ю.
jeka_tm
)) рано или поздно итак умрем
Alyoshka1976
:-) В 40 лет смотришь на это немного по-другому.
«Тебя как, сразу прикончить, или желаешь помучиться?
Лучше, конечно, помучиться.» ;-)
jeka_tm
А чего так боятся? Многое уже сделано, далее физические и умственные способности только падают, здоровье будет хуже. Жить чтобы просто жить, если хоть мечта ради которой. Дети вырастут и так не будут постоянно у тебя, да и самому это не будет нужно, ты же будешь старый, а с внуком сидеть сил потребуется немало. Хобби разве что и больше свободного времени, уж точно не сериалы только смотреть, или водку жрать, или в окошко смотреть жалея о потраченном времени. Может и кажется это пессимизмом, но для меня это просто здравый подход. Я скорее оптимист, но без витания постоянно в мечтах. Поговорим через 9 лет. Мне будет как раз 40.
Alyoshka1976
Однако :-))))))))))))))))))))))))))))))))
progchip666
они не всегда паяются, в последнее время стали делать из какого то г…
jeka_tm
такое тоже встречал. они еще и магнитятся. много китайских проводов, в том числе и USB магнитятся
Rumlin
Все шлейфы подряд не проверял. Как-то оставил себе несколько как раз для мелкой пайки — как минимум они омедненные и лудятся сразу.
WildHorn
У меня они либо не лудились, либо изоляция плавилась слишком активно. В конце концов добыл себе катушку тонкого МГТФ из старых советских «закромов родины».
jeka_tm
На Митинском радиорынке можно купить, лень ехать, хоть на машине хоть на метро далеко и долго