Calculo de resistor

Pessoal, alguém teria algum calculo boi baba bico de como encontro o valor de um resistor para polarizar um BC548 que por sua vez aiona um relé?
O relé precisa de 5V e consome 72mA.

E outra situação. Tenho o meu atmega consumindo 5V fornecidos por um 7805.
E utilizo uma entrada digital para verificar se o farol de milha do carro foi ligado, então tenho como sinal 13,8V (é a tensão correta, e não 12V).

Nos meus testes eu usei 2 resistores de 100k. Um ligado no pino do controlador e vai para o terra. Assim quando em aberto ele fica sempre negativo e fornecendo 0 na função digitalRead.
E outro de 100k que vai do pino para o fio que é ligado ao interruptor. Quando ligo o farol eu fico com mais ou menos 6V no terminal do controlador e a leitura fornece 1. Esta correto. Mas existe um problema, notei que se coloco a mão nos contatos do interruptor a resistencia da minha pele é o bastante para o controlador reconhecer o sinal como alto. Saberiam me informar como posso calcular esses resistores? Será que é melhor baixar os seus valores para 10k ou até mesmo 1k?
[]s

Pessoal, alguém teria algum calculo boi baba bico de como encontro o valor de um resistor para polarizar um BC548 que por sua vez aiona um relé?
O relé precisa de 5V e consome 72mA.

Chuta que o beta do BC548 é 100; se você usar uma saída digital, vai ter perto de 5V nele quando em HIGH.

Digamos que você precise de 80 mA no coletor, onde irá a bobina do relé. 80 mA divididos pelo beta, que é 100, dá 0,8 mA. Essa é a corrente na base.

Quando saturado, o VBE do BC548 é perto de 0,7V. 0,7 divididos por 0,8 x 1000 = 875 ohms. Use um resistor de 820 ohms entre a base do BC548 e a saída digital que tá blz.

E outra situação. Tenho o meu atmega consumindo 5V fornecidos por um 7805.
E utilizo uma entrada digital para verificar se o farol de milha do carro foi ligado, então tenho como sinal 13,8V (é a tensão correta, e não 12V).

Nos meus testes eu usei 2 resistores de 100k. Um ligado no pino do controlador e vai para o terra. Assim quando em aberto ele fica sempre negativo e fornecendo 0 na função digitalRead.
E outro de 100k que vai do pino para o fio que é ligado ao interruptor. Quando ligo o farol eu fico com mais ou menos 6V no terminal do controlador e a leitura fornece 1. Esta correto. Mas existe um problema, notei que se coloco a mão nos contatos do interruptor a resistencia da minha pele é o bastante para o controlador reconhecer o sinal como alto. Saberiam me informar como posso calcular esses resistores? Será que é melhor baixar os seus valores para 10k ou até mesmo 1k?

Cara, você tá muito elétrico... Tá ligando o Arduino com a mão, literalmente ;D

Em vez de fazer um divisor de tensão com resistor, você pode ligar dois LEDs em série e um resistor de (13,8 - 4,0) / 15 x 1000 = aproximadamente 680 ohms.

Do farol de milha (+) o----[===]--+---[>|---[>|----o (-) da Bateria ou Chassi
                          |     \\   \\
                      680R  |
                          +-----o Pino digital do Arduino

Quando saturado, o VBE do BC548 é perto de 0,7V. 0,7 divididos por 0,8 x 1000 = 875 ohms. Use um resistor de 820 ohms entre a base do BC548 e a saída digital que tá blz.

Aqui tem um erro...

O valor do resistor da base é (5 - 0,7) / 0,8 x 1000 = 5,3 kohms. Use um de 4,7 kohms que tá jóia.

Cara, tudo blz?

Outro jeito de fazer o Arduino detectar tensões acima dos 5V é usando o circuito que está em: Arduino Playground - HomePage.

Eu não o usei, mas pelo que está no esquemático, imagino que o sinal ficará invertido: quando você aplicar um sinal, o Arduino perceberá LOW e quando não tiver sinal, o Arduino perceberá HIGH.

Acho que isso resolve o problema de acionar os pinos do Arduino com a mão, hehe.

[]s