Você está na página 1de 9

AGRUPAMENTO DE ESCOLAS DE SANTA MARIA DOS OLIVAIS - LISBOA

digitalWrite()
Laboratório de Programação
com ARDUINO analogWrite()

2019-2020
Versão 3

1ª Parte

António Henriques
SAÍDAS DIGITAIS E ANALÓGICAS

Laboratório de Eletrónica e Programação

Arduino é uma plataforma física baseada num microcontrolador e um ambiente de


programação (IDE).
No que respeita à plataforma física existe uma infinidade de opções construidas
com base em diferentes microcontroladores. A mais comum é designada por
ARDUINO UNO REV 3, baseia-se no microcontrolador ATmega 328P. No site do
projeto ARDUINO (https://store.arduino.cc/arduino-uno-rev3) encontra-se
informação técnica detalhada.

2
Laboratório de Eletrónica e Programação

O ambiente de programação (IDE) tem versões para diferentes sistemas operativos e


está disponível para download no site: https://www.arduino.cc/en/Main/Donate

Laboratório de Eletrónica e Programação

Janela terminal de
comunicação série
Gravar ficheiro
Mudar nome da aplicação,
Abrir ficheiro etc

Novo ficheiro

Compilar e enviar aplicação para a placa Arduino

Compilar e verificar erros do código fonte

4
Laboratório de Eletrónica e Programação

O 1º programa
Funções:

setup():
Executa-se apenas quando se liga a alimentação ou
após realização de reset.
Tem como finalidade os pinos I/O como entrada ou
saída e parametrizar a comunicação série.

loop()
Executa o código sucessivamente.
Tem como objetivo controlar o funcionamento de um
dispositivo ou sistema de acordo com condições
predefinidas inscritas no programa.

pinMode( x, y)
Configura os pinos I/O como entrada ou saída.
“x” identifica o pino através do número respetivo e “y”
assume OUTPUT ou IMPUT.

digitalWrite(x,y)
Escreve valor binário no pino referenciado.
“x” identifica o pino através do número respetivo e “y”
assume HIGH ou LOW (1 ou 0 / true ou false).

delay(x)
Origina um atraso em milissegundos com o valor
atribuido a “x”.
5

Laboratório de Eletrónica e Programação

No programa, quer na função


setup(), quer na função loop(), existe
um conjunto de ações que se repete.
Identifique-as.

Descreva o que acontece durante a


execução da função setup() e da
função loop()

6
Laboratório de Eletrónica e Programação

Estrutura de repetição – ciclo for

for (i = 2; i <=11; i++) {

“comandos ou funções”
i=2
}

F
i <= 11
Incrementar
V

i=i+1
Incrementa i “ações”
ou

i++

Laboratório de Eletrónica e Programação

Qual a finalidade da variável “pino”.

“HIGH” pode ser substituído por a)


ou por b) .

“LOW” pode ser substituído por c) ou


por d) .

8
Laboratório de Eletrónica e Programação

Descreva o funcionamento do
segundo ciclo “for” na função “loop()”

Repare que nos dois ciclos “for” da


função setup existe um conjunto de
instruções que se repete.
Simplifique o programa.

Laboratório de Eletrónica e Programação

Descreva o funcionamento da função


“loop()” e da função “pisca()”

10
Laboratório de Eletrónica e Programação

Descreva o efeito visual


conseguido com o programa.

11

Laboratório de Eletrónica e Programação

Na função loop() existem duas


estruturas de decisão. Faça o
fluxograma correspondente a cada
uma das estruturas referidas.

12
Laboratório de Eletrónica e Programação

As grandezas físicas variam de forma analógica, pelo que se quisermos interagir


com o meio ambiente ou certas máquinas, como por exemplo motores, precisamos
de converter valores digitais no correspondente analógico. Esta tarefa pode ser
desempenhada por circuitos dedicados: os DAC (conversor digital analógico) e os
ADC (conversor analógico digital) ou por funções apropriadas de sistemas micro-
controlados
No caso do Arduino Uno, existem seis pinos I/O: 3, 5, 6, 9, 10, e 11, que podem
simular um valor analógico no intervalo 0V a 5 V através de uma técnica designada
PWM (modulação por largura de impulso).

5V
t
(duty cycle) D = x 100%
T

1
T= seg
490
13

Laboratório de Eletrónica e Programação

0% →0V

analogWrite()
25% →1,25V
A função tem dois
argumentos:
Identificador do pino;
Valor entre 0 e 255.
50% →2,5V
O segundo argumento
converte uma palavra de 8
bits na largura do impulso.
A saída apresenta o valor
75% →3,75V médio de um período

100% →5V
14
Laboratório de Eletrónica e Programação

15
Laboratório de Eletrónica e Programação

Investigue a função random() e utilize-a em


conjunto com um led RGB com catodo
comum, de forma a obter um efeito luminoso
que corresponda ao aparecimento aleatório
de uma cor.

17

Você também pode gostar