Quantos pinos PWM no Arduino Uno

Quantos pinos PWM no Arduino Uno
O PWM é um acrônimo de modulação de largura de pulso que é usada para obter saída em sinais pulsantes ou para criar uma saída de onda quadrada. Usando esta técnica, podemos interface os dispositivos analógicos com Arduino através de meios digitais. Arduino oferece várias maneiras de interface os periféricos. O PWM é um daqueles que controlam dispositivos como servo motores, motores DC e outros módulos analógicos.

PWM com Arduino

O PWM em Arduino possui uma ampla gama de aplicações usadas para controlar dispositivos analógicos usando sinais digitais. A saída dos pinos digitais do Arduino pode ser categorizada em dois níveis de tensão alta, que é 5V ou baixa, o que denota 0V. Usando PWM em Arduino, podemos gerar um sinal com frequência constante, mas com largura variável de pulso. Exemplo mais comum de uso de PWM em Arduino está controlando o brilho de um LED e controlando a velocidade de um motor.

O sinal de modulação da largura de pulso tem duas características seguintes:

  • Frequência: A frequência do sinal PWM indica a rapidez com que um ciclo será concluído. Como alternativa, a frequência do PWM decide a rapidez com que o sinal de saída alterna entre o estado alto e baixo.
  • Ciclo de serviço: Ele descreve a quantidade de tempo para a qual um sinal de saída permanece em alto estado como uma porcentagem da quantidade total de tempo necessária para concluir um ciclo.

Pinos PWM no Arduino Uno

Arduino UNO tem um total de 14 pinos de saída digital de entrada, desses pinos digitais 6 pinos PWM estão disponíveis no Arduino Uno Board. Nos pinos de E/S digital do Arduino UNO. O número de pinos de PWM varia de uma placa para outra.

A velocidade do contador em Arduino determina a frequência dos sinais de PWM. No Arduino Uno, o relógio é igual ao relógio do sistema dividido pelo valor de Prescalers. Três Prescalers armazenam o valor do balcão. Esses três prescaladores são conhecidos como: CS02, CS01 e CS00. Como o número total de pinos de PWM são 6, então três balcões são usados ​​em Arduino Uno, com Prescalers separados para controlar os pinos PWM.

Cronômetro/contra -registros Pinos PWM
TCCR0B Controla o pino 6 e 5
Tccr1b Controla o pino 9 e 10
TCCR2B Controla o pino 11 e 3

Cada um desses três registros pode configurar três faixas de frequência diferentes para sinais de PWM. Normalmente, por padrão, um Arduino UNO tem as seguintes frequências para pinos PWM:

Pinos Arduino Frequência PWM
5 e 6 980MHz
9, 10,11 e 3 500MHz

Como usar pinos PWM em Arduino

Pinos digitais no Arduino podem ser configurados usando pinmode (), DigitalRead () e DigitalWrite (). Aqui a função pinmode () define um pino como entrada e saída. Quando configuramos os pinos digitais como a função DigitalRead () é usada ao definir um pino como a função de saída digitalWrite () é usada.

analogwrite ()

Para configurar os pinos PWM, usamos analogwrite () função. Esta função escreve um valor analógico para um pino digital. Pode definir o ciclo de serviço do sinal PWM. Quando a função analogwrite é chamada em um pino específico, uma onda quadrada constante com ciclo de trabalho definido é gerado. Esta onda quadrada permanecerá lá até chamarmos de uma nova função analogWrite () para esse pin ou escrever um novo valor usando DigitalRead () ou DigitalWrite () Função.

Sintaxe

Analogwrite (PIN, Valor)

A função analogwrite () leva dois argumentos:

  • Alfinete: PIN cujo valor deve ser definido.
  • Valor: Descreve o ciclo de trabalho entre 0, que é baixo estado e 255, que é alto ou em estado.

Outro argumento que é opcional no caso de PWM é a frequência. Se isso não for especificado por padrão, é 500Hz.

O valor analogWrite () define o ciclo de trabalho para os sinais PWM:

  • Analogwrite (0) significa um sinal PWM com 0% do ciclo de trabalho.
  • Analogwrite (127) significa um sinal PWM com 50% de ciclo de trabalho.
  • Analogwrite (255) significa um sinal PWM com 100% de ciclo de trabalho.

Conclusão

PWM em Arduino é uma técnica ou método para controlar dispositivos analógicos usando sinais digitais. Todas as placas Arduino têm pinos de PWM a bordo. 6 pinos PWM estão presentes em Uno do total de 14 pinos digitais. Aqui discutimos como podemos configurar esses pinos usando a função analogwrite ().