MICROCONTROLADORES (PIC)
Nessa aula, os candidatos irão simular o desenvolvimento de um Sensor de Ré. Esse sensor identifica objetos próximos à ele e nos indica o quão perto ele está.
Last updated
Was this helpful?
Nessa aula, os candidatos irão simular o desenvolvimento de um Sensor de Ré. Esse sensor identifica objetos próximos à ele e nos indica o quão perto ele está.
Last updated
Was this helpful?
Download de Programas:
Antes da aula de Microcontroladores PIC, é importante que todos estejam com o MPLAB x IDE instalado. Entre na pasta do Drive e efetue o download.
Para o funcionamento da MPLAB x IDE, é necessário fazer a instalação do compilador do programa. Entre na pasta do Drive e efetue o download.
Material Oficial:
Confira o material disponibilizado pelos professores envolvendo conteúdos importantes na programação em C em microcontroladores PIC:
Material Adicional:
Confira as explicações sobre os conceitos mais complexos da atividade, incluindo: Timer, Conversor A/D, TMR0, ADRES, Flag, PWM, Sensor Sharp e muitos outros:
Mas afinal, o que é um Conversor A/D? No que consiste esse mecanismo interno do microcontrolador? Qual a sua principal função?
Um Conversor Analógico Digital é um dispositivo programável capaz de transformar um sinal analógico, disperso no tempo, em um sinal digital, organizado no tempo;
Quando convertido, este mesmo sinal torna-se “legível” por uma máquina (no caso o PIC);
O Conversor, por sua vez, quantifica esses valores de conversão eletronicamente dentro de um número finito de valores inteiros, determinado pela resolução do conversor (dada em Bits);
Logo, um Conversor de 8 Bits, por exemplo, com um sinal de entrada igual a +9V, transforma a tensão em valores legíveis por uma máquina, isto é, valores decimais entre 0 e 256;
Como 100% da tensão equivale a 9V, pode-se afirmar que 100% da conversão A/D, em decimal, equivale a 256. Assim, 1% da conversão A/D equivale à resolução de 35,16mV / Bit;
Observe que cada canal, desde o AN0 até o AN3, pode ser configurado tanto como entrada, quanto como saída, sendo ela analógica ou digital.
O valor numérico da conversão A/D (0 a 1023 - 10 Bits) pode ser manuseado pelo programador através do termo "ADRES".
Mas afinal, o que é um Timer? No que consiste esse mecanismo interno do microcontrolador? Qual a sua principal função?
Um Timer (ou temporizador) é um mecanismo registrador, de natureza programável, responsável por realizar contagens com base na frequência do PIC, seja ela interna ou externa;
Assim como o Conversor A/D, o Timer também constitui um módulo interno dentro do PIC e, por essa razão, sua medida é dada em Bits;
Para efetuar a contagem, o Timer, precisa, em tese, ter todas as suas “entradas” configuradas para obter o desempenho desejado;
Para que o Timer 0 funcione, é preciso definir os valores de frequência, a transição de borda (subida ou descida), o tipo de oscilação (interna/externa), o número de Bits (8 ou 16), a escala/período dos sinais das saídas do PIC, etc;
Quando o Timer 0 estiver configurado, ele será capaz de realizar diversas contagens: as mais simples (de 0 até 255 - 8 Bits), até outras mais complexas, partindo de valores diferentes de zero ou interrompendo-as para não atingir o valor máximo suportado pelo módulo;
Essa interrupção, ou esse “estouro” do Timer, só pode ser viabilizado pela Flag desde mesmo registrador, isto é, pela “bandeira” que sinaliza não somente o início, mas também o fim dessa mesma contagem.
Mas afinal, o que é um sinal PWM? No que consiste esse sinal? Como sintetizá-lo adequadamente?
O PWM é um recurso muito utilizado na programação para alterar o comportamento de uma determinada saída do microcontrolador;
Normalmente, o PWM é utilizado em robôs para variar a sua velocidade de acordo a necessidade do projetista;
Para variar a velocidade do motor, ou melhor, a largura do sinal PWM, a atividade, ao invés de um Sensor Sharp, utiliza um potenciômetro externo para controlar a variação da tensão que chega na entrada analógica do PIC;
Essa tensão (monitorada pelo Circuito do Potenciômetro) deve ser convertida e relacionada ao período (duty cycle) do sinal da saída do LED;
Nesse sentido, quanto MAIOR a largura do período em que o sinal PWM estiver EM NÍVEL ALTO, MAIOR a durabilidade do LED aceso. Se o circuito utilizasse uma carga potente, um motor por exemplo, mais rápida seria a sua rotação;
Por outro lado, quanto MENOR a largura do período em que o sinal PWM estiver EM NÍVEL ALTO, MENOR a durabilidade do LED aceso. Se o circuito utilizasse uma carga potente, um motor por exemplo, mais lenta seria a sua rotação.
Mas afinal, o que é um sinal Sensor Sharp? No que consiste esse componente? Como ele funciona?
Os Sensores Sharp são responsáveis pelo direcionamento e orientação do robô e detectar a distância do robô adversário;
O GP2Y0A21YK0F possui um rápido tempo de reação e um alcance de, aproximadamente, 10cm a 80cm de distância;
Sua interface conta com 3 pinos, dois referentes à alimentação do sensor (VCC e GND) e um referente à saída de dados, encarregada de fornecer valores analógicos inversamente proporcionais à distância lida, ou seja, quanto mais longe o adversário se encontra, menor a tensão enviada pelo sensor ao PIC;
Seu funcionamento consiste na divisão de três blocos: a) Unidade Controladora de Emissão, b) Unidade Controladora de Processamento de Sinais e um c) Circuito de Saída Analógica. Sendo assim:
a) Pode ser representada pela figura do LED emissor de luz infravermelha, responsável por rastrear e captar obstáculos que, porventura, se aproximem ou se afastem do sensor ao longo do tempo;
b) Pode ser representada pela figura do receptor infravermelho, responsável por ler o sinal emitido pelo LED emissor, através da reflexão da luz;
c) Circuito responsável por converter o sinal vindo da Unidade de Processamento em uma onda analógica equivalente à distância lida; • O Conversor A/D torna-se importante à medida que o sinal resultante da saída analógica do sensor Sharp, dispersa no tempo, precisa ser convertida em um sinal capaz de ser interpretado pelo PIC.
• Sem esse dispositivo, o módulo de Conversão A/D de 10 Bits do PIC não seria capaz de transformar o sinal da saída do sensor em uma faixa (convertida para decimal) de valores entre 0 e 1023.