LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: almamater em 04 de Fevereiro de 2012, 12:50
-
Olá..
Quero usar o arduino para controlar uns Leds, nomeadamente o HDD Led e PW Led da caixa do pc e 3 leds de um periférico.
Tenho aqui 3 transistores BC548 (100mA), 1 para o HDD Led, outro para o PW Led e outro para os 3 leds.
Posso ligar as bases de todos eles ao mesmo pino do Arduino? assim, qdo ligar aquele pino os 3 transistors deixam passar a corrente para os leds certo?
-
E porque é que não usas só um transistor?
-
E porque é que não usas só um transistor?
pq vou usar o transistor para enviar ou não os sinais vindos da board para os leds, o sinal do HDD Led é intermitente e não posso ligar/desligar como faço com o power led..
uma solução seria colocar 1 outro transistor a controlar estes 3.. mas ja seria muitos se calhar :)
-
Boas...
A minha questão é: Porquê complicar o que é simples?
Precisas de controlar tres coisas diferentes porque é que não usas três pinos?
Com um controlas o PW Led, com outro controlas o HDD Led e com o outro controlas os restantes Leds...
Simples não?
Cumps
AndréD.
-
Certo :) acontece que os outros estão todos ocupados, deixa de ser assim simples.. pois fico apenas com 1 pino
-
Boas...
Sendo que não especificaste essa parte aqui fica uma ou duas soluções...
Podes optar por comprar um arduino Mega, acho que te resolve o problema visto ter muito mais pinos I/O, ou então usas o método Shift Register...
Em anexo fica um pequeno tutorial que explica como usar...
Cumps
AndréD.
-
Podes ligar 3, 5, 10 ou mesmo 20. Cada transistor tem que ter a sua propria resistencia na base.
Mas como disse o senso, se e' pa ligar tudo ao mesmo tempo basta 1 transistor.
-
Podes ligar 3, 5, 10 ou mesmo 20. Cada transistor tem que ter a sua propria resistencia na base.
Mas como disse o senso, se e' pa ligar tudo ao mesmo tempo basta 1 transistor.
Posso ter apenas 1 transistor ligado com 1resistencia ao pino do arduino e o colector deste transistor ligado a outros 3? ::) cada 1 com uma resistência..
-
Podes.. chama se cadeia de darlinghton
-
A minha ideia seria algo assim:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg641.imageshack.us%2Fimg641%2F7006%2F001vj.png&hash=53db5bfaa078ac618239afe2cb6fadb30edb3fdc) (http://imageshack.us/photo/my-images/641/001vj.png/)
a dúvida é quanto ao Q1.. não sei se está assim bem ligado aos 5v..
-
Não precisas de R1 nem de Q1, liga o pino do arduino directo às resistências de base dos outros 3. Mas se é só para acender LEDs basta 1 transistor.
Se o que tás a tentar fazer é interromper o fio que vai do dispositivo para o LED e enfiar aí no meio um transístor para poderes controlar quando é que o dispositivo controla mesmo o LED ou não, não é garantido que o que aí tens funciona. É verdade que se apregoa que o transistor funciona como um interruptor, só que há "condições" para que assim seja.
Um Darlinghton é isto:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg831.imageshack.us%2Fimg831%2F6803%2F03108q.png&hash=2343d14bd6baeca50310438f001183dc9f3fbfbe)
Pode haver mais transístores na cadeia, mas nunca vi nenhuma montagem com mais de 3.
-
Nao e assim. Tens de ligar o colector aos 5v...
-
A minha ideia seria algo assim:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg641.imageshack.us%2Fimg641%2F7006%2F001vj.png&hash=53db5bfaa078ac618239afe2cb6fadb30edb3fdc) (http://imageshack.us/photo/my-images/641/001vj.png/)
a dúvida é quanto ao Q1.. não sei se está assim bem ligado aos 5v..
Tens a certeza q esse circuito vai funcionar, com os transistores montados dessa maneira?
Assim como está, vai dar molho.
Se usares NPNs, não te esqueças que a BASE tem q ser 0.7V mais alta que o EMISSOR, ou o transistor não "activa".
Se ligares o Emissor ao componente, e sendo o Vec de ~0.2V, vais ter ~4.8V no Emissor.
Consegues ter ~5.5V no Arduino? ... acho que não.
Podes continuar com o NPN da esquerda, mas ligar o Emissor ao GND.
Se queres continuar com NPN para alimentar as cargas, tens q ligar também os Emissores ao GND e as cargas no Colector.
Mas tens que fazer pull-up nas bases, par ao NPN da esquerda te poder fazer a comutação.
Uma situação melhorada é substituir os transistores da direita para PNPs, e aí já podes ligar as cargas no Emisso, pois o Colector liga ao teu V++.
Não esquecer que, depois, as bases têem q ter pull-up para manter o PNP desligado quando o NPN da esquerda não está activa.
Enfim... comutação simples de saturação de transistores. Bastante já batida. Uma pesquisa googloide vai dar muitos hits.
-
Ok, obrigado pelas respostas.. por vezes é mesmo não saber que pesquisar no google :).
Der qualquer forma como é algo complicado decidi alterar o que estava a pensar fazer e contornei a questão.. de qualquer forma fiquei elucidado. Obg
-
Já agora aproveito o tópico para vos perguntar se existe algum problema em usar estes transístores:
2N3904 Para fazer de switch a uma barra de leds, 120mA (medi com o multímetro)
BC548 Para fazer de switch a 2 Leds, com uma resistência de 100R medi 20 a 30mA
BD137 Para fazer de switch a uma luz, medi 740mA
BC337 A um conjunto de Leds com 200mA
Todos eles ligados com 1 resistência de 1k ao arduino (ao pino correspondente)
Penso que o problemático se calhar é o 2N3904.. não sei se pode suportar até 200mA sem problema.. 120mA já é muito para ele?
-
A dúvida quanto ao 2N3904 é devido a esta informação na datasheet dele:
The useful dynamic range extends to 100 mA as a switch and to 100 MHz as an amplifier"
Já tinha soldado 2 para fazerem de switch cada equipamento consome 120mA, tenho de substituir por outro?
-
Podes substituir esses transistores Bipolares por Mosfets e tens mais vantagens. Uma é o não necessitar de puxar corrente do Arduino, para alimentar as bases dos transistores.
Isto porque os transistores MOSFET são controlados opor tensão e não por corrente.
O equivalente do BC548 em versão MOSFET, se assim pudermos falar, é o 2n7000.
Respondendo exactamente à tua pergunta, pelo datasheet do 2N3904, o máximo de corrente é de 200mA, sendo que a melhor caixa para dissipar o calor é a SOT-223, com bastante cobre à volta na PCB.
-
Posso usar é isso? :)
vou manter os gaxos.. não devem rebentar :P
-
Bem... agora tenho outra situação..
usei um transistor BC337 para controlar entre outros o HDD Led do PC, ou seja, ele só iria acender qdo eu ligasse o pino digital em HIGHT.
Liguei o (+) que vem da board diretamente ao (+) do Led e o (-) do LED ao colector do Transistor.
O transistor tem tb o emissor ligado ao (-) da fonte.
Fiz isto pq pensava que a board do pc controlava o led pelo (+), ou seja, que fazia o 'blink' através do fio positivo.. afinal não é assim.. pois o led desta maneira não pisca e fica sempre ligado.
A board deve usar antes o fio negativo para fazer o led piscar. Como posso fazer agora? Dá para controlar o sinal (+) através do transistor em vez do ground como fiz? Assim ele ficava ligado directamente à board pelo (-) e eu controlava o (+) com o arduino.. dá?
-
Eu ainda não percebi porque razão o Arduino é metido ao barulho nesses leds.
-
Eu ainda não percebi porque razão o Arduino é metido ao barulho nesses leds.
Para eu os desligar e ligar quando quiser através de um software no PC, isto é para implementar num projecto que tenho de um HTPC. Percebeste a pergunta? não sei se me expliquei bem :)
-
Posso sempre usar um relé mas era abusivo acho eu :)
-
Aproveito para lançar mais lenha p a fogueira, quiçá gasolina ... :)
E porque não usar um FT245BL, ao invés do Arduino?.... visto só precisares de activares saídas através do PC, esse chip chega-te e é bastante mais simples, nem precisas de programação
;)
-
Aproveito para lançar mais lenha p a fogueira, quiçá gasolina ... :)
E porque não usar um FT245BL, ao invés do Arduino?.... visto só precisares de activares saídas através do PC, esse chip chega-te e é bastante mais simples, nem precisas de programação
;)
:) na realidade eu usei o ATMega, fiz isto: http://imageshack.us/photo/my-images/3/img5566.png/ (http://imageshack.us/photo/my-images/3/img5566.png/)