Bom dia galera! To fazendo um projeto em Arduino que faz o sequinte: Movimenta um servo para +90 e -90 graus e enquanto isso dois led's aumentam e diminuem o brilho(fade). O servo e independente do led's. Então fiz esse codigo, porém os led's não acendem. Sou iniciante em Arduino e ainda não identifiquei o erro. Agradeço quem puder me ajudar.

#include <Servo.h>
Servo servo1;
int brilho = 0;
int variacao = 5;
int led1 =9;
int led2 =10;

void setup()
{
servo1.attach(11);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop()
{
{
servo1.write(0);
delay(500);
servo1.write(90);
delay(500);
}
{
analogWrite(led1, brilho);
analogWrite(led2, brilho);

brilho = brilho + variacao;
if (brilho == 0 || brilho == 255)
variacao = -variacao;
delay (30);
}
}

Exibições: 598

Responder esta

Respostas a este tópico

Bruno,

Tem certeza que quer fazer fade com o LEDs? Bom, para resolver um parte do problema, comece trocando o "analogWrite" para o "digitalWrite(led1, HIGH)". Pelo menos, conseguirá ver algo interessante.

Boa sorte!

Att.,

É um projeto de um robo, os led's (fade) são para os olhos. Então não quero so ligar os led's, quero um efeito a mais, ou então um pisca,

ok , ja fiz esses e funcionam muito bem! o problema é qndo insiro o codigo do servo. Os leds não acendem, mas o servo funciona perfeitamente.

Senhores, antes de tudo gostaria de dar uma dica, eu tenho por hábito colocar espaços nas dependências das funções, criando assim um visual prático para enteder as linhas de códigos, por exemplo:

void Setup()

   {

       servo1.attach(11);

       pinMode(led1,OUTPUT);

       pinMode(led2,OUTPUT); 

   }

Desta forma fica mais elegante e intelegível.     

Mas vamos ao seu problema, este não será o último, pois irá deperar com um monte de coisas que dará ou darão conflitos, isto porque a estrutura do compilador do Arduino já utilizar algumas funções do hardware do microcontrolador e com isto você terá estes problemas, por exemplo:

Ao utilizar os servos, a ide do arduino aloca a função pwm do microcontrolador e para gerar uma saída analógica ela também utiliza uma função pwm, como ambas estão tentando utilizar o mesmo modo, uma delas não funcionará corretamente.

Solução: O correto neste caso é você não utilizar funções prontas da ide do arduino, configurar três canais de pwm, 1 para o servo, outro para o led1 e um para o led2. Utilize os comandos do GCC, dentro da ide arduino, configurando o seu Hardware e o firmware na unha, assim posso te afirma que irá funcionar.

Mais uma coisa, qual o modelo da placa do Arduino que você está usando?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço