Quem esta começando a mexer com Arduino, uma das melhores formas de entender a lógica da eletrônica digital, do Arduino e da programação para microcontroladores, é brincar com leds. Com um simples led nós podemos entender como funciona a saída digital de um microcontrolador, quais as portas digitais, como utilizar funções de tempo como “delay()“, como usar variáveis para se referir a portas digitais, e muito mais. Lembrando que quando você varia entre positivo e negativo na saída digital de um microcontrolador, você também esta gerando uma frequência com onda quadrada, então, brincar com leds também pode te ajudar a entender como funciona os pulsos e frequências digitais.
Nesse tutorial vou mostrar como fazer um pisca pisca com o Arduino e um led, para isso vamos precisar de:
1 Arduino (Uno, Uno Mega, Duemilanove, Arduino nano, …)
1 LED de qualquer cor
Circuito:
Código:
- /* Pisca pisca com LED
- * by: Paulo Tacio www.mundodoshackers.com.br
- */
-
- int ledPin = 10;
-
- void setup()
- {
-
- pinMode(ledPin, OUTPUT);
- }
-
- void loop()
- {
-
- digitalWrite(ledPin, HIGH);
- delay(500);
- digitalWrite(ledPin, LOW);
- delay(500);
- }
Explicando o código:
A variável “ledPin” representa o pino de entrada e saída digital do nosso Arduino, que iremos utilizar para acender o led, nesse caso o pino 10 do Arduino. Em “setup()” colocamos o pino “ledPin” em modo “OUTPUT” (saída), afinal iremos enviar tensão ao LED. Em “loop()” que é a função que fica repetindo pra sempre, enviamos “HIGH” para o “ledPin“, isso faz com que 5 volts seja enviado para o led, logo ele irá acender, em seguida usamos a função “delay()” para aguardar 500 milissegundos, passado os 500 milissegundos enviamos “LOW” para o “ledPin“, o que deixa o pino com 0 volts, consequentemente o led irá apagar, como “loop()” fica repetindo para sempre, o led ficará acendendo e apagando a cada 500 milissegundos para sempre.
Se pegarmos a saída do led (ledPin) e colocarmos no osciloscópio, veremos que temos uma frequência de 1hz, com uma onda quadrada de 5volts, com duty de 50%.
Para ter velocidades de pisca diferentes e consequentemente ter frequências diferentes, altere o valor dos “delay()“, quanto maior o tempo, menor a frequência e mais lento o led pisca, quanto menor o tempo maior a frequência e mais rápido o led pisca.
Em caráter de exercício, altere os delay para 10 milissegundos, isso nos dará uma frequência de 50hz, essa frequência já é imperceptível para o olho humano, por isso, irá parecer que o led esta aceso estaticamente :D, é assim que os painéis de led, matrizes de led, displays, monitores, tvs e outros dispositivos de vídeo formam imagens.
Uma outra curiosidade é que a saída analógica dos microcontroladores, na verdade são portas digitais com PWM (Pulse Width Modulation – Modulação por largura de pulso), onde tensões diferentes são geradas a partir da frequência e largura da onda (duty).
Obs: Os leds devem ser ligados a 3 volts, então o ideal seria utilizar um resistor de 100 ohms entre o “ledPin” e o led, mas como a corrente das portas digitais do Arduino (Atmega 328P) são baixas, não deverá queimar o led.
Bom, agora é com você, divirta-se.
Gostou desse tutorial/Matéria? Então comente e compartilhe ;-)!
Gostei para quem esta iniciando no arduino, é fácil entender a logica de funcionamento.