Você está na página 1de 4

Sistemas Microprocessados

1) Nas aulas de 04/03 e 09/03 foram ensinados como utilizar as Interrupções Externas,
Métodos para salvar dados nas memórias EEPROM e FLASH e sobre Conversores Analógico
Digital (ADC). Combine os códigos, que utilizam os registradores, para criar um circuito que: A
cada vez que um botão for apertado (utilize as Interrupções Externas) o valor de um
determinado sensor (pode ser um potenciômetro) seja lido, convertido e salvo na memória
EEPROM. Ao final de 5 acionamentos do botão, os valores da EEPROM devem ser lidos e
impressos na SERIAL. (1,0 pt)

2) Desenvolver um sistema de semáforos para carros (Figura 1). No total, solicita-se 1


semáforo por travessia (4 semáforos). Sabendo-se que os fluxos de pedestres são os mesmos
para cada cruzamento. (1,0 pt)

Figura 1 Cruzamento do exercício 2


Sistemas Microprocessados

3) O exercício Timer1_CTC_Mode da aula de 02/03/2021 tinha como objetivo criar um


temporizador utilizando o TIMER1 (16 BITS) para apagar e ascender um LED a cada 1 segundo.
Para isto o microcontrolador foi configurado no modo CTC (Clear Timer on Compare Match)
com WGM (Waveform Generation Mode) modo 4 ,conforme abaixo, e PRESCALER de 1024.

Reescreva o código ou crie um novo (a sua escolha) que atenda as seguintes considerações:

 O LED deve piscar a cada 500 ms (meio segundo)


 Usar WGM modo 12
 Usar PRESCALER de 256

O programa pode ser testado no ThinkerCad. Segue abaixo uma sugestão para ligação:

Reescreva o código ou crie um novo (a sua escolha) que atenda as seguintes considerações:

 O LED deve piscar a cada 500 ms (meio segundo)


 Usar WGM modo 12
 Usar PRESCALER de 256

Reescreva o código ou crie um novo (a sua escolha) que atenda as seguintes considerações:

 O LED deve piscar a cada 500 ms (meio segundo)


 Usar WGM modo 12
 Usar PRESCALER de 256

O programa pode ser testado no ThinkerCad. Segue abaixo uma sugestão para ligação:

(1,0 pt)
Sistemas Microprocessados

4) Crie um sistema para uma matriz do tipo X = (aij)m x n. Faça o preenchimento da mesma
com números aleatórios e faça com que a serial solicite um valor para o usuário. A informação
retornada ao usuário deve ser: i (posição da linha), j (posição da coluna) do valor procurado, se
o mesmo não existir, solicitar um novo número. (0,5 pt)

5) Faça um vetor que receba 10 números do usuário e apresente duas funções disponíveis:

- Ordenar crescente

- Ordenar decrescente

Apresente o resultado da função escolhida. (0,5 pt)

6) Faça um sistema simulado (pode duas fontes variáveis e um servo) que leia 3 sensores
(temperatura, luminosidade, e ângulo) em um vetor. (0,5pt)

Se a temperatura estiver abaixo de 5 graus celsius e a luminosidade estiver abaixo de 50% ligar
um led vermelho.

Se a temperatura estiver acima de 40 graus celsius e a luminosidade estiver em 100% ligar um


led amarelo.

Se a temperatura estiver entre 20 e 39 graus celsius e a luminosidade estiver entre 60% e 79%
ligar um led verde.

Informar na tela do usuário o resultado: Temperatura -> Graus Fahrenheit , luminosidade -> %,
angulo do motor -> graus

*Lembrando que esses valores podem estar entre 0 e 1023.

7) Desenvolva uma classe para leds e uma classe para saída de áudio. Forneça uma interface
ao usuário para instanciar os objetos de acordo com sua preferência, (solicite os parâmetros
necessários para a instância do usuário). Usar encapsulamento em dados da instância do
usuário e desenvolver métodos públicos e privados (mínimo de 2 cada), além do
construtor/destrutor.

O usuário deve ser capaz de criar um alarme sonoro e luminoso com o uso das duas
classes. Explicar com suas palavras (comentários no código) o motivo do método ser
encapsulado ou não. (1,0 pt)

8) Crie superclasse e subclasses (pai e filho) para o sensor SR04 e um serviço de PWM para leds
(em barra ou único led) . Instanciar os objetos herdados fornecendo um sistema que suporte o
brilho do led (barra ou único) controlado pelo valor do sensor. Será necessário usar um
registrador de deslocamento (usando IC 74HC595) para instanciar mais objetos. (1,0 pt)
Sistemas Microprocessados

9) Use uma classe abstrata para criar os métodos pertencentes a biblioteca servo.h e a
biblioteca Stepper.h que possuem o mesmo princípio de funcionamento (velocidade e ângulo).
Instanciar os dois objetos. Usar cabeçalhos e arquivos CPP. (1,0 pt)

10) Desenvolva uma simulação (livre escolha) usando classes, métodos, e objetos. Instancie
pelo menos em 2 arduínos fazendo com que os objetos de um se comuniquem com os objetos
do outro arduíno. (1,0 pt)

11) Na aula de 16_03_2021 foi ensinado como configurar e utilizar a UART do Atmega328p via
registradores. Entretanto foram necessários criar várias funções para enviar e receber dados
da UART. Reescreva o código UART.ino ou UART_thinkercad.ino em forma de biblioteca, ou
seja, separe as funções em um arquivo header e chame-o no código principal. (1,0 pt)

12) Procure na internet por 5 circuitos integrados ADCs e 5 DACs e crie uma tabela contendo
todas as informações relevantes dos mesmos, como: Resolução, Taxa de Amostragem, Custo,
entre outros. Fazer download dos datasheets e enviar junto. (0,5 pt)

*OBS: O trabalho pode ser feito em grupo, porém a entrega deverá ser individual, ou seja, o
grupo é para tirar dúvidas e cada um faz a sua entrega.

Os arquivos a serem entregues precisam estar em uma pasta zipada e devem ser
entregues por e-mail com o nome completo o RA, e a disciplina.

*Enviar para o email: atividades.microcontroladores@gmail.com

Boa sorte!!!

Você também pode gostar