Exercícios Resolvidos de Atributos e Métodos

Ver Teoria

Enunciado

Um Arduino é um microcontrolador que é programado em C++. Ele possui algumas funções prontas, como a d i g i t a l W r i t e , que envia 0 ou 5 volts para uma de suas portas lógicas, o que pode ser utilizado para desligar ou ligar um componente eletrônico, e a função d e l a y , que recebe um número inteiro e faz com que o sistema apresente uma pausa durante o tempo que foi passado a ela em milissegundos. Veja o código abaixo que é utilizado para ligar um led.

O código que está na dentro da função v o i d   s e t u p ( ) é lido somente uma vez, nele é definido se algum pino do Arduino será de saída ou de entrada. A função v o i d   l o o p ( ) ficará sendo repetida até que o Arduino seja desligado. Nela, há um código que faz com que o Arduino Arduino faça um led ficar piscando.

Pensando nisso, crie uma classe   L e d para abstrair parte do código acima. Essa classe deve possuir como parâmetros o número do pino ao qual o led está ligado, que deve iniciar com valor 5, e o tempo em milissegundos que será utilizado no d e l a y . Além disso, essa classe deve possuir os métodos d e f i n i r _ p i n o , que deve receber um valor e passar para o parâmetro pino levando em consideração que, para a aplicação que será realizada, poderão ser utilizados os somente os pinos do 4 até o 9, e p i s c a r _ l e d , que deverá fazer um led piscar no mesmo padrão do código apresentado.

Passo 1

Eai, tudo beleza?

Primeiramente, vamos entender o passo a passo do código que nos foi passado. Ele inicia definindo uma constante chamada LED e atribui o valor 5:

Após isso, ele no v o i d   s e t u p , ele declara o pino 5 como saída.

Agora, no v o i d   l o o p , onde fica o código que será repetido até o Arduino ser desligado, ele declara uma variável t e m p o e atribui o valor 1000 a ela na linha 9. Esse valor deve é passado para função d e l a y , que trabalha em milissegundos, ou seja, esse tempo representa 1000 milissegundos, que seria equivalente a 1 segundo. Na linha 12, ele liga o led utilizando a função d i g i t a l W r i t e e, logo em seguida, usa a função d e l a y para fazer o sistema esperar 1 s . Por fim, ele desliga o led na linha 14 e, na linha 15, ele faz outro delay.

Portanto, o led vai ficar ligado por 1 s e depois desligado por 1 s , e seguirá esse padrão para piscar até que o Arduino seja desligado.

Passo 2

Agora que já compreendemos o código fornecido, vamos criar a nossa classe l e d . Como foi especificado no enunciado, vamos iniciar os parâmetros t e m p o e p i n o com valores 1000 e 5 , respectivamente.

Vamos também declarar os métodos d e f i n i r _ p i n o , que vai receber um i n t como parâmetro, e o método p i s c a r _ l e d .

Passo 3

Agora, vamos definir o que cada método faz. No caso do método d e f i n i r _ p i n o , vamos analisar se o parâmetro passado é um valor disponível para a aplicação, ou seja, se ele está entre 4 e 9 . Em caso positivo, vamos passar esse valor para o atributo p i n o .

No caso do método p i s c a r _ l e d vamos colocar a rotina de ligar o led, esperar 1s, desligar o led e esperar 1s.

Resposta