Накамерный свет для фотосессии
- Войдите на сайт для отправки комментариев
Чт, 05/09/2019 - 20:23
Всем доброго времени суток!
Решил я собрать RGB на адресных светодиодов +W светодиодную палку или накамерный свет для фотосессии.
Так вот в чем заключается помощь. Нужен грамотный человек который сможет мне помочь в отрисовке правильного подключение компонентов. Сделал наброски компонентов может что та надо убрать или что то добавить.
Вот ссылка на фото а то что то у меня не получаеться тут разместить фото
https://drive.google.com/open?id=157sCPuRZYXhkMQhSIIsWXzrhfeSKFwDt
Всем заранее кто откликнется на помощь.
А в гугле пробовали искать? если искать за вас - сколько платите? :)
Хотя о чем я... если человек даже картинку в форум не сумел вставить - то какой гугль
у меня не получаеться тут разместить фото
Всем заранее кто откликнется на помощь.
http://arduino.ru/forum/obshchii/sokhranenie-kartinok-na-forume
Пожалуйста.
Если вы не внимательные я писал что я новенький и еще толком не разобрался.
По сидел и понял как загружать картинки. Не переживайте ГУГЛ я отлично знаю и знаю как им пользоваться. И если бы я что то нашел подходящее для меня по моим наброскам я бы тут не писал бы включить логику свою в место того что бы тут умничать
Это что такое? Это "отрисовка правильного подключение компонентов"? Или что?
у меня не получаеться тут разместить фото
Всем заранее кто откликнется на помощь.
http://arduino.ru/forum/obshchii/sokhranenie-kartinok-na-forume
Пожалуйста.
Спасибо я уже разобрался немного по сидел и понял как вставлять картинки
[quote=ЕвгенийП]
Это что такое? Это "отрисовка правильного подключение компонентов"? Или что?
Мне нужно что бы помогли мне все это подключить если кому то не сложно
А, понятно. Я то думал, что Вам нужно посмотреть Вашу идею и сделать замечания, если появятся. А Вам нужно, чтобы кто-то просто вместо Вас всё сделал? Боюсь, что это только в коммерческом разделе.
А мне нужна вилла если кому то несложно. Просто я новинький и у меня нет времени зарабатывать на неё, но очень нужна!
А мне нужна вилла если кому то несложно.
А вилка на первое время не устроит?
[quote=sadman41]
А мне нужна вилла если кому то несложно. Просто я новинький и у меня нет времени зарабатывать на неё, но очень нужна!
ХАХАХАХА очень смешно можете свои три копей с виллай себе оставить
[quote=ЕвгенийП]
А, понятно. Я то думал, что Вам нужно посмотреть Вашу идею и сделать замечания, если появятся. А Вам нужно, чтобы кто-то просто вместо Вас всё сделал? Боюсь, что это только в коммерческом разделе.
Хоть одно адекватное сообщение и направление куда писать. Спасибо Вам!
Напишите в спортлото сразу. Ибо на алиэспрессных RGBW светодиодах такие фото выйдут, что заколебёшься цветокорректировку делать - на каждом шуте будет свой ББ.
А мне нужна вилла если кому то несложно. Просто я новинький и у меня нет времени зарабатывать на неё, но очень нужна!
ХАХАХАХА очень смешно можете свои три копей с виллай себе оставить
Нуу, с таким подходом ты слона не продашь...
[quote=sadman41]
Напишите в спортлото сразу. Ибо на алиэспрессных RGBW светодиодах такие фото выйдут, что заколебёшься цветокорректировку делать - на каждом шуте будет свой ББ.
светодиоды будут браться neopixel rgb
А мне нужна вилла если кому то несложно. Просто я новинький и у меня нет времени зарабатывать на неё, но очень нужна!
ХАХАХАХА очень смешно можете свои три копей с виллай себе оставить
Нуу, с таким подходом ты слона не продашь...
светодиоды будут браться neopixel rgb
И что, думаете слово "neopixel" гарантирует результат? Это СД-ленты для декора, никакой цветовой точности или подбора в серии у них нет. Один будет более синим, другой более зелёным. +ШИМ по полной программе. Дальше сами попредставляйте спецэффекты на морде лица, освещённой такой панелью.
По сидел и понял как загружать картинки.
Так «По» наверное и проект реализует, пока сидит то... Подкорми его книгами чтоль, а то натощак сидеть...
ГУГЛ я отлично знаю и знаю как им пользоваться. И если бы я что то нашел подходящее для меня по моим наброскам
конечно, в гугле ничего похожего нет. Никто ведь до вас не покупал диоды непиксель - вы первый в мире узнали о их существовании :)
Добрый вечер!
Хочу попросить помощи по поводу данного кода. Как подключить кнопки, чтобы можно было изменять значение в строке
float minimal_voltage = 2.75;
тем самым изменять напряжение отключения.
Сам лично программированием не занимаюсь, просто имеется схема , которую хотелось бы модернизировать и добавить пару кнопок для увеличения или уменьшения напряжение отключения.
Буду премного благодарен.
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Adafruit_INA219.h> const int relay_pin = 2; // pin подключения реле //const float minimal_voltage = 2.8; float minimal_voltage = 2.75; // минимальное напряжение отключения нагрузки const int window_sec = 1; //время обновления показаний экрана LCD float voltage = 0; float current = 0; float power = 0; float voltage_display = 0.0; float current_display = 0.0; float power_display = 0.0; float voltage_sum = 0.0; float current_sum = 0.0; float power_sum = 0.0; float capacity = 0.0; float shuntvoltage = 0; float busvoltage = 0; int counter = 0; int seconds = 0; int minutes = 0; int regim=1; int flag=0; boolean working = true; unsigned long timelastinstance; unsigned long now; LiquidCrystal_I2C lcd(0x27,16,2); //адрес дисплея Adafruit_INA219 ina219; void setup() { Serial.begin (9600); lcd.init(); lcd.clear(); lcd.setBacklight(HIGH); pinMode(relay_pin, OUTPUT); ina219.begin(); shuntvoltage = ina219.getShuntVoltage_mV(); busvoltage = ina219.getBusVoltage_V(); voltage = busvoltage + (shuntvoltage / 1000); if (voltage > minimal_voltage) {digitalWrite(relay_pin, HIGH);} else {working = false; lcd.setCursor(0, 1); lcd.print("OFF");}; lcd.setCursor(0, 0); lcd.print("Li-ON and Li-PO"); lcd.setCursor(0, 1); lcd.print("TESTER CHARGER"); delay (2000); lcd.clear(); } void loop() { if (working){ now = millis(); if ((now - timelastinstance) >= 1000) { timelastinstance = now; shuntvoltage = ina219.getShuntVoltage_mV(); busvoltage = ina219.getBusVoltage_V(); current = ina219.getCurrent_mA(); power = ina219.getPower_mW(); voltage = busvoltage + (shuntvoltage / 1000); voltage_sum += voltage; current_sum += current; power_sum += power; counter += 1; seconds += 1; if (seconds >= 60) { minutes+=1; seconds = 0; }; { }; voltage_display = voltage_sum/float(counter); current_display = current_sum/float(counter); power_display = power_sum/float(counter); capacity += current_display*window_sec/3600.0; voltage_sum = 0.0; current_sum = 0.0; power_sum = 0.0; String seconds_display = String(seconds); if (seconds < 10){seconds_display = '0'+seconds_display;}; String minutes_display = String(minutes); if (minutes < 10){minutes_display = '0'+minutes_display;}; String dataString = minutes_display+":"+seconds_display+" U= "+String(voltage_display)+" I= "+String(current_display)+" P= "+String(power_display)+" mAh= "+String(capacity); dataString.replace(".",","); dataString.replace(" ","\t"); Serial.println(dataString); lcd.setCursor(0, 0); lcd.print(" "); lcd.setCursor(0, 0); lcd.print(voltage_display,2); lcd.print("V"); lcd.setCursor(8, 0); lcd.print(" "); lcd.setCursor(8, 0); lcd.print(current_display,0); lcd.print("mA"); lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print(minimal_voltage); lcd.print("V"); lcd.setCursor(8, 1); lcd.print(" "); lcd.setCursor(8, 1); lcd.print(capacity,0); lcd.print("mAh"); counter = 0; if (voltage_display <= minimal_voltage) { digitalWrite(relay_pin, LOW); lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("OFF"); working = false; }; }; delay(10); }; };Tamerlan127, на этом форуме принято помогать только в одном - в обучении.
Если Вы учиться не собираетесь, а Вам просто нужно, чтобы за Вас сделали определенную работу, Вам - в платный раздел "Ищу исполнителя".
Да чего не помочь то? )
Приделываешь на свободные пины две кнопки. Одна будет уменьшать, другая увеличивать (на какой-то, определенный тобой, шаг) значение переменной minimal_voltage.
Вот собственно и вся реализация. )
Вот так это выглядит программно (уж склеить во едино, думаю, сам сможешь):
// определим дополнительные переменные byte button_up = 10; // номер пина, на который подключается кнопка увеличения значения (при нажатии кнопка должна притягиваться к GND) byte button_down = 11; // номер пина, на который подключается кнопка уменьшения значения (при нажатии кнопка должна притягиваться к GND) float voltage_step = 0.1; // собственно шаг изменения значения minimal_voltage float max_value_voltage = 12.0 // максимальное значение, которое может принять переменная minimal_voltage void setup(){ // эти строки добавить в setup () pinMode(button_up, INPUT_PULLUP); pinMode(button_down, INPUT_PULLUP); } void loop(){ // эти строки добавить в loop () if (!button_up) { minimal_voltage += voltage_step; if (minimal_voltage > max_value_voltage) { minimal_voltage = max_value_voltage; // ограничим максимальное значение } } if (!button_down) { minimal_voltage -= voltage_step; if (minimal_voltage < 0) { minimal_voltage = 0; // ограничим минимальное значение } } }Удачи! ))
PS: Но само по себе повышать или того хуже - снижать минимальное напряжение вплоть до нуля не есть корошо...
Спасибо большое за помощь. Собирал я это устройство для разряда литиевых аккумуляторов, для замера емкости. В процессе эксплуатации появилась необходимость подключения и других аккумуляторов , с большим напряжением. И постоянно подключаться к компу для выставления минимального порога очень неудобно, вот захотелось решить эту задачу путем установки кнопок. минимальное напряжение будет выставляться от 2,8 в до 10,6 вольт. Попробую вечером сделать по предложенному Вами коду , а пока сделал так , что скажете по этому поводу.
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Adafruit_INA219.h> const int relay_pin = 2; // pin подключения реле float minimal_voltage = 2.5; // минимальное напряжение отключения нагрузки const int window_sec = 1; //время обновления показаний экрана LCD float voltage = 0; float current = 0; float power = 0; float voltage_display = 0.0; float current_display = 0.0; float power_display = 0.0; float voltage_sum = 0.0; float current_sum = 0.0; float power_sum = 0.0; float capacity = 0.0; float shuntvoltage = 0; float busvoltage = 0; int counter = 0; int seconds = 0; int minutes = 0; int up=4; // кнопка увеличения int down=5; // кнопка уменьшения int clean=6; // кнопка сброса boolean working = true; unsigned long timelastinstance; unsigned long now; LiquidCrystal_I2C lcd(0x27,16,2); //адрес дисплея Adafruit_INA219 ina219; void setup() { Serial.begin (9600); lcd.init(); lcd.clear(); lcd.setBacklight(HIGH); pinMode(relay_pin, OUTPUT); ina219.begin(); shuntvoltage = ina219.getShuntVoltage_mV(); busvoltage = ina219.getBusVoltage_V(); voltage = busvoltage + (shuntvoltage / 1000); if (voltage > minimal_voltage) {digitalWrite(relay_pin, HIGH);} else {working = false; lcd.setCursor(0, 1); lcd.print("OFF");}; lcd.setCursor(0, 0); lcd.print(" BATTERY"); lcd.setCursor(0, 1); lcd.print("TESTER CHARGER"); delay (3000); lcd.clear(); } void loop() { if (working){ now = millis(); if (digitalRead(up)==HIGH) { minimal_voltage+=0.1; // шаг увеличения while(digitalRead(up)==HIGH); if(minimal_voltage>=11){minimal_voltage=11;} // максимальный предел } if (digitalRead(down)==HIGH) { minimal_voltage-=0.1; // шаг уменшения while(digitalRead(down)==HIGH); if(minimal_voltage<=2.5){minimal_voltage=2.5;} // минимальный предел } if ((now - timelastinstance) >= 1000) { timelastinstance = now; shuntvoltage = ina219.getShuntVoltage_mV(); busvoltage = ina219.getBusVoltage_V(); current = ina219.getCurrent_mA(); power = ina219.getPower_mW(); voltage = busvoltage + (shuntvoltage / 1000); voltage_sum += voltage; current_sum += current; power_sum += power; counter += 1; seconds += 1; if (seconds >= 60) { minutes+=1; seconds = 0; }; { }; voltage_display = voltage_sum/float(counter); current_display = current_sum/float(counter); power_display = power_sum/float(counter); capacity += current_display*window_sec/3600.0; voltage_sum = 0.0; current_sum = 0.0; power_sum = 0.0; String seconds_display = String(seconds); if (seconds < 10){seconds_display = '0'+seconds_display;}; String minutes_display = String(minutes); if (minutes < 10){minutes_display = '0'+minutes_display;}; String dataString = minutes_display+":"+seconds_display+" U= "+String(voltage_display)+" I= "+String(current_display)+" P= "+String(power_display)+" mAh= "+String(capacity); dataString.replace(".",","); dataString.replace(" ","\t"); Serial.println(dataString); lcd.setCursor(0, 0); lcd.print(" "); lcd.setCursor(0, 0); lcd.print(voltage_display,2); lcd.print("V"); lcd.setCursor(8, 0); lcd.print(" "); lcd.setCursor(8, 0); lcd.print(current_display,0); lcd.print("mA"); lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print(minimal_voltage); lcd.print("V"); lcd.setCursor(8, 1); lcd.print(" "); lcd.setCursor(8, 1); lcd.print(capacity,0); lcd.print("mAh"); counter = 0; if (voltage_display <= minimal_voltage) { digitalWrite(relay_pin, LOW); lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print("OFF"); working = false; }; }; delay(10); }; };Научиться хочу, просто код писал не я , и никак не мог сообразить куда вставить дополнительные команды . Перепробовал кучу вариантов , но все работало как то некорректно , но теперь вроде разобрался.
Спасибо большое за помощь. Собирал я это устройство для разряда литиевых аккумуляторов, для замера емкости. В процессе эксплуатации появилась необходимость подключения и других аккумуляторов , с большим напряжением. И постоянно подключаться к компу для выставления минимального порога очень неудобно, вот захотелось решить эту задачу путем установки кнопок. минимальное напряжение будет выставляться от 2,8 в до 10,6 вольт.
ИМХО, не самая лучшая и удобная идея. Количество аккумуляторов конечно, сделать массив минимальных значений и перебирать одной кнопкой.
Попробую вечером сделать по предложенному Вами коду , а пока сделал так , что скажете по этому поводу.
Мда... Торопился и код не совсем верный привел, вот поправил:
// определим дополнительные переменные byte button_up = 10; // номер пина, на который подключается кнопка увеличения значения (при нажатии кнопка должна притягиваться к GND) byte button_down = 11; // номер пина, на который подключается кнопка уменьшения значения (при нажатии кнопка должна притягиваться к GND) float voltage_step = 0.1; // собственно шаг изменения значения minimal_voltage float max_value_voltage = 12.0 // максимальное значение, которое может принять переменная minimal_voltage void setup(){ // эти строки добавить в setup () pinMode(button_up, INPUT_PULLUP); pinMode(button_down, INPUT_PULLUP); } void loop(){ // эти строки добавить в loop () if (!digitalRead(button_up)) { minimal_voltage += voltage_step; if (minimal_voltage > max_value_voltage) { minimal_voltage = max_value_voltage; // ограничим максимальное значение } } if (!digitalRead(button_down)) { minimal_voltage -= voltage_step; if (minimal_voltage < 2.5) { minimal_voltage = 2.5; // ограничим минимальное значение } } }Но у тебя фактически та же самая реализация...
Да , согласен полностью, по началу я так и хотел сделать. Но только , если честно не смог определиться с минимальными значениями, и поэтому пока остановился на таком варианте.
Буду пробовать. Спасибо за помощь.
Кнопка сброса, кстати, в тему! Я что-то о ней не подумал...
// определим дополнительные переменные byte button_up = 10; // номер пина, на который подключается кнопка увеличения значения (при нажатии кнопка должна притягиваться к GND) byte button_down = 11; // номер пина, на который подключается кнопка уменьшения значения (при нажатии кнопка должна притягиваться к GND) byte button_clean = 11; // номер пина, на который подключается кнопка сброса значения (при нажатии кнопка должна притягиваться к GND) float voltage_step = 0.1; // собственно шаг изменения значения minimal_voltage float max_value_voltage = 12.0 // максимальное значение, которое может принять переменная minimal_voltage void setup(){ // эти строки добавить в setup () pinMode(button_up, INPUT_PULLUP); pinMode(button_down, INPUT_PULLUP); pinMode(button_clean, INPUT_PULLUP); } void loop(){ // эти строки добавить в loop () if (!digitalRead(button_up)) { minimal_voltage += voltage_step; if (minimal_voltage > max_value_voltage) { minimal_voltage = max_value_voltage; // ограничим максимальное значение } } if (!digitalRead(button_down)) { minimal_voltage -= voltage_step; if (minimal_voltage < 0) { minimal_voltage = 0; // ограничим минимальное значение } } if (!digitalRead(button_clean)) { minimal_voltage = 2.5; // сбросим к 2.5 (по умолчанию) } }Да хочу сделать сброс , только всего устройства.
На arduino уже есть кнопка общего сброса. Reset называется.
Да, все верно сделаю как Вы предлагаете , а для сброса устройства использую RESET самой ардуины.
Да я знаю , под сбросом всего устройства я имел ввиду сброс показаний емкости и перезапуск, так как после отключения нужно либо выключить - включить , либо сделать ресет на плате.
Если нужны реалистичные фото, нужно использовать белые светодиоды с CRI>93. Из RGB светодиодов, особенно как у вас 5050, получить белый свет практически нереально и у них низкая светоотдача. То что у Вас подойдет для спецэффектов, как дополнение.
И оксидов титана припудриться не помешает ))))))