помогите с кодом!!!

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

Доброго времени суток!

Я только начал разбираться в написании скетчей для ардуино, и нашёл проект RGB лампы ( ссылка-http://arduino-projects.ru/projects/inektsiya-sveta/ ) и хотел бы чтобы вы помогли мне с кодом.

zugni
Offline
Зарегистрирован: 14.06.2015

что не так с ним правдо я тоже навичок))

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

самое прикольное - гидравлика :)
изучите :
- снятие показаний с потенциометров ( слайдеров ) аналоговым входом ( три штуки ) от 0 до 255
- управление RGB-лентой через три выхода PWM

zugni
Offline
Зарегистрирован: 14.06.2015

эта я делал и на логике и ардуинке уроков пално)))

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

Гидравлика, да))

а драйвер L298n  подойдет , или лучше транзисторы?

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

а можно ли использовать потенциометр на 30 КОм?

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

можно любой....

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

 а подойдёт вот так: 

если взять код с этой страницы  (http://edurobots.ru/arduino-potenciometr/) и  сделать для трех потенциометров (соответственно к разым пинам) , а выходы на светодиоды подключить к L298n?

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

_A_r_d_u_i_n_o_ пишет:

а можно ли использовать потенциометр на 30 КОм?

тибе для опытов хватит 3 потенциометра и один RGB-светодиод
номинал - 1...100 kOm

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

как его подключить? 

 

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

есть три вывода общее сопротивление и сопротивление между одним из крайних контактов и самим палзунком?

потенциометр старый

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

_A_r_d_u_i_n_o_ пишет:

 а подойдёт вот так: 

если взять код с этой страницы  (http://edurobots.ru/arduino-potenciometr/) и  сделать для трех потенциометров (соответственно к разым пинам) , а выходы на светодиоды подключить к L298n?

да подойдёт :)
....собрать три канала

L298 - драйвер моторов , чё за него уцепился ? RGB-лента управляется полевиками ( MOSFET )

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

мосфеты посмотрю

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

_A_r_d_u_i_n_o_ пишет:

есть три вывода общее сопротивление и сопротивление между одним из крайних контактов и самим палзунком?

потенциометр старый

1 - VCC
2- GND
3 - ползунок - на A0.....A2

старый - не страшно , просто если он "заежженный" - цвет будет немного скакать :(
для опытов не страшно :)

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

просто видел пост, где подключали RGB к L298N http://habrahabr.ru/post/224621/

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

см. #10 !!!!!
....мосфеты потом уж

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

сейчас попробую подключить к RGB  светодиоду

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

_A_r_d_u_i_n_o_ пишет:

просто видел пост, где подключали RGB к L298N http://habrahabr.ru/post/224621/

можно и так - чел понимает работу 298-ой
...но три мосфета гораздо дешевле одной 298-ой :)

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

у меня просто есть уже L298N (покупал в компелкте с робо-платформой)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

большому кораблю - и карты в руки !
если есть - чё не использовать-то ?
тока прочитай про ограничения по току на твоей хабровской ссылке , чёбы не сжечь 298-ую

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

почитаю

 

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

а п питание к +3,3 или к +5 вольт?

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

а п питание к +3,3 или к +5 вольт?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

тибе по умолчанию пока хватит к +5 V

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

http://arduino.ru/Reference/AnalogReference

плата у тибя какая ? UNO ?

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

 к  крайним (которые не относятся к корпусу) питание а к среднему а0,1...?

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

у меня Diecimila

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

_A_r_d_u_i_n_o_ пишет:

 к  крайним (которые не относятся к корпусу) питание а к среднему а0,1...?

1 и 2 всех трёх слайдеров к + и -
бегунок первого слайдера - к A0
                             второго - к A1
                           третьего - к A2
корпуса слайдеров - к GND ( не обязательно )

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

я подключил

один вопрос так и надо делить на четыре или на сколько нужно делить?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

в PWM через digitalWrite() ты можешь передать 0....255 , а с потенциометра через digitalRead() получишь 0....1023
...нестыковочка !
для передачи 1 в 1 - нужно поделить на 4 ( или сдвинуть на два разряда вправо ) - точная работа ( 256 градаций канала цвета )
для передачи 1 в 2 - нужно поделить на 8 ( или сдвинуть на три разряда вправо ) - ........... работа ( 128 градаций канала цвета )
............
для передачи 1 в 8 - нужно поделить на 32 ( или сдвинуть на пять разрядов вправо ) - ........... работа ( 32 градации канала цвета )

понятно рассказал ?

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

очень понятно

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

для передачи 1 в 1 - нужно поделить на 4
...плавное изменение , делить на 8,16,32,64 - всё грубее и грубее

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

а где код ? чё понаписал уже ? :)

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

большое спасибо, заработало с rgb светодиодом, в коде создал три переменных и указал три диода и три потенциометра и заработало . Осталось подключить через транзисторы (мосфеты) RGB лентуи собрать механику

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

код кинуть?

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

// даём имена пинов со светодиодом

// и потенциометром

#define led1 5
#define led2 6
#define led3 3
#define pot1 A0
#define pot2 A1
#define pot3 A5
void setup()

{

// пин со светодиодом — выход


pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);

// пин с потенциометром - вход

pinMode(pot1, INPUT);
pinMode(pot2, INPUT);
pinMode(pot3, INPUT);

}

void loop()

{

// объявляем переменную x

int x;
int y;
int xy;
// считываем напряжение с потенциометра:

// будет получено число от 0 до 1023

// делим его на 4, получится число в диапозоне

// 0-255 (дробная часть будет отброшена)

x = analogRead(pot1) / 4;
y = analogRead(pot2) / 4;
xy = analogRead(pot3) / 4;
// выдаём результат на светодиод

analogWrite(led1, x);

analogWrite(led2, y);

analogWrite(led3,xy);
}

 

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

очень простой :)

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

какие замечания в коде?

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

если вот так подключу с тем же кодом будет работать? (через мосфеты)

http://cxem.net/beginner/beginner61.php

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

_A_r_d_u_i_n_o_ пишет:

код кинуть?

http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
......."свернуть код" !!!!!!!!!!!!!!!!!!!!!

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

вот так?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

x , y и xy - не понятнее ли будет , если их обозвать R , G , B ?
и int для них "великоват" - хватит и byte ( 0....255 )

x = analogRead(pot1) / 4;  - быстрее будет работать это - x = analogRead(pot1) >> 2;

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

_A_r_d_u_i_n_o_ пишет:

если вот так подключу с тем же кодом будет работать? (через мосфеты)

http://cxem.net/beginner/beginner61.php

именно так и нано ! :)

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

с первым замечанием согласен, а вот я не понял вот это  >> 2

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

это логический сдвиг на два разряда вправо ( равносильно делению на 2 в степени 2 ).... погугли....
считали 00001000 ( 8 )   - 00001000>>2 = 00000010 ( 2 ) ( >>2 - это делить на 2 в степени 2 )
считали 00010000 ( 16 ) - 00010000>>3 = 00000010 ( 2 ) ( >>3 - это делить на 2 в степени 3 )
.........................................

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

сдвиг влево - это умножение на 2 в степени количества сдвигов :)
тоже самое , тока наоборот 

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

большое спасибо, завтра пойду мосфеты покупать и подключать буду. Как подключу кину фото 

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

я понял , <<3- это умножение на 6 или нет?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

_A_r_d_u_i_n_o_ пишет:

я понял , <<3- это умножение на 6 или нет?

молодец ! садись - 2 !!!!!!!

подумай сам - аха ?

_A_r_d_u_i_n_o_
Offline
Зарегистрирован: 15.07.2015

блин 8 )) ахахаха

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

:)