Você está na página 1de 6

2.

3 SAÍDAS DIGITAIS:

Ufa, bastante coisa certo? Mas há chegado a hora. Sim!


vamos começar a estudar as portas do Arduíno, e nesse capitulo
vamos criar os primeiros acionamentos.

Para podermos dar início, existem alguns conceitos que


você precisa ter em mente. Vou explica-los agora!

As portas do Arduíno, e também da grande maioria dos


microcontroladores, podem trabalhar tanto como entradas, e
também como saídas. Só depende exclusivamente da maneira
como você configura cada uma. A mesma porta pode trabalhar
como uma entrada, se configurada como INPUT, ou pode
trabalhar como uma saída caso configurada como OUTPUT.

O comando usado para fazer essa seleção dentro do


Arduíno é o pinMode, e sua utilização é bem simples, veja a
sintaxe abaixo:

SINTAXE:

pinMode(pino, tipo) // Pino deve conter a numeração ou


variável com o número do pino, e o tipo pode ser INPUT e
OUTPUT

pinMode(13, INPUT) // pino 13 definido como entrada

pinMode(13, OUTPUT) //pino 13 definido como saída

Dentro desse capitulo vamos estudar mais afundo como


funcionam as saídas, e no próximo capitulo vamos estudar as
entradas.

57
Vale deixar claro, que existem outros tipos de
configurações de portas, mas nesse momento, você precisa
apenas entender bem a fundo essas 2 maneiras.

Quando um pino é definido como saída, isso significa que


ele irá emitir um sinal de acionamento, ou seja, que ele irá passar
para o valor true, quando falamos de lógica. Ou se falarmos de
circuitos elétricos, significa que dentro do Arduíno, o pino
passará de 0v para 5v

Com isso, podemos acionar um LED, acionar um relé, uma


sirene, ou qualquer outra coisa que dependa de um acionamento
digital.

Gosto muito de uma frase que diz o seguinte:

“Se você consegue controlar um LED, você consegue


controlar qualquer coisa”

Essa frase é muito verdadeira, pois o mesmo acionamento


que é utilizado para acender um LED, pode ser utilizado para
executar uma infinidade de outras coisas.

Vamos aos exemplos:

Depois de selecionar o pino para OUTPUT, o comando


utilizado para fazer o acionamento de uma porta é o
digitalWrite(). Sendo que esse deve ter como parâmetro o pino
do acionamento e o valor que esse pino deve assumir, sendo a
escolha entre: LOW que indica que o pino está desligado, e HIGH
que indica que o pino está ligado. Vejamos a sintaxe:

58
SINTAXE:

digitalWrite(13, LOW) // pino 13 desligado

digitalWrite(13, HIGH) //pino 13 ligado

No exemplo abaixo, eu mostro como pode ser utilizado o


acionamento das saídas,

EXEMPLO:
void setup()
{
pinMode(4, OUTPUT);
}

void loop()
{
digitalWrite(4, HIGH); // Liga o LED
delay(1000); // Aguarda 1 segundo
digitalWrite(4, LOW); // Desliga o LED
delay(1000); // Aguarda 1 segundo
}

Vamos colocar isso em prática, e se prepare pois esse será o


seu primeiro projeto.

Conforme combinamos no começo desse livro, durante o


seu caminho de aprendizado, haverá diversos projetos para
serem montados. Eu recomendo fortemente que você construa
esses projetos fisicamente, usando o Arduíno e os componentes
eletrônicos, porém, também é verdade que alguns deles podem
ser construídos usando simuladores online.

Todos os projetos tem a sua descrição, lista de


componentes, diagramas, e também o código fonte.

59
PROJETO#1 - Blink com LED

Nesse projeto vamos fazer um LED piscar com o Arduíno,


onde podemos controlar a velocidade com que o LED pisca.

Componentes:

• 1 - Arduino Uno
• 1 - Protoboard
• 1 - LED 5mm
• 1 - 220 Ω Resistor
• Jumpers

Diagrama:

60
/* #1 – Blink com LED */

void setup()
{
pinMode(13, OUTPUT);
}

void loop()
{
digitalWrite(13, HIGH); // Liga o LED
delay(1000); // Aguarda 1 segundo
digitalWrite(13, LOW); // Desliga o LED
delay(1000); // Aguarda 1 segundo
}

/* Experimente mudar o tempo dentro do delay para ver a


velocidade em que o LED pisca mudar*/

61
EXERCÍCIO 5

Construa novamente o Projeto#1.

Dessa vez, armazenando o número do pino utilizado em


uma variável. Após isso utilize a variável como referência de
acionamento HIGH e LOW.

Veja o exemplo:

• int pinoLED = 13;


• pinMode(pinoLED, OUTPUT);
• digitalWrite(pinoLED, HIGH);

Clique AQUI para ter acesso ao exercício resolvido.

62

Você também pode gostar