=======PWM========= PWM, do inglês //Pulse Width Modulation//, é um método para simular sinais analógicos utilizando sinais digitais. Essa técnica consiste na emissão de uma onda com frequência constante mas com períodos de nível lógico alto variado. Esse período é chamado de //duty cycle//. Abaixo se uma ilustração da "onda" gerada: \\ \\ {{ wiki:dutycycle.jpg?325x223 }} \\ Essa função funciona em algumas portas do Arduino, podem variar de acordo com a versão do Arduino e são sinalizadas, na maioria, com o símbolo “~” . No caso do Uno, as únicas portam quem comportam essa função são: 3, 5, 6, 9, 10 e 11. \\ \\ {{ :programacao-arduino:arduino.png?400 |}} \\ Para gerar esse tipo de onda, utilizamos a função //**analogWrite(pino, valor)**//, onde //**pino**// é o pino configurado como saída e //**valor**// é o //duty cycle//, podendo variar entre 0 (//0 % duty cycle//) e 255 (//100% duty cycle//). /* Código que gera na porta 3 uma saída que varia de 0 à 5 volts */ void setup() { // inicializa o pino como saída pinMode(3, OUTPUT); } void loop() { // Varia o duty cycle de 0 à 255 na porta 3 gerando tensões variadas for(int duty =0; duty<256; duty++) analogWrite(3,duty); }