Introduction: Arduíno Tutorial - PWM Output - LED - Monitor Serial

Neste tutorial iremos falar sobre uma característica especial que algumas das saídas digitais do Arduíno UNO possuem. Essas saídas estão identificadas através de um pequeno símbolo parecido com um sinal analógico. Esses pinos são o 3, 5, 6, 9, 10 e 11 (Ver imagem acima), isto significa que esses pinos também podem ter a função designada de PWM, ou seja, Pulse Width Modulation.

O que é a função Pulse Width Modulation?

Esta função permite colocar nas saídas destes pinos, sinais digitais modelados com uma determinada frequência, podendo com esta função controlar o intervalo de tempo que um determinado pino está em nível alto.

Assim se um sinal digital estiver em nível alto metade desse intervalo de tempo, podemos dizer que esse sinal digital tem um ciclo de trabalho de 50%, assemelhando-se a uma onda quadrada ideal. Por outro lado, se a percentagem for superior a 50%, por exemplo 80%, esse sinal digital ficará mais tempo em nível alto do que em nível baixo, no caso do ciclo de trabalho ser inferior a 50% o sinal digital ficará mais tempo em nível baixo (Ver gráfico acima).

Esta função pode ser utilizada para diversas aplicações, como por exemplo:

  • Controlo de velocidade de motores;
  • Variação da luminosidade de LED;
  • Geração de sinais modelados;
  • Geração de sinais de áudio;

Para ser mais fácil a compreensão do funcionamento desta função no Arduíno UNO, iremos mostrar-vos uma montagem, cujo o objectivo é fazer piscar um LED, mas variando a sua luminosidade ao longo do tempo.

Step 1: Montagem

Apesar de esta montagem ser bastante simples utilizamos uma Breadboard, pois é muito fácil de trabalhar e ajuda a organizar as ligações entre os componentes electrónicos, bastando apenas encaixar os componentes e cablagens nos buracos. No entanto temos de ter atenção às ligações internas da Breadboard, pois podem variar consoante os modelos (Ver modelo utilizado acima).

Material necessário:

  • 1x Arduíno UNO;
  • 1x Cabo USB;
  • 1x LED Vermelho;
  • 1x Resistência 1KΩ.

Não se esqueçam, que os LED só funcionam se directamente polarizados, ficando assim o pino positivo ligado ao pino digital escolhido e o pino negativo ligado ao pino GND do Arduíno (Ver imagem acima). Alem a sua polarização não esquecer também de ligar o LED em serie com uma resistência eléctrica de 1KΩ, evitando assim que este se danifique quando o ligarmos.

Step 2: Codigo

Depois de terminarmos a montagem carregamos o código na placa do Arduíno, no entanto vou realçar a utilização da função "AnalogWrite", que tem a finalidade de configurar as saídas digitais como saídas PWM, e a Communication Serial que permite verificar e acompanhar visualmente a alteração dos valores das variáveis ao longo do tempo.

int LED = 11;          //Variável para selecção do pino PWM
int Brilho = 0;        //Variável para o definição do brilho do LED
int Quantidade = 5;    //Variável para a quantidade de brilho

//Correr a função SETUP apenas uma vez após ser pressionado Reset:
void setup() {
	//Definição do tipo de pino PWM (Saída ou entrada):
	pinMode(LED, OUTPUT);

	//Iniciar a  Communication Serial a 9600b/s:

Serial.begin(9600);
}
//Correr a função LOOP repetidamente:
void loop() {
	//Liga o LED com o brilho definido:
	analogWrite(LED, Brilho);
	//Alterar o brilho do LED:
	Brilho = Brilho + Quantidade;
	//Se o brilho estiver no mínimo ou no máximo (Min=0 e Max=255):
	if (Brilho <= 0 || Brilho >= 255) {
		//Inverter a quantidade de brilho do led (Valor Negativo ou Positivo).
		Quantidade = - Quantidade;
	}

	//Digita no monitor serial o valor da variável:
	Serial.println(Brilho);

	//Atraso para o próximo passo:
	delay(100);

Função Communication Serial:

Para visualizarmos essa informação na janela da função Communication Serial é necessário colocar estas funções no código dentro da função SETUP e função LOOP:

void setup() {
	//Iniciar a  Comunicação Serie a 9600b/s:
	Serial.begin(9600);
}

e

void loop() {
	//Digita no monitor serial o valor da variável:
	Serial.println(VARIAVEL); //"println" > Escreve e depois paragrafo abaixo.
				  ou
				  //"print" > Escreve na sempre na mesma linha.
}

Depois assim que carregamos no botão Communication Serial (Ver imagem acima) abre uma pequena janela onde será escrita a informação.

Caso queiram saber mais ou tenham dúvidas sobre estas e outras referências do código, vejam a sua explicação detalhada no site oficial do Arduíno, através deste Link "https://www.arduino.cc/en/Reference/HomePage".

Procurem os nossos tutoriais acerca do Arduíno, onde explicamos diversas montagens e o funcionamento dos seus componentes, já agora visitem o nosso canal no Youtube, Facebook ou Twitter.

Abraço e bons projectos.

Comments

About This Instructable

500views

15favorites

License:

Bio: Este é um canal para homemakers e DIY onde vai encontrar tutoriais úteis acerca de Electrónica, Arduíno, Robótica e Impressão 3D. Estes têm explicações simples ... More »
More by Crazy Taz Projects:Arduino Tutorial - Digital vs PWM OutputArduíno Tutorial - PWM Output - LED - Monitor SerialArduíno Tutorial - Digital Output – LED
Add instructable to: