quarta-feira, 30 de janeiro de 2013

Controlando um Motor de Passo - MotorKnob


Exemplo incluído na biblioteca padrão do Arduino e de domínio público.

Imagem 1

Imagem 2

Ajustei o código fonte para o número de passos do motor utilizado: 64 passos.
O código pode ser encontrado em - File / Examples / Stepper / MotorKnob.

código fonte:


Ligação/Wiring:

As duas extremidades do potenciômetro são conectadas ao +5v e Ground (terra) da placa Arduino. O pino central conecta-se ao A0 (entrada análoga). Com isso o programa será capaz de perceber a posição do potenciômetro pela tensão apresentada na entrada A0 (que irá variar de 5V a 0V).

Conectar também o terra e +5V ao Driver. Os pinos in1, in2, in3 e in4 devem ser ligados aos pinos digitais 8, 9, 10 e 11 do arduino nesta mesma ordem.

O Driver L298N serve tanto para controlar 2 motores comuns de corrente contínua com possibilidade de utilizar uma tensão maior do que os +5V fornecidos pelo Arduino, ou controlar 1 único motor de passo. A ligação do motor de passo (28BYJ48) foi baseada no seguinte diagrama abaixo:

Imagem 3

Assim, a conexão deve ser (como pode ser visto na Imagem 1):

  • Vermelho: saída +5V do driver
  • Laranja e Rosa: saída MOTORB
  • Amarelo e Azul: saída MOTORA

Com toda a fiação pronta, é só fazer o upload do código e girar o potenciômetro para observar o motor de passo acompanhar o movimento. A velocidade de reação que utilizei é um pouco baixa mas pode ser aumentada com facilidade.

quinta-feira, 3 de janeiro de 2013

Primeiro teste com LDR - Resistor dependente de luz


Após fazer compras de mais alguns componentes eletrônicos, resolvi experimentar com um LDR (Light Dependent Resistor).

O que é LDR: É um resistor que varia a sua resistência de acordo com a quantidade de luz que recebe. Esta resistência pode variar de 1M ohms na escuridão, até 100 ohms quando sob a luz.forte.

Como funciona o circuito: O circuito e código fonte foram baseados no texto disponível no site [ http://www.hobbytronics.co.uk/arduino-tutorial8-nightlight ] em que é utilizado o fenômeno de divisão de tensão ( ver mais neste texto sobre divisor de tensão ).

Ao diminuir a luz no ambiente a resistência no LDR aumenta, diminuindo a tensão no pino A0 (analógico) do Arduino. O valor de tensão é transformado em um valor numérico que vai de 0 a 1024. No algorítmo ainda está incluído instruções para que quando o valor numérico recebido por esse pino baixe de um determinado valor (no caso 400), o led ligado ao pino 13 deve ser aceso.

Esse circuíto é bem simples, acho que apenas de ver o vídeo qualquer um é capaz de reproduzir. Ainda mais se acessar os links indicados neste post como referência. Os resistores utilizados foram de 4k7 ohms para o divisor de tensão e 1k ohms para o LED.

Abaixo estão o vídeo do modelo em ação e em seguida o código fonte utilizado.




código fonte: