·

Análise de Sistemas ·

Linguagens de Programação

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

Microcontroladores GPIO Timers ADC e Interrupções Microcontrolador Microprocessador Periféricos Arduino Biblioteca Arduino Código do Usuário GPIOs pinModepin no Mode pin no number of pin whose mode we want to set Mode INPUT OUTPUT or INPUTPULLUP Interrupções Sintaxe attachInterruptdigitalPinToInterruptpino ISR modo Parâmetros pino o número do pino do Arduino ISR a ISR a ser chamada quando a interrupção ocorre essa função deve não tomar nenhum parâmetro nem retornar nada Essa função é chamada de rotina de serviço da interrupção ou ISR do Inglês interrupt service routine modo define quando a interrupção deve ser ativada Quatro constantes estão predefinidas como valores válidos LOW acionar a interrupção quando o estado do pino for LOW CHANGE acionar a interrupção quando o sempre estado do pino mudar RISING acionar a interrupção quando o estado do pino for de LOW para HIGH apenas FALLING acionar a interrupção quando o estado do pino for de HIGH para LOW apenas Interfaceamento e Drivers Circuitos Microprocessados II Interrupções Externa Pino Interfaceamento e Drivers Circuitos Microprocessados II Contagem de Tempo Interfaceamento e Drivers Circuitos Microprocessados II PWM PWM do inglês Pulse Width Modulation é uma técnica utilizada por sistemas digitais para variação do valor médio de uma forma de onda periódica A técnica consiste em manter a frequência de uma onda quadrada fixa e variar o tempo que o sinal fica em nível lógico alto Esse tempo é chamado de duty cycle ou seja o ciclo ativo da forma de onda No gráfico são exibidas algumas modulações PWM PWM Analisando as formas de onda notase que a frequência da forma de onda tem o mesmo valor e variase o duty cycle apenas Quando o duty cicle está em 0 o valor médio da saída encontrase em 0 V e consequentemente para um duty cycle de 100 a saída assume seu valor máximo que no caso é 5V Para um duty cycle de 50 a saída assumirá 50 do valor da tensão 25 V e assim sucessivamente para cada variação no duty cycle Portanto para calcular o valor médio da tensão de saída de um sinal PWM podese utilizar a seguinte equação Vout duty cycle100 Vcc Onde Vout tensão de saída em V duty cycle valor do ciclo ativo do PWM em Vcc tensão de alimentação em V PWM pode ser usada para diversas aplicações como por exemplocontrole de velocidade de motores variação da luminosidade de leds geração de sinais analógicos geração de sinais de áudio ADC O Atmega328 possui internamente um conversor AD de aproximação sucessivas de 10 bits de resolução apresenta apenas 6 canais como pode se verificar na placa Por existir apenas 1 conversor AD só poderá ser selecionado 1 canal por vez para conversão isso é feito através da configuração dos registradores internos ADC O conversor AD do Atemega328 possui 10 bits de resolução ou seja os valores entre 0 e Vref serão convertidos entre 0 e 1023 O clock máximo recomendado para essa resolução é 200 KHz que dará uma taxa de amostragem de aproximadamente 15KHz Exercício Este exercício deve ser desenvolvido utilizando a ferramenta tinkercad O objetivo é a revisão de todos os conceitos vistos em microprocessados Implementar um relógio no formato HHMMSS a ser exibido via comunicação serial O relógio deve permitir ajustes via GPIO A contagem do tempo deverá ser implementado com o uso de timer de hardware O led também deverá piscar uma vez por segundo O relógio também tem a funcionalidade de leitura da temperatura ambiente e alarme O alarme também deve ser configurado via GPIO e quando ativado deve emitir sons através de um buzzer com PWM variáveis