Buscar

Atuadores para projetos Arduino - Exercícios

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1. 
Os motores de corrente contínua (motor DC) são utilizados, geralmente, em robôs móveis no seu sistema de locomoção, pois seu baixo custo e grande versatilidade no controle de velocidade garantem sua navegação dentro de um ambiente de trabalho. Você pode encontrar esse tipo de motor em diversos equipamentos, como por exemplo: dispositivos domésticos (leitor de DVD ou Blu-ray) e brinquedos. Sobre esse tipo de motor, é correto afirmar que:​​​​​​​
Resposta incorreta.
A. 
a rotação desse tipo de motor acontece devido ao campo magnético da terra, que faz o motor girar nos sentidos horário e anti-horário.
A rotação acontece por causa do campo magnético criado pela corrente gerada pela ligação de uma bateria ou de uma fonte de alimentação CC, e o sentido de rotação vai depender da polarização dos terminais que provocam uma mudança no sentido do campo magnético gerado.
Os motores DC é um tipo de motor energizado com uma corrente contínua, que pode ser proveniente de pilhas/baterias ou de uma fonte de alimentação CC (carregadores de celular, fonte chaveada ou comutada).
Para se controlar um motor DC são necessárias correntes mais altas dos que as fornecidas pelos microcontroladores, pois eles têm limitação de corrente nos pinos de saída. O Arduino, por exemplo, fornece uma corrente de saída nos seus pinos de 40 mA. Esse valor não é suficiente para rotacionar o motor DC na sua máxima eficiência e muito menos iniciar o movimento de rotação (sair da inércia) do motor DC.
Esse tipo de motor é recomendado para aplicações que exigem torque preciso e acionamento de velocidade.
Resposta incorreta.
B. 
o motor DC tem dois terminais que só podem ser energizados com polaridade direta e, caso sua polarização seja invertida, poderá queimar o motor.
A rotação acontece por causa do campo magnético criado pela corrente gerada pela ligação de uma bateria ou de uma fonte de alimentação CC, e o sentido de rotação vai depender da polarização dos terminais que provocam uma mudança no sentido do campo magnético gerado.
Os motores DC é um tipo de motor energizado com uma corrente contínua, que pode ser proveniente de pilhas/baterias ou de uma fonte de alimentação CC (carregadores de celular, fonte chaveada ou comutada).
Para se controlar um motor DC são necessárias correntes mais altas dos que as fornecidas pelos microcontroladores, pois eles têm limitação de corrente nos pinos de saída. O Arduino, por exemplo, fornece uma corrente de saída nos seus pinos de 40 mA. Esse valor não é suficiente para rotacionar o motor DC na sua máxima eficiência e muito menos iniciar o movimento de rotação (sair da inércia) do motor DC.
Esse tipo de motor é recomendado para aplicações que exigem torque preciso e acionamento de velocidade.
Você acertou!
C. 
o motor DC é energizado com uma corrente contínua, que pode ser proveniente de pilhas/baterias ou de uma fonte de alimentação de corrente contínua.
A rotação acontece por causa do campo magnético criado pela corrente gerada pela ligação de uma bateria ou de uma fonte de alimentação CC, e o sentido de rotação vai depender da polarização dos terminais que provocam uma mudança no sentido do campo magnético gerado.
Os motores DC é um tipo de motor energizado com uma corrente contínua, que pode ser proveniente de pilhas/baterias ou de uma fonte de alimentação CC (carregadores de celular, fonte chaveada ou comutada).
Para se controlar um motor DC são necessárias correntes mais altas dos que as fornecidas pelos microcontroladores, pois eles têm limitação de corrente nos pinos de saída. O Arduino, por exemplo, fornece uma corrente de saída nos seus pinos de 40 mA. Esse valor não é suficiente para rotacionar o motor DC na sua máxima eficiência e muito menos iniciar o movimento de rotação (sair da inércia) do motor DC.
Esse tipo de motor é recomendado para aplicações que exigem torque preciso e acionamento de velocidade.
Resposta incorreta.
D. 
a corrente fornecida pelos pinos do Arduino é suficiente para rotacionar o motor e, então, não sendo necessário um circuito de acionamento para fazer a interface com a placa Arduino.
A rotação acontece por causa do campo magnético criado pela corrente gerada pela ligação de uma bateria ou de uma fonte de alimentação CC, e o sentido de rotação vai depender da polarização dos terminais que provocam uma mudança no sentido do campo magnético gerado.
Os motores DC é um tipo de motor energizado com uma corrente contínua, que pode ser proveniente de pilhas/baterias ou de uma fonte de alimentação CC (carregadores de celular, fonte chaveada ou comutada).
Para se controlar um motor DC são necessárias correntes mais altas dos que as fornecidas pelos microcontroladores, pois eles têm limitação de corrente nos pinos de saída. O Arduino, por exemplo, fornece uma corrente de saída nos seus pinos de 40 mA. Esse valor não é suficiente para rotacionar o motor DC na sua máxima eficiência e muito menos iniciar o movimento de rotação (sair da inércia) do motor DC.
Esse tipo de motor é recomendado para aplicações que exigem torque preciso e acionamento de velocidade.
Resposta incorreta.
E. 
o motor DC é muito utilizado em aplicações que exigem precisão nos posicionamentos discretos e maior estabilidade nos movimentos de rotação.
A rotação acontece por causa do campo magnético criado pela corrente gerada pela ligação de uma bateria ou de uma fonte de alimentação CC, e o sentido de rotação vai depender da polarização dos terminais que provocam uma mudança no sentido do campo magnético gerado.
Os motores DC é um tipo de motor energizado com uma corrente contínua, que pode ser proveniente de pilhas/baterias ou de uma fonte de alimentação CC (carregadores de celular, fonte chaveada ou comutada).
Para se controlar um motor DC são necessárias correntes mais altas dos que as fornecidas pelos microcontroladores, pois eles têm limitação de corrente nos pinos de saída. O Arduino, por exemplo, fornece uma corrente de saída nos seus pinos de 40 mA. Esse valor não é suficiente para rotacionar o motor DC na sua máxima eficiência e muito menos iniciar o movimento de rotação (sair da inércia) do motor DC.
Esse tipo de motor é recomendado para aplicações que exigem torque preciso e acionamento de velocidade.
2. 
O circuito de acionamento de motores DC, utilizando a plataforma Arduino, mais simples para você montar, é composto de um transistor, um resistor e um diodo. Nesse circuito, o transistor funciona como uma chave de liga e desliga e permite controlar o motor utilizando apenas um pino de saída digital do Arduino. Sobre o circuito é correto afirmar:​​​​​​​
Você acertou!
A. 
O pino do emissor está ligado ao GND, a base está ligada ao pino 11 do Arduino em série com um resistor e o pino coletor está ligado à alimentação 5V em série com o diodo e o motor.
O transistor possui três terminais - base, coletor e emissor. O pino da base controla a passagem de corrente do coletor para o emissor, por isso deverá estar ligada a um pino do Arduino, por exemplo, 11. A corrente deve circular do coletor para o emissor; por convenção, a corrente circula do polo positivo para o negativo, portanto o pino coletor está ligado à alimentação 5V em série com o diodo e o motor, e o pino do emissor deve ser ligado ao GND.
Resposta incorreta.
B. 
O pino do coletor está ligado ao GND, o emissor está ligado ao pino 11 do Arduino em série com um resistor e o pino da base está ligada à alimentação 5V em série com o diodo e o motor.
O transistor possui três terminais - base, coletor e emissor. O pino da base controla a passagem de corrente do coletor para o emissor, por isso deverá estar ligada a um pino do Arduino, por exemplo, 11. A corrente deve circular do coletor para o emissor; por convenção, a corrente circula do polo positivo para o negativo, portanto o pino coletor está ligado à alimentação 5V em série com o diodo e o motor, e o pino do emissor deve ser ligado ao GND.
Resposta incorreta.
C. 
O pino da base está ligado ao GND, o coletor está ligado ao pino 11 do Arduino em série com um resistor eo pino emissor está ligado à alimentação 5V em série com o diodo e o motor.
O transistor possui três terminais - base, coletor e emissor. O pino da base controla a passagem de corrente do coletor para o emissor, por isso deverá estar ligada a um pino do Arduino, por exemplo, 11. A corrente deve circular do coletor para o emissor; por convenção, a corrente circula do polo positivo para o negativo, portanto o pino coletor está ligado à alimentação 5V em série com o diodo e o motor, e o pino do emissor deve ser ligado ao GND.
Resposta incorreta.
D. 
O pino da base está ligado ao GND, o emissor está ligado ao pino 11 do Arduino em série com um resistor e o pino coletor está ligado à alimentação 5V em série com o diodo e o motor.
O transistor possui três terminais - base, coletor e emissor. O pino da base controla a passagem de corrente do coletor para o emissor, por isso deverá estar ligada a um pino do Arduino, por exemplo, 11. A corrente deve circular do coletor para o emissor; por convenção, a corrente circula do polo positivo para o negativo, portanto o pino coletor está ligado à alimentação 5V em série com o diodo e o motor, e o pino do emissor deve ser ligado ao GND.
Resposta incorreta.
E. 
O pino do coletor está ligado ao GND, a base está ligada ao pino 11 do Arduino em série com um resistor e o pino emissor está ligado à alimentação 5V em série com o diodo e o motor.
O transistor possui três terminais - base, coletor e emissor. O pino da base controla a passagem de corrente do coletor para o emissor, por isso deverá estar ligada a um pino do Arduino, por exemplo, 11. A corrente deve circular do coletor para o emissor; por convenção, a corrente circula do polo positivo para o negativo, portanto o pino coletor está ligado à alimentação 5V em série com o diodo e o motor, e o pino do emissor deve ser ligado ao GND.
3. 
A ponte H é um circuito eletrônico que possibilita controlar o sentido de rotação do motor DC, além de fornecer a tensão e a corrente necessárias para o seu funcionamento. Existem vários shields ou módulos de ponte H para acionar um motor DC com o Arduino. Sobre o módulo ponte H L298N, é correto afirmar que:
Resposta incorreta.
A. 
o pino IN1 faz uma conexão para o GND da fonte de alimentação externa.
O pino IN1 pode ser usado para controle de velocidade de rotação do MOTOR A, quando ligado a um pino de PWM do Arduino.
O pino IN2 pode ser usado para controlar o sentido de giro do motor. É um sinal lógico fornecido pelo Arduino: HIGH = horário, LOW = anti-horário.
O pino OUT A deve ser ligado a um dos terminais do motor. O pino ENA habilita (1) /desabilita (0) motor A – jumper disponível.
Esse módulo L298N é chamado ponte H dupla, pois ela pode controlar até dois motores de forma independente.
Você acertou!
B. 
o pino IN2 pode ser usado para controlar o sentido de giro do motor.
O pino IN1 pode ser usado para controle de velocidade de rotação do MOTOR A, quando ligado a um pino de PWM do Arduino.
O pino IN2 pode ser usado para controlar o sentido de giro do motor. É um sinal lógico fornecido pelo Arduino: HIGH = horário, LOW = anti-horário.
O pino OUT A deve ser ligado a um dos terminais do motor. O pino ENA habilita (1) /desabilita (0) motor A – jumper disponível.
Esse módulo L298N é chamado ponte H dupla, pois ela pode controlar até dois motores de forma independente.
Resposta incorreta.
C. 
o pino OUT_A pode ser usado para controle de velocidade de rotação do MOTOR A.
O pino IN1 pode ser usado para controle de velocidade de rotação do MOTOR A, quando ligado a um pino de PWM do Arduino.
O pino IN2 pode ser usado para controlar o sentido de giro do motor. É um sinal lógico fornecido pelo Arduino: HIGH = horário, LOW = anti-horário.
O pino OUT A deve ser ligado a um dos terminais do motor. O pino ENA habilita (1) /desabilita (0) motor A – jumper disponível.
Esse módulo L298N é chamado ponte H dupla, pois ela pode controlar até dois motores de forma independente.
Resposta incorreta.
D. 
o pino ENA deve ser ligado a um dos terminais do motor.
O pino IN1 pode ser usado para controle de velocidade de rotação do MOTOR A, quando ligado a um pino de PWM do Arduino.
O pino IN2 pode ser usado para controlar o sentido de giro do motor. É um sinal lógico fornecido pelo Arduino: HIGH = horário, LOW = anti-horário.
O pino OUT A deve ser ligado a um dos terminais do motor. O pino ENA habilita (1) /desabilita (0) motor A – jumper disponível.
Esse módulo L298N é chamado ponte H dupla, pois ela pode controlar até dois motores de forma independente.
Resposta incorreta.
E. 
a ponte H permite o controle do sentido de rotação de apenas um motor.
O pino IN1 pode ser usado para controle de velocidade de rotação do MOTOR A, quando ligado a um pino de PWM do Arduino.
O pino IN2 pode ser usado para controlar o sentido de giro do motor. É um sinal lógico fornecido pelo Arduino: HIGH = horário, LOW = anti-horário.
O pino OUT A deve ser ligado a um dos terminais do motor. O pino ENA habilita (1) /desabilita (0) motor A – jumper disponível.
Esse módulo L298N é chamado ponte H dupla, pois ela pode controlar até dois motores de forma independente.
4. 
Muitas vezes, no circuito de acionamento com transistor é possível utilizar um transistor do tipo PNP (BC640, por exemplo) ao invés do NPN. A troca do tipo de transistor não altera a montagem do circuito, mas afeta a forma de ligar e desligar o motor, bem como a lógica de programação. Marque a alternativa com o funcionamento desse tipo de transistor e a lógica de programação corretas.
Você acertou!
A. 
O circuito utilizando um transistor do tipo PNP é necessário para ligar o motor em um nível de tensão baixo (0V, LOW) no pino de saída do Arduino e para desligar o motor um nível de tensão alto (5V, HIGH). Assim, a lógica de programação o comando digitalWrite (MOTOR, LOW) liga o motor DC na sua máxima eficiência e o comando digitalWrite (MOTOR, HIGH) desliga o motor.
O transistor do tipo PNP trabalha com lógica invertida em relação ao NPN, assim para acioná-lo (ligá-lo) é necessário colocar nível lógico 0 no pino da base, e para desacioná-lo (desligá-lo) nível lógico 1. Desse modo, a lógica de programação também será invertida; o comando digitalWrite (MOTOR, LOW) ligará o motor DC na sua máxima eficiência, pois esse comando coloca nível de tensão baixo (0V) no pino de saída digital, e o comando digitalWrite (MOTOR, HIGH) desliga o motor, porque esse comando coloca nível de tensão alto (5V).
Resposta incorreta.
B. 
O circuito utilizando um transistor do tipo PNP é necessário para ligar o motor em um nível de tensão alto (5V, HIGH) no pino de saída do Arduino e para desligar o motor um nível de tensão baixo (0V, LOW). Assim, a lógica de programação o comando digitalWrite (MOTOR, LOW) liga o motor DC na sua máxima eficiência e o comando digitalWrite (MOTOR, HIGH) desliga o motor.
O transistor do tipo PNP trabalha com lógica invertida em relação ao NPN, assim para acioná-lo (ligá-lo) é necessário colocar nível lógico 0 no pino da base, e para desacioná-lo (desligá-lo) nível lógico 1. Desse modo, a lógica de programação também será invertida; o comando digitalWrite (MOTOR, LOW) ligará o motor DC na sua máxima eficiência, pois esse comando coloca nível de tensão baixo (0V) no pino de saída digital, e o comando digitalWrite (MOTOR, HIGH) desliga o motor, porque esse comando coloca nível de tensão alto (5V).
Resposta incorreta.
C. 
O circuito utilizando um transistor do tipo PNP é necessário para ligar o motor em um nível de tensão alto (5V, HIGH) no pino de saída do Arduino e para desligar o motor um nível de tensão baixo (0V, LOW). Assim a lógica de programação o comando digitalWrite (MOTOR, HIGH) liga o motor DC na sua máxima eficiência e o comando digitalWrite (MOTOR, LOW) desliga o motor.
O transistor do tipo PNP trabalha com lógica invertida em relação ao NPN, assim para acioná-lo (ligá-lo) é necessário colocar nível lógico 0 no pino da base, e para desacioná-lo (desligá-lo) nível lógico 1. Desse modo, a lógica de programação também será invertida;o comando digitalWrite (MOTOR, LOW) ligará o motor DC na sua máxima eficiência, pois esse comando coloca nível de tensão baixo (0V) no pino de saída digital, e o comando digitalWrite (MOTOR, HIGH) desliga o motor, porque esse comando coloca nível de tensão alto (5V).
Resposta incorreta.
D. 
O circuito utilizando um transistor do tipo PNP é necessário para ligar o motor em um nível de tensão baixo (0V, LOW) no pino de saída do Arduino e para desligar o motor um nível de tensão alto (5V, HIGH). Assim, a lógica de programação o comando digitalWrite (MOTOR, HIGH) liga o motor DC na sua máxima eficiência e o comando digitalWrite (MOTOR, LOW) desliga o motor.
O transistor do tipo PNP trabalha com lógica invertida em relação ao NPN, assim para acioná-lo (ligá-lo) é necessário colocar nível lógico 0 no pino da base, e para desacioná-lo (desligá-lo) nível lógico 1. Desse modo, a lógica de programação também será invertida; o comando digitalWrite (MOTOR, LOW) ligará o motor DC na sua máxima eficiência, pois esse comando coloca nível de tensão baixo (0V) no pino de saída digital, e o comando digitalWrite (MOTOR, HIGH) desliga o motor, porque esse comando coloca nível de tensão alto (5V).
Resposta incorreta.
E. 
O circuito utilizando um transistor do tipo PNP é necessário para ligar ou desligar o motor em um nível de tensão alto (5V, HIGH) no pino de saída do Arduino. Assim, a lógica de programação comandará o acionamento por meio do tempo que o comando digitalWrite (MOTOR, HIGH) ficará ativo, 1 segundo para o motor ligado e 2 segundos para o motor desligado.
O transistor do tipo PNP trabalha com lógica invertida em relação ao NPN, assim para acioná-lo (ligá-lo) é necessário colocar nível lógico 0 no pino da base, e para desacioná-lo (desligá-lo) nível lógico 1. Desse modo, a lógica de programação também será invertida; o comando digitalWrite (MOTOR, LOW) ligará o motor DC na sua máxima eficiência, pois esse comando coloca nível de tensão baixo (0V) no pino de saída digital, e o comando digitalWrite (MOTOR, HIGH) desliga o motor, porque esse comando coloca nível de tensão alto (5V).
5. 
Muitas aplicações requerem a utilização de Modulação por Largura de Pulso (ou PWM em inglês), tais como variar a intensidade de um lede, ou mesmo controlar a posição de um servomotor. Seguidamente, se apresenta um trecho de código em C que utiliza o módulo de PWM, nesta aplicação é apresentado o aumento da velocidade de um motor de corrente continua, onde ser realiza um incremento de 25% da velocidade em cada estágio. Os valores de PWM inseridos no comando “digitalWrite”, irão aumentar a velocidade do motor de de 0 até 100% da velocidade (100% da velocidade corresponde ao valor 255). Seguidamente se apresenta esta implementação.
/* Aumentando a velocidade do motor */
//Ciclo ativo 0%
digitalWrite (MOTOR, 0);
delay(2000); //Espera 2s ou 2000 milisegundos
//Ciclo ativo 25%
digitalWrite (MOTOR, 64);
delay(2000); //Espera 2s ou 2000 milisegundos
//Ciclo ativo 50%
digitalWrite (MOTOR, 128);
delay(2000); //Espera 2s ou 2000 milisegundos
//Ciclo ativo 75% digitalWrite (MOTOR, 171);
delay(2000); //Espera 2s ou 2000 milisegundos
//Ciclo ativo 100%
digitalWrite (MOTOR, 255);
delay(2000); //Espera 2s ou 2000 milisegundos
Porém, é possível utilizar o laço “for”, e desta forma diminuir as linhas no código significativamente. Assinale a alternativa correta que contém o trecho de código utilizando o laço de repetição “for” que executa a mesma função de aumentar a velocidade incrementando 25% a cada 2 segundos mostrada no trecho de código acima.
Resposta incorreta.
A. 
for (int i=0; i<=100; i=i+25) //Ciclo ativo PWM
{
analogWrite (MOTOR, 255*i);
delay(2000); //Espera 2s
} //Fim ciclo for
Para o incremento do valor do PWM em 25% a cada interação do comando for, podemos realizar a seguinte conta:
25% =25/100= 0.25
ou seja, a variável "i" que multiplicará o valor de 100% do PWM (255*i) deverá conter um valor decimal (float) e não inteiro (int). Desta forma, a opção A, B e C, os parâmetros do comando “for” estão incorretos, pois a variável “i” está definida como inteiro. Na opção A a contagem é incrementada em 25, e não em 0.25 como deveria. Na opção B acontece um decremento em 0.25, o que é incorreto, já na opção C acontece um decremento em 25, o que também é incorreto. A opção E não é correta, pois sim é possível a implementação do código com o ciclo “for”. A opção correta é a opção D, aqui a variável “i” fui definida como “float” e a contagem será realizada corretamente.
Resposta incorreta.
B. 
for (int i=1; i>=0; i=i-0.25) //Ciclo ativo PWM
{
analogWrite (MOTOR, 255*i);
delay(2000); //Espera 2s
} //Fim do ciclo for
Para o incremento do valor do PWM em 25% a cada interação do comando for, podemos realizar a seguinte conta:
25% =25/100= 0.25
ou seja, a variável "i" que multiplicará o valor de 100% do PWM (255*i) deverá conter um valor decimal (float) e não inteiro (int). Desta forma, a opção A, B e C, os parâmetros do comando “for” estão incorretos, pois a variável “i” está definida como inteiro. Na opção A a contagem é incrementada em 25, e não em 0.25 como deveria. Na opção B acontece um decremento em 0.25, o que é incorreto, já na opção C acontece um decremento em 25, o que também é incorreto. A opção E não é correta, pois sim é possível a implementação do código com o ciclo “for”. A opção correta é a opção D, aqui a variável “i” fui definida como “float” e a contagem será realizada corretamente.
Resposta incorreta.
C. 
for (int i=100; i>=0; i=i-25) //Ciclo ativo PWM
{
analogWrite (MOTOR, 255*i);
delay(2000); //Espera 2s
}//Fim do ciclo for
Para o incremento do valor do PWM em 25% a cada interação do comando for, podemos realizar a seguinte conta:
25% =25/100= 0.25
ou seja, a variável "i" que multiplicará o valor de 100% do PWM (255*i) deverá conter um valor decimal (float) e não inteiro (int). Desta forma, a opção A, B e C, os parâmetros do comando “for” estão incorretos, pois a variável “i” está definida como inteiro. Na opção A a contagem é incrementada em 25, e não em 0.25 como deveria. Na opção B acontece um decremento em 0.25, o que é incorreto, já na opção C acontece um decremento em 25, o que também é incorreto. A opção E não é correta, pois sim é possível a implementação do código com o ciclo “for”. A opção correta é a opção D, aqui a variável “i” fui definida como “float” e a contagem será realizada corretamente.
Você acertou!
D. 
for (int i=100; i>=0; i=i-25) //Ciclo ativo PWM
{
analogWrite (MOTOR, 255*i); delay(2000); //Espera 2s
}//Fim do ciclo for
Para o incremento do valor do PWM em 25% a cada interação do comando for, podemos realizar a seguinte conta:
25% =25/100= 0.25
ou seja, a variável "i" que multiplicará o valor de 100% do PWM (255*i) deverá conter um valor decimal (float) e não inteiro (int). Desta forma, a opção A, B e C, os parâmetros do comando “for” estão incorretos, pois a variável “i” está definida como inteiro. Na opção A a contagem é incrementada em 25, e não em 0.25 como deveria. Na opção B acontece um decremento em 0.25, o que é incorreto, já na opção C acontece um decremento em 25, o que também é incorreto. A opção E não é correta, pois sim é possível a implementação do código com o ciclo “for”. A opção correta é a opção D, aqui a variável “i” fui definida como “float” e a contagem será realizada corretamente.
Resposta incorreta.
E. 
Não é possível reescrever o trecho mostrado na questão utilizando o comando for.
Para o incremento do valor do PWM em 25% a cada interação do comando for, podemos realizar a seguinte conta:
25% =25/100= 0.25
ou seja, a variável "i" que multiplicará o valor de 100% do PWM (255*i) deverá conter um valor decimal (float) e não inteiro (int). Desta forma, a opção A, B e C, os parâmetros do comando “for” estão incorretos, pois a variável “i” está definida como inteiro. Na opção A a contagem é incrementada em 25, e não em 0.25 como deveria. Na opção B acontece um decremento em 0.25, o que é incorreto, já na opção C acontece um decremento em 25, o que também é incorreto. A opçãoE não é correta, pois sim é possível a implementação do código com o ciclo “for”. A opção correta é a opção D, aqui a variável “i” fui definida como “float” e a contagem será realizada corretamente.

Continue navegando