Vous êtes sur la page 1sur 18

ARDUINO

ENTRADAS E SADAS DIGITAIS.


Entradas e Sadas digitais
A placa Arduino UNO possui 14 pinos que podem ser
configurados como entrada ou sadas digitais conforme a
necessidade de seu projeto. Estes pinos so numerados de 0 a
13, conforme destacado na figura a seguir:
Entradas Digitais
Na programao, deve-se configurar o pino como entrada
(INPUT);

Dessa forma o pino colocado em um estado de alta


impedncia a100 Megaohms;

Devido a essa caracterstica, quando um pino colocado com


entrada digital encontrasse flutuando (sem ligao definida), o
nvel de tenso presente nesse pino fica variando.
Entradas Digitais
no podendo ser determinado um valor estvel devido a rudo
eltrico ou capacitncia de entrada do pino;

Para resolver esse problema necessrio colocar um resistor


de pull up (ligado a +5V) ou um resistor de pull down (ligado a
GND);

Esses resistores garantem nvel lgico estvel quando por


exemplo uma tecla no est pressionada;

Geralmente utiliza-se um resistor de 10K para esse propsito;


Entradas Digitais
Entradas Digitais
O microcontrolador ATmega328, possui resistores de pull-up
internos ( 20 quilohms) que facilitam a ligao de teclas,
sensores sem a necessidade de conectar externamente um
resistor de pull-up;

A habilitao desses resistores feita de maneira simples via


software;
Sadas digitais
Quando um pino configurado com sada, ele se encontra em
estado de baixa impedncia;

Dessa forma, o pino pode fornecer ou drenar corrente para um


circuito externo;

A corrente mxima que um pino pode fornecer ou drenar de


40 mA, porm a soma das correntes no pode ultrapassar 200
mA;
Sadas digitais
Deve-se ficar atento a corrente maiores que este limite e a
curto-circuitos que podem danificar o transistor de sada
danificando o pino e at mesmo queimar o microcontrolador;

Essa uma caracterstica perigosa para a placa Arduino e


seria aconselhavel se tivessem resistores, ou algum tipo de
proteo, em todos os pinos utilizados como sada para limitar
a corrente em uma situao anormal;
Funes para Entradas e Sadas digitais
A plataforma Arduino possui funes para trabalhar com
entradas e sadas digitais que abstraem toda a configuraes
dos registradores que configuram e acessam os pino de I/O;

As principais funes so:

void pinMode();

utilizada para configurar um pino como entrada ou sada


digital. Ela geralmente utilizada dentro da funo setup().
Funes para Entradas e Sadas digitais
Sintaxe: pinMode(pino, modo);
Parmetros:

pino: Nmero correspondente ao pino que se deseja configurar,


conforme a placa que est trabalhando (no caso da Arduino UNO
pode ser de 0 a 13).

modo: Modo que deseja configurar o pino:

INPUT: Entrada digital;


INPUT_PULLUP: Entrada digital com resistor de pull-up (ligado
ao VCC) interno habilitado;
OUTPUT: Sada digital;
Funes para Entradas e Sadas digitais
int digitalRead();

Essa funo l o valor presente em um pino digital. Este valor


pode ser HIGH ou LOW. Apresenta as seguintes caractersticas:

Sintaxe: digitalRead(pino);
Parmetros:
pino: valor correspondente ao pino que se deseja ler.

Retorno: HIGH ou LOW


Funes para Entradas e Sadas digitais
void digitalWrite();

A funo digitalWrite() coloca um nvel lgico Alto (HIGH, 5V) ou


baixo (LOW, 0V) em um pino configurado como sada digital.

Sintaxe: digitalWrite(pino, valor)


Parmetros:
pino: Nmero correspondente ao pino;
valor: HIGH ou LOW
Exemplo
Para exemplificar a utilizao de pinos de I/O digitais, vamos
desenvolver uma aplicao de leitura de tecla e acionamento de
LED, conforme o a montagem feita no software FRITZING:
Exemplo
Atividades
1. Controlar um LED utilizando dois botes, sendo o boto 1 com
pull-down utilizado para o acionamento e o boto 2 com pull-up
utilizado para o desligar.
Atividades
2. Acionar e desacionar o LED com o mesmo boto (flip-flop).
Atividades
3. Acionar 4 LEDs de forma escalonada controlado por um boto
em pull-down, ou seja, ao se pressionar o boto uma vez acende
o LED1, na segunda vez aciona o LED2 e assim por diante. No
quinto pulso todos os LEDs apagam.
Atividades
4. Acionar quatro LEDS de forma escalonada, sendo que cada
LED aciona depois de um tempo t_on. Aps todos os LEDs
estiverem acionados, apagar tambm de forma escalonada com
tempo t_off. O processo deve ser cclico sem controle.

Vous aimerez peut-être aussi