Desafio 76 - Projeto I05

Motor muda velocidade por comunicação serial

Com base no projeto I05 - Controlando um motor DC com Arduino, transistor e potenciômetro resolva os seguintes desafios:

 

1. Utilizando o recurso de comunicação serial entre o computador e o Arduino, altere o scketch do projeto original para criar um sistema onde você digita um valor (entre 0 e 255) e o motor DC altera a sua velocidade de acordo com o valor digitado. O valor de 0 a 255 deve ser definido em função do Arduino Uno que utiliza um microcontrolador ATmega328 com 8 bits de resolução para a modulação PWM. Portanto, com o valor 0 o motor fica parado e o com valor 255 o motor atinge a velocidade máxima.

Domine o PWM com Wagner Rambo - Embarcados

2. Substitua os 3 leds do projeto original por um led RGB. Utilizando também o PWM, controle o led RGB para alterar a sua cor do verde para o amarelo e do amarelo para o vermelho dependendo da velocidade do motor DC. Use como parâmetro os valores do projeto origianal (0 a 85 - verde, 85 a 170 amarelo e de 170 a 255 vermelho).

3.  Altere o item 1 do desafio fazendo com que pressionando a leta "A" a velocidade do motor reduzida até 0 (motor parado) e pressionando a letra "D" a velocidade do motor é aumentada até 255 (velocidade máxima).

Dicas e orientações

a) Para o desafio do item 1, utilize a comunicação serial entre o teclado e o Arduino. Veja o projeto abaixo que ajudará na programação:

b) Para o desafio do item 2, encontre nos projetos abaixo a melhor forma para alterar a cor do led RGB. Você poderá mudar a cor apenas para cada faixa de velocidade do motor, ou criar um forma gradativa de alteração da cor indo do verde para o amarelo e do amarelo para o vermelho. Use a sua criatividade. Veja os projetos abaixo que que ajudarão na montagem do led RGB e na programação:

c) Para o desafio 3, inicie acrescentando 2 botões (push button) fazendo com que o botão da esquerda diminua a velocidade e o da direita aumente a velocidade do motor DC. Como sugestão, use como incremento e decremento o valor de 10 para cada clique. Depois que o projeto estiver funcionando perfeitamente com os botões, adapte o código para que com a comunicação serial do computador para o Arduino, as teclas "A" e "D" possam substituir os botões.

Sugestão: Use os métodos Serial.readString() stream.setTimeout() para fazer a leitura das teclas.

Comentários

Compartilhe:

Doações

Contribua pra manter o site online :)

Inscreva-se no canal Squids

Squids Arduino News

Básico - Hub 011 Acertar número aleatório usando potenciômetro - jogo   Sugerido por: Juliandrew Facundo Para iniciar o jogo deve-se pedir ao usuário que digite o valor 1 no teclado do comp...

Básico - Projeto 96 Acender e apagar um led batendo palmas consecutivas Objetivo O objetivo deste projeto é criar um circuito para acender e apagar um led ao bater seguidamente um número especí...

Desafio 87 - Projeto Maker 001 Controlando 2 motores com sensor de toque caseiro Com base no projeto M01 - Aprenda a fazer um sensor de toque de 4 teclas com Arduino resolva os seguintes desafi...

Básico - Hub 010 Fazer Piscar 2 usando a função millis()   Sugerido por: Jhulio Cesar Objetivo Monte um circuito com 2 LEDs (um vermelho e um verde) e faça um programa blink "duplo", que f...

Desafio 86 - Projeto hub009 Piscar led de acordo com o potenciômetro usando millis() Com base no Hub 009 - Piscar led de acordo com o potenciômetro em intervalos de 0.5 a 3 segundos - Arduino r...

Outros artigos

Mais: Básico Projetos Básicos Desafios Arduino Maker Dicas de Software

Você está preparado?

Topo