Arduino Nano com rgb led strip 12V

E para ligar o controlador à led strip, que cabo uso?jumper wire?

E seu eu quiser ligar também um detector de som (por ex: Sound Detection Sensor Module KY-037), consigo? A porta 5V já se encontra ocupada.... :/

O fio que usas para ligar à fita led é igual ao que usas para ligar entre a fonte e o controlador.

Para esse módulo de deteção de som tens que ligar o GND e o VCC ao GND e saida de 5V do arduino, para alimentação do módulo.
Depois o sinal de deteção de som ligas a uma entrada analógica do arduino.
 
O fio que usas para ligar à fita led é igual ao que usas para ligar entre a fonte e o controlador.

Para esse módulo de deteção de som tens que ligar o GND e o VCC ao GND e saida de 5V do arduino, para alimentação do módulo.
Depois o sinal de deteção de som ligas a uma entrada analógica do arduino.

Bem, antes de passar para o modulo de som é melhor meter o mais basico a dar. :D (A minha ideia era meter as cores led strip mudarem conforme o som).

Tenho as ligações assim: https://ibb.co/VHby9wX (Se está bem ou não, não sei xD mas a led strip liga).
Eu peguei nas jumper wire male e cortei um das pontas e liguei com a led strip com o controlador. (4 jumper wire male, não sei se é a melhor das praticas xD).

Esta foi a ligação que fiz entre o controlador e o arduino nano:

controlador -> arduino
GND -> GND
VCC -> 5V
DIM -> D3
CIN -> D13

Estou a utilizar a libraria FastLED mas até agora só consegui meter o "Blink" a dar (devido ao D13 que também atua com o led do arduino #define CLOCK_PIN 13 #define DATA_PIN 3). Acho que a data pin não esta a funcionar (liguei à D3). Estou a fazer algo errado?
 
Bem, antes de passar para o modulo de som é melhor meter o mais basico a dar. :D (A minha ideia era meter as cores led strip mudarem conforme o som).

Tenho as ligações assim: https://ibb.co/VHby9wX (Se está bem ou não, não sei xD mas a led strip liga).
Eu peguei nas jumper wire male e cortei um das pontas e liguei com a led strip com o controlador. (4 jumper wire male, não sei se é a melhor das praticas xD).

Esta foi a ligação que fiz entre o controlador e o arduino nano:

controlador -> arduino
GND -> GND
VCC -> 5V
DIM -> D3
CIN -> D13

Estou a utilizar a libraria FastLED mas até agora só consegui meter o "Blink" a dar (devido ao D13 que também atua com o led do arduino #define CLOCK_PIN 13 #define DATA_PIN 3). Acho que a data pin não esta a funcionar (liguei à D3). Estou a fazer algo errado?
Estou um pouco confuso. Nota que a minha experiência nisto é fraca. Se eu estiver a dizer alguma asneira, corrijam-me sff!

Se a fonte é de 12V, tens de alimentar o Arduino pelo pino VIN, porque o pino 5V está ligado à saída do regulador. Se o controlador é que alimenta o Arduino e o controlador fornece 5V então deve estar bem.

Falas num pino de dados do LED strip? Os LED strips que eu conheço de 12V têm quatro pistas: +12V, G, R, B (parece-me ser o teu caso), e não dá para endereçar nenhum LED individualmente. Os LED strips que conheço que têm um pino de dados (como o meu WS2812B) têm três pistas: +5V, DIN, Gnd, e funcionam a 5V e os LEDs são individualmente endereçáveis. É nestes que eu também vejo o FastLED ser usado. (Sou capaz de não estar a perceber como funciona o controlador, se calhar é o controlador que faz esta tradução; tenho de ver com atenção, mas já é tarde :P )

Finalmente, dizes que os pino de dados é o D3 e o clock é o D13? Nesse caso não quererás #define CLOCK_PIN 16 e #define DATA_PIN 6? Pelo menos a julgar por aqui:

Arduino-Nano-Pin-Layout-In-this-system-we-have-use-the-Arduino-Nano-30-which-is-a-30-pin_Q640.jpg
 
Última edição:
Bem, antes de passar para o modulo de som é melhor meter o mais basico a dar. :D (A minha ideia era meter as cores led strip mudarem conforme o som).

Tenho as ligações assim: https://ibb.co/VHby9wX (Se está bem ou não, não sei xD mas a led strip liga).
Eu peguei nas jumper wire male e cortei um das pontas e liguei com a led strip com o controlador. (4 jumper wire male, não sei se é a melhor das praticas xD).

Esta foi a ligação que fiz entre o controlador e o arduino nano:

controlador -> arduino
GND -> GND
VCC -> 5V
DIM -> D3
CIN -> D13

Estou a utilizar a libraria FastLED mas até agora só consegui meter o "Blink" a dar (devido ao D13 que também atua com o led do arduino #define CLOCK_PIN 13 #define DATA_PIN 3). Acho que a data pin não esta a funcionar (liguei à D3). Estou a fazer algo errado?

Pela foto não dá para perceber todas as ligações, mas aparentemente está tudo bem ligado.

Agora a ligação do pinos no arduino é que não está bem. Na foto não tens nada ligado no D13, estás a ligar no D2 e D3.
Refaz as ligações para ficar
DIM -> D3
CIN -> D13

No software do arduino estás a definir bem os pinos.

@Kayvlim ele parece estar a alimentar pelo VIN, os 5V é só para o controlador.
Este controlador ligado à led strip torna o seu controlo semelhante a uma led strip do tipo WS2812B
 
Tens que ver nas especificações que tipo de input isso espera nos pinos R,G,B (se é sinal de controlo ou de potência).

Finalmente, dizes que os pino de dados é o D3 e o clock é o D13? Nesse caso não quererás #define CLOCK_PIN 16 e #define DATA_PIN 6? Pelo menos a julgar por aqui:

Não, 6 e 16 é apenas o valor da contagem dos pinos. Há macros/defines (ou lá como se chamam... essencialmente, fica tudo correcto após compilação do código) que fazem a tradução entre o nome dos pinos inscrito nas placas Arduino e os pinos físicos. Devem ser usados os nomes/números que estão inscritos (A0, D13 sem o 'D', etc).

No exemplo AnalogReadSerial:
Código:
int sensorValue = analogRead(A0);

No exemplo LiquidCrystal -> HelloWorld:
Código:
/*

  The circuit:
* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* LCD VSS pin to ground
* LCD VCC pin to 5V
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)

*/

(...)

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
 
Não, 6 e 16 é apenas o valor da contagem dos pinos. Há macros/defines (ou lá como se chamam... essencialmente, fica tudo correcto após compilação do código) que fazem a tradução entre o nome dos pinos inscrito nas placas Arduino e os pinos físicos. Devem ser usados os nomes/números que estão inscritos (A0, D13 sem o 'D', etc).
Entendido, thanks! Eu tenho ideia que quando usei a IDE do Arduino eu tive de procurar os números correspondentes aos pinos. Se calhar podia ter posto mesmo "D3" e funcionava e eu não sabia. Mas já faz algum tempo que mexi nisto, e ainda vou voltar ao projecto.

@Kayvlim ele parece estar a alimentar pelo VIN, os 5V é só para o controlador.
Este controlador ligado à led strip torna o seu controlo semelhante a uma led strip do tipo WS2812B
Também entendido, thanks :) não conhecia este controlador. Só conheço aqueles que não se ligam ao Arduino e só se controlam com um comando.

@Kayvlim Sim, a minha led strip tem 4 pistas (+12V, G, R, B).

Então com a minha led strip não consigo controlar cada um dos Leds?!?
Se for o que eu imagino, sim, não podes controlar cada um dos LEDs. Podes variar a cor, mas é de todos os LEDs em simultâneo para a mesma cor.
 
Entendido, thanks! Eu tenho ideia que quando usei a IDE do Arduino eu tive de procurar os números correspondentes aos pinos. Se calhar podia ter posto mesmo "D3" e funcionava e eu não sabia. Mas já faz algum tempo que mexi nisto, e ainda vou voltar ao projecto.


Também entendido, thanks :) não conhecia este controlador. Só conheço aqueles que não se ligam ao Arduino e só se controlam com um comando.


Se for o que eu imagino, sim, não podes controlar cada um dos LEDs. Podes variar a cor, mas é de todos os LEDs em simultâneo para a mesma cor.

Então que Led Strip de 12v posso comprar para controlar cada LED?
 
Os LED strips individualmente endereçáveis que eu conheço actualmente são de 5V. No meu caso, tenho o WS2812B e o WS2813. Comparação: https://www.seeedstudio.com/blog/20...ssable-rgb-led-strips-how-are-they-different/

Não conheço nenhum endereçável a 12V.

edit - a julgar pelo seguinte post, não é mesmo comum: https://forum.arduino.cc/index.php?topic=560110.0


Obrigado pelas dicas @Kayvlim! se comprar a Ws2815 (12v) achas que dará para controlar cada led?

edit: Se sim que controlador usar?!?
 
Última edição:
@Kayvlim
Então com a minha led strip não consigo controlar cada um dos Leds?!?

Com uma led strip como a que tens nunca consegues controlar cada um dos leds.
Controlas a cor e intensidade mas de todos ao mesmo tempo.
O controlador que te indiquei foi só para simplificar as ligações, uma vez que não estás muito à vontade com eletrónica.

Se queres controlar cada led individualmente, como foi dito tens que usar uma led strip do tipo WS2812B, WS2813, WS2815.
Existem led strips a 12V pelo menos para WS2815.
Neste tipo de led strips não precisas de nenhum controlador pois cada um dos leds internamente já trás um controlador
 
Com uma led strip como a que tens nunca consegues controlar cada um dos leds.
Controlas a cor e intensidade mas de todos ao mesmo tempo.
O controlador que te indiquei foi só para simplificar as ligações, uma vez que não estás muito à vontade com eletrónica.

Se queres controlar cada led individualmente, como foi dito tens que usar uma led strip do tipo WS2812B, WS2813, WS2815.
Existem led strips a 12V pelo menos para WS2815.
Neste tipo de led strips não precisas de nenhum controlador pois cada um dos leds internamente já trás um controlador


Então neste tipo de leds só tenho que ligar a led strip directamente com o Arduino?
 
Então neste tipo de leds só tenho que ligar a led strip directamente com o Arduino?
O WS2812B, que funciona a 5V, sim, podes ligar tudo directamente ao Arduino, mas o Arduino não consegue alimentar o LED strip inteiro, apenas um número pequeno de LEDs.

Estive a pesquisar sobre o WS2815 e pelos vistos ele funciona a 12V mas o sinal de controlo funciona a 5V.
Ou seja, podes ter uma fonte de 12V ligada ao +12V e GND do LED strip, e podes ligar o Arduino apenas à linha de dados (DI), e ligas a linha BI ao GND.
Imagino que os GNDs do Arduino e da fonte de 12V devam estar ligados para ser uma referência comum (mas se as fontes estão ligadas à terra não sei se isso é assim tão linear - já ouvi falar em ground loops e não sei se são uma preocupação nestes casos em que usas duas fontes de alimentação diferentes e ambas estão ligadas à terra - por exemplo, se o Arduino for alimentado pelo computador).
 
O WS2812B, que funciona a 5V, sim, podes ligar tudo directamente ao Arduino, mas o Arduino não consegue alimentar o LED strip inteiro, apenas um número pequeno de LEDs.

Estive a pesquisar sobre o WS2815 e pelos vistos ele funciona a 12V mas o sinal de controlo funciona a 5V.
Ou seja, podes ter uma fonte de 12V ligada ao +12V e GND do LED strip, e podes ligar o Arduino apenas à linha de dados (DI), e ligas a linha BI ao GND.
Imagino que os GNDs do Arduino e da fonte de 12V devam estar ligados para ser uma referência comum (mas se as fontes estão ligadas à terra não sei se isso é assim tão linear - já ouvi falar em ground loops e não sei se são uma preocupação nestes casos em que usas duas fontes de alimentação diferentes e ambas estão ligadas à terra - por exemplo, se o Arduino for alimentado pelo computador).


Eu referi a WS2815 porque como já tenho uma fonte de alimentação de 12V (e para não comprar outra) utilizava esta.
Então (resumidamente) as ligações são assim:
  • Ligava a +12V da led strip à fonte de alimentação (L do Ac Input);
  • Ligava a GND da led strip à fonte de alimentação (N do Ac Input); (aqui a ordem não interessa pois não (L ou N)?)
  • Ligava o BI ao GND do Arduino;
  • E o DI da led strip onde ligo?
 
Eu referi a WS2815 porque como já tenho uma fonte de alimentação de 12V (e para não comprar outra) utilizava esta.
Então (resumidamente) as ligações são assim:
  • Ligava a +12V da led strip à fonte de alimentação (L do Ac Input);
  • Ligava a GND da led strip à fonte de alimentação (N do Ac Input); (aqui a ordem não interessa pois não (L ou N)?)
  • Ligava o BI ao GND do Arduino;
  • E o DI da led strip onde ligo?

Não, não. Calma não ligues assim senão vais ter fogo de artificio aí em casa :lol:
O L e o N do ac input ligam exclusivamente ao fio da tomada. Aí tens 220V por isso não ligues aí mais nada (nem toques com os dedos como é obvio).

A saída da fonte, ou seja o V+ liga aos +12V da led strip e ao VIN do arduino, e o V- liga ao GND da led strip e do arduino.
O DI liga ao pino do arduino que escolheres para controlar os leds (depende do que definires no código).
O BI, caso exista, não se liga a lado nenhum.
 
Eu referi a WS2815 porque como já tenho uma fonte de alimentação de 12V (e para não comprar outra) utilizava esta.
Percebo, mas as fontes não são assim tão caras. Aliás, acho que o LED strip vai ser mais caro que a fonte, e pode compensar mais comprar o WS2812B. (Estou a pôr a bold só para os distinguir mais facilmente.)

Então (resumidamente) as ligações são assim:
  • Ligava a +12V da led strip à fonte de alimentação (L do Ac Input);
Oi?? Não, não, não! Cuidado, não te mates :|
Fui ver a fonte que tens, e eu pessoalmente não me sinto confortável a mexer em nada que tenha contactos AC expostos. Os 230V AC que vêm da rede eléctrica são letais.

A fonte de alimentação está a converter os 230V AC da rede eléctrica em 12V DC. Portanto deves ter L(ive), N(eutral) que são alimentados pela rede eléctrica, e tens + e - que são os 12V DC que te interessam.

Ligas o + da fonte aos +12V do LED strip e provavelmente ao VIN do Arduino.
Ligas o - da fonte ao GND e o BI do LED strip e ao GND do Arduino.

Se não tens experiência com este tipo de coisas (como eu não tenho), recomendo-te que não mexas em nada de AC a não ser com alguém que perceba mais do assunto.

edit - eu li que o BI do LED strip se deve ligar ao GND. Se ficar a flutuar (não ligado a nada) não sei se faz diferença.

Já agora - eu em casa normalmente uso um transformador de 12V de um disco externo e um transformador USB que dá 5V DC para o meu LED strip. Não é o ideal, mas como não tenho acesso ao lado AC considero-me mais seguro assim. Não gosto *mesmo* nada de contactos AC expostos.
 
Última edição:
Imagino que os GNDs do Arduino e da fonte de 12V devam estar ligados para ser uma referência comum (mas se as fontes estão ligadas à terra não sei se isso é assim tão linear - já ouvi falar em ground loops e não sei se são uma preocupação nestes casos em que usas duas fontes de alimentação diferentes e ambas estão ligadas à terra - por exemplo, se o Arduino for alimentado pelo computador).

Sim, é isso mesmo, o que interessa ao interligar os Grounds (que tem que ser feito) é a referência de tensão ser a mesma. Nem funcionará sem essa ligação, visto que ter que haver um condutor para retorno da corrente: Fonte -> (condutor VIN) -> Arduino -> (condutor Ground) -> Fonte.

A ligação à terra da instalação/tomada parece-me só ser importante ao nível da fonte de alimentação de 12V, se for daquelas com carcaça metálica e não de plástico, visto que tem 230 a 300V lá dentro e a carcaça metálica é eletricamente condutora. Mas não tenho grande conhecimento sobre isto nem sobre ground loops.


@sampaio

L e N (Line e Neutral) ligam exclusivamente do lado AC/tomada/230V (entrada da fonte de alimentação).

V+, V- ligam exclusivamente do lado DC (saída da fonte de alimentação).
 
Sim, é isso mesmo, o que interessa ao interligar os Grounds (que tem que ser feito) é a referência de tensão ser a mesma. Nem funcionará sem essa ligação, visto que ter que haver um condutor para retorno da corrente: Fonte -> (condutor VIN) -> Arduino -> (condutor Ground) -> Fonte.
O caso que imagino é o seguinte:
* primeira fonte de alimentação 12V: ligada ao +12V e GND do LED strip
* segunda fonte de alimentação de 5V: ligada ao VIN e ao GND do Arduino
* um qualquer pino do Arduino ligado ao DI do LED strip

Nesta situação, tenho ideia que é possível que exista algum caminho de corrente entre os grounds (ou um backfeed entre as fontes?). Não tenho conhecimentos suficientes sobre como funciona um ground loop, mas acho que são uma preocupação neste tipo de cenários. Aqui estou bastante fora da minha zona de conforto.
No entanto, se apenas for usada uma fonte de alimentação, sim, acho que não há risco, e os grounds do Arduino e do LED strip vão estar ligados ao V- da fonte.

Ainda relativamente à fonte do @sampaio, neste post ele mostra uma imagem do cabo de alimentação: https://forum.zwame.pt/threads/arduino-nano-com-rgb-led-strip-12v.1057443/#post-16751715
Em primeiro lugar: não sei quão relevante é ligar o L e o N ao pino certo da tomada na parede, mas acho que as fontes estão preparadas para lidar com o caso de serem ligados ao contrário. Sei que nem sempre é assim.
Em segundo lugar: aquele é um cabo de dois fios, não parece ter o fio verde/amarelo da terra. Tendo em conta que a fonte de alimentação dele parece ser metálica, eu tenho a impressão de que se está a criar uma situação perigosa, pelo que o @sampaio deverá confirmar que a fonte tem um símbolo de terra e que este está de facto ligado à terra (que seria um terceiro fio no cabo de alimentação).

Ilustrando (principalmente para bem do @sampaio perceber do que estamos a falar):
Exemplo de fonte de alimentação de 12V:
ps1-25w-12.jpg


Símbolo da terra (é o terceiro contacto da imagem acima):


Cores dos fios de um cabo de alimentação (neste caso deve ser trifásico, é ignorar o L2 e L3 nos cabos monofásicos):
5e4b8434514c15fca1f688d4bc69f1c9.jpg


Idealmente, o fio castanho liga-se ao L, o fio azul liga-se ao N, e deveria existir um fio verde/amarelo que se liga à terra (⏚).

edit - não quero estar a ser confuso ou demasiado "pedântico", mas fico alarmado quando se fala em AC, ou quando se confundem ligações AC com DC. É a receita perfeita para um desastre.
 
Última edição:
@diogoc , @Kayvlim , @WindWalker Obrigado pelas respostas e calma que ainda estou inteiro :D

Enganei-me porque estava a trabalhar e a responder ao mesmo tempo... :lol:
Vamos por partes: Já não preciso do controlador, certo?
No caso da fonte de alimentação, preciso então de ligar mais um fio ao (⏚)? É que agora só estou ligar dois fios (L e N).
Em relação à Led Strip acho que vou comprar a WS2815 e tentar com essa. (Para investimento de teste não quero gastar muito €€€. E esta em principio faz o que quero. Para não ter que comprar 2 fontes).
Em relação ás ligações arduino e led strip: o V+ da fonte de alimentação liga aos +12V da led strip e ao VIN do arduino e o V- liga ao GND da led strip (Ligo o BI aqui também?) e ao GND do arduino, correcto?
Por fim ligo o DI ao pino do arduino, por exemplo D6, certo?
 
@diogoc , @Kayvlim , @WindWalker Obrigado pelas respostas e calma que ainda estou inteiro :D
Boa! Uma pessoa fica preocupada :p

Vamos por partes: Já não preciso do controlador, certo?
Aquele controlador serve para controlar LED strips de 12V com linhas comuns de G, R, B. Ou seja, cujos LEDs não são individualmente endereçáveis.
Se optares por um WS28**, ficas com um LED strip com LEDs individualmente endereçáveis. Ou seja, o controlador já não é útil.

No caso da fonte de alimentação, preciso então de ligar mais um fio ao (⏚)? É que agora só estou ligar dois fios (L e N).
Se a fonte de alimentação tem uma caixa metálica, sim, convém. Esse contacto está ligado directamente à caixa.

Caso por algum motivo a caixa metálica fique em contacto com algum fio da rede (a 230V AC), podes ser electrocutado ao tocar na caixa, ou em alguma coisa condutora onde a caixa esteja a tocar.
Nota que esse motivo tanto pode ser "fizeste algo de errado e deixaste o fio a tocar na caixa" como pode ser "fizeste tudo bem mas alguma coisa dentro da fonte avariou e criou um contacto inesperado".

Por outro lado, se ligares o fio de terra à fonte, uma anomalia cria um curto circuito entre o fio energizado e a terra (ou seja, um caminho com menos resistência do que o teu corpo, portanto não passa corrente perigosa por ti). Acho que neste caso, ou é o disjuntor diferencial da casa que vai disparar (porque detecta uma diferença entre a corrente do fio L e a do fio N, que normalmente são idênticas e simétricas), ou é outro disjuntor (ou em casas muito antigas um fusível) que corta quando a corrente excede o seu limite (normalmente 10A, 15A ou 16A em Portugal, na minha casa tenho os três dependendo da divisão).

O que interessa é que a corrente resultante dessa anomalia não vai para a terra através de ti, mas sim através desse fio.

Caso não saibas, é para isso que servem os contactos metálicos em cima e em baixo das nossas tomadas:

Schuko_socket.jpg


Se vais mesmo usar essa fonte, espero que tenhas sempre presente o facto de ela ter fios eléctricos expostos, e tenhas os cuidados necessários - não mexer nos contactos com ela ligada à rede, não a deixar ao alcance de crianças, animais de estimação, etc.

Entretanto reparei que algumas dessas fontes têm um potenciómetro chamado "V ADJ" (como a da imagem que coloquei acima) que serve para ajustar a voltagem. Dá jeito teres um multímetro (e saberes usá-lo!) para fazer esse ajuste, ou corres o risco de a fonte te dar mais de 12V e danificar o LED strip e o Arduino.

Em relação à Led Strip acho que vou comprar a WS2815 e tentar com essa. (Para investimento de teste não quero gastar muito €€€. E esta em principio faz o que quero. Para não ter que comprar 2 fontes).
Quando estive a pesquisar, o WS2815 pareceu-me ser muito mais caro do que o WS2812B. Caro o suficiente para justificar comprar um WS2812B e uma fonte de 5V. Se já tens o LED strip e a fonte, tudo bem. Se ainda vais comprar alguma coisa, pode valer a pena fazer as contas.
Por outro lado, um LED strip de 5V parece-me sofrer mais da perda de voltagem ao longo do fio do que o de 12V, porque a corrente que passa no strip de 5V é maior do que a que passa no de 12V. Acho que foi também isto que o WindWalker disse mais atrás.
(Já agora - se por acaso fosses para o WS2812B e uma fonte de 5V, já não ligavas os +5V da fonte ao pino VIN do Arduino, ligavas ao pino 5V)

Em relação ás ligações arduino e led strip: o V+ da fonte de alimentação liga aos +12V da led strip e ao VIN do arduino e o V- liga ao GND da led strip (Ligo o BI aqui também?) e ao GND do arduino, correcto?
Por fim ligo o DI ao pino do arduino, por exemplo D6, certo?
Tudo certo.
Pelo que encontro na net, não é claro se deves ligar o BI ao GND. Há quem o faça, há quem não o faça, e há quem diga que podes desperdiçar energia se o ligares ao GND. Parece-me que podes simplesmente não o ligar e deixá-lo a "flutuar".
 
Última edição:
Back
Topo