Sei sulla pagina 1di 24

Programação e Sistemas

Curso Técnico de Eletrónica, Automação e Computadores


Ano Letivo 2018/2019

Ciclo de Formação 2017/2020


Professora Ana Reis
UFCD 6054
Programação de alto nível - Iniciação

Prof. Ana Reis - PS 2


Vamos fazer Fluxograma e
Esquema no Fritzing
LED Pisca Pisca

Prof. Ana Reis - PS 3


Programação Arduino
Fade
Estrutura de Decisão (If/Then)

Prof. Ana Reis - PS 4


Arduino – Fade (1/4)
• Com esta programação irás aprender:

– O uso da função analogWrite() que irá fazer com o LED apague e acende
de forma rápida;

– O analogWrite usa PWM (~) para fazer o efeito fade do LED (de 0 a 255);

Prof. Ana Reis - PS 5


Arduino – Fade (2/4)
• Sabendo que a o LED está na porta 9, faz o algoritmo, sabendo que o
brilho de LED usa valores de 0 a 255 e que o aumento de 0 para 255 é
de fator de 5 em 5. Também de haver o inverso de 255 a 0.

Prof. Ana Reis - PS 6


Arduino – Fade (3/4)
• Pseudocódigo: (cont.)
– 1. Inicializar as seguintes variáveis: ledFade=9; fatorAmount=5;
brilhoLed=0;
– 2. Configurar a porta do ledFade como saída (no void setup);
– 3. Com anologWrite e em cada loop, escrevo o valor de 5 em 5 para a
porta ledFade;
– 4. Em cada loop adiciono ou retiro (conforme o sentido do fade)
brilhoLed = brilhoLed + fadeAmount;

Prof. Ana Reis - PS 7


Arduino – Fade (4/4)
• Pseudocódigo:
– 5. Para atribuir ao fadeAmount 5 ou -5 (direção do fade) deve ser se:
• O brillho for igual a 0 então fadeAMount = 5;
• OU o brilho for a igual a 255 então fadeAmount=-5;
– 6. Espera 30 ms;
– 7. Repetir os passos desde o ponto 3 de forma infinita.

Prof. Ana Reis - PS 8


Arduino – Fade
Fluxograma

Prof. Ana Reis - PS 9


Arduino – Fade
Circuito Elétrico

Prof. Ana Reis - PS 10


Arduino – Fade
Código

Prof. Ana Reis - PS 11


Arduino – Fade
Explicação (1/4)
• Depois de se declarar o pino 9 para ser o seu ledPin, não há nada a
fazer na função setup () do seu código.

• A função analogWrite () que estáno loop principal do seu código


requer dois argumentos:
– Informando à função, para a qual o pino deve ser gravado, e outro
indicando qual valor PWM que deve ser gravado.

Prof. Ana Reis - PS 12


Arduino – Fade
Explicação (2/4)
• A fim ser comandado fazer o fade do LED desligado e ligado,
aumentando gradualmente o seu valor PWM de 0 (modo off ) para
255 (modo ligado) e, em seguida, voltar a 0 mais uma vez para
completar o ciclo.

• Cada tempo através do loop, ele aumenta pelo valor da variável


fadeAmount.

Prof. Ana Reis - PS 13


Arduino – Fade
Explicação (3/4)
• Se o brilho estiver em qualquer dos extremos de seu valor (0 ou 255),
então fadeAmount é alterado para seu negativo.
• Em outras palavras, se fadeAmount for 5, então ele é definido como -5.
• Se for -5, então é definido como 5.
• A próxima vez que o loop, faça essa alteração faz com que o brilho
mude de direção também.

Prof. Ana Reis - PS 14


Arduino – Fade
Explicação (4/4)

• analogWrite () pode alterar o valor PWM muito rápido, então o


atraso no final do esboço controla a velocidade do fade.

• Tenta alterar o valor do atraso e vê como ele muda o efeito de


desvanecimento.

Prof. Ana Reis - PS 15


Arduino – Fade
Extra (Comunicação Série)

• Sabes que é possível veres os valores a aumentar e a diminuir?


• Experimenta o seguinte código:
– No void setup() adiciona:

– No void loop() adiciona (após a fórmula brilhoLed)

Quando enviares o programa ao Arduino clica “Monitor Série” e


coloca o mesmo bps que está defino no programa
Prof. Ana Reis - PS 16
Elabora o teu relatório
Entregar na Plataforma Moodle o Relatório

Prof. Ana Reis - PS 17


Programação Arduino
Botão
Estrutura de Decisão (If/Then)

Prof. Ana Reis - PS 18


Botão
• Pretende-se que ao clicar no Botão o Led acende ou apague.
– A) Pense no Pseudocógio (escreve as tuas ideias por passos);
– B)Elabora o Fluxograma no Lucidchart;
– C) Elabora o Circuito Elétrico e respetiva programação;
– D) Elabora o Relatório;

– Material: led, resistência 220Ω, botão, restiência 10KΩ, placa de testes, arduino
uno e fios.

Prof. Ana Reis - PS 19


Botão
Pseudocógico
• 1. ledPin na porta 10 e o botaoPin na porta 2;
• 2. Definir no void setup o ledPin como saída e o botaoPin como
entrada;
• 3. Dentro do void loop ()
– 3.1 Ler o valor digital do botão, para saber se está a ser pressionado ou não
e guardar o valor no botaoEstado.
– 3.2 Com a Estrutura de Decisão If/Then/Else, verifico o estado do botão:
Se o botão estiver ON o ledPin acende, senão o ledPin apaga
• 4. Repete de forma infinita desde o ponto 3.

Prof. Ana Reis - PS 20


Botão
Fluxograma

Prof. Ana Reis - PS 21


Botão
Esquema Elétrico

Prof. Ana Reis - PS 22


Botão
Código

Prof. Ana Reis - PS 23


Elabora o teu relatório
Entregar na Plataforma Moodle o Relatório

Prof. Ana Reis - PS 24

Potrebbero piacerti anche