Ir ao conteúdo
  • Cadastre-se

Projeto Arduino - Duvida Resistor x Transistor


Visitante

Posts recomendados

Olá pessoal!
Estou com uma duvida enorme sobre transistor e resistor...
Estou fazendo um projeto no arduino onde quero ligar um cooler pelo protoboard..
porém o cooler puxa 12Volts enquanto o Arduino só suporta 5V
o que preciso fazer para controlar a tensão do cooler?
É obrigatório ter um transistor para fazer esse controle ou posso utilizar apenas resistor?
Aceito qualquer ajuda pois sou novo nessa área!
Grato

Link para o comentário
Compartilhar em outros sites

@Fernando Luz,

Um cooler não "puxa" 12 Volts !!!!!

O correto é dizer algo tipo "o cooler é alimentado com 12 Volts e puxa 0,15 A de corrente" !

O Arduíno pode fornecer uma corrente pequena, da ordem de 20 mA, que é insuficiente para o cooler, então precisamos usar algo que suporte pelo menos a corrente que o cooler consome.

O elemento mais indicado para isso é um transistor, devido ao baixo custo, disponibilidade e pequenas dimensões.

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Complementando o que já foi dito...

Com uma saída do arduino (ou qualquer uC) conectada a base de um transistor, você pode controlar qualquer dispositivo,desde que GND seja comum ao arduino.

Se o transistor (drive) aguentar 1000V ou 100A, vai só depender do ganho e tensão de base.

Nestes casos o transistor deve ser NPN ou FET canal N.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Fernando Luz,

Depende da corrente que seu cooler "puxa" .... !!!!

Se for menos do que uns 200 ma, pode usar um BC 337 ou parecido.

Já se for corrente maior, pode usar algum BD da vida, tipo npn, tem dezenas de modelos baratinhos.

Paulo

Obs- corrigido devido à observação do colega Roberto !

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Acredito que um TIP 122 ( ou 120), um 2k2 R e um 1N4004 ou 1N4007 resolva o assunto. Acompanhado do código do blink mesmo.

int MotorPin = 9;

void setup()

{

pinMode(MotorPin, OUTPUT);

}

void loop()

{

digitalWrite(MotorPin, HIGH);

delay(1000);

digitalWrite(MotorPin, LOW);

delay(1000);

}

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...