MATLAB com PWM e entrada analógica

Arduino-e-MATLAB-destaque
Este post faz parte da série Arduino e MATLAB. Leia também os outros posts da série:

A placa Arduino suporta cinco funções do MATLAB para controle de sinais analógicos. As funções são: 

  • configurePin(): Usada para definir qual pino sera entrada/saída;
  • writePWMVoltage(): Usada paara escrever a tensão PWM no pino digital;
  • writePWMDutyCycle(): Usada para setar o ciclo PWM no pino digital;
  • readVoltage(): Usada para leitura analógica do pino referente.

Munidos dessas informações, iremos agora começar nosso tutorial. Teremos três experiências para fazer, que serão:

  1. Controle do LED RGB;
  2. Controle de luminosidade;
  3. Leitura analógica de um potenciômetro.

LET's GO!

Controle de LED RGB

O objetivo desse experimento é realizar o controle de um LED RGB através das portas PWM. Se você possuir um Arduino MEGA 2560, as portas PWM serão da 2 a 13, mas se você estiver utilizando um Arduino UNO, cuidado! Pois as portas PWM serão: 3, 5, 6, 9, 10 e 11.

MATLAB com PWM: Portas PWM do Arduino MEGA 2560
Figura 1 -  Portas PWM do Arduino MEGA 2560
Portas PWM do Arduino UNO.
Figura 2 - Portas PWM do Arduino UNO.

Antes de continuarmos, deveremos nos familiarizar com o LED RGB:

LED RGB - MATLAB com PWM
Figura 3 - LED RGB

Note que o LED RGB possui mais terminais que um LED comum. Esses terminais a mais são responsáveis por cada cor. A disposição desses terminais é: 

  • Terminal 1: Vermelho;
  • Terminal 2: Pino comum (anodo/catodo);
  • Terminal 3: Verde;
  • Terminal 4: Azul.

Para realizar essa experiência monte o seguinte circuito:

Esquemático das ligações Arduino e LED RGB
Figura 4 - Esquemático das ligações Arduino e LED RGB

Comece um novo script e digite seguinte código:

Lembre-se de salvar com o mesmo nome da função, ou seja, led_rgb. Execute o programa no command window do MATLAB com o nome que você salvou.

Luminosidade dos LEDs

Nesse experimento iremos controlar o brilho de um led através da tensão de cada. O suporte para MATLAB usando Arduino possui a função writePWMVoltage(), a qual seta a tensão nos pinos PWM. Antes de continuar faça o seguinte circuito:

Arduino e LED
Figura 5 - Arduino e LED

Digite o seguinte código:

Você perceberá que o LED fará o efeito de fade.

Leitura analógica

Este último projeto, você irá aprender a realizar uma leitura analógica entre o Arduino e o MATLAB. Iremos usar um potenciômetro de 10 kOhms.

Bom, pra começar, o que é um potenciômetro? Nada mais é do que um resistor que varia sua resistência. Apenas isso. Se você já possui alguma experiência com Arduino há algum tempo, com certeza já fez algum experimento usando um potenciômetro.

Potenciômetro
Figura 6 - Potenciômetro

Você deverá ligar o potenciômetro no Arduino da seguinte maneira. Um terminal extremo no 5V, o terminal do meio no pino analógico A0 e o outro terminal extremo no GND.

Ligação do potenciômetro no Arduino
Figura 7 - Ligação do potenciômetro no Arduino

Feitas as ligações, copie a programação abaixo. Lembre-se de salvar o programa com o mesmo nome da função.

Salve o programa com o nome de potentiometer logo depois execute o programa no “command window”.

Leitura do potenciômetro no MATLAB
Figura 8 - Leitura do potenciômetro no MATLAB

Uma leitura parecida com essa deve aparecer na tela do computador quando você girar o potenciômetro.

Referências

KURNIAWAN, Agus, Arduino Programming using MATLAB 1st Edition, 2015

Outros artigos da série

<< Blink no Arduino com MATLAB
Este post faz da série Arduino e MATLAB. Leia também os outros posts da série:
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Arduino » MATLAB com PWM e entrada analógica
Talvez você goste:
Comentários:

Deixe um comentário

avatar
  Notificações  
Notificar

Séries



Outros da Série

Menu