LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: Skilgannon em 31 de Janeiro de 2010, 11:27
-
Olá a todas,
Tive o meu arduino a muito pouco tempo e entao estive a experimentar com ele.
Quando utilizo o exemplo fade no arduino, se ligo o LED ao pin 13 ( fazendo a devidas alteração no codigo), ele faz blink. Mas se ligo ao pin 9 ele já faz o fade correcto.
Alguem tem ideia do porque? Está estragado o arduino?
Cumprimentos
(edit)
Também não funciona com o pino 12, mas com o 11 já funciona.
-
Olá,
Posta o código e se possível o esquema de ligações que estás a fazer para te podermos ajudar ;)
PS: se estiveres a utilizar o AnalogWrite ele só funciona nos pins que dizem "PWM" nesse pin (11,10,9,6,5,3)
Se estiveres a utilizar uma biblioteca como a SoftwareServo, já podes fazer em qualquer pin.
-
Podes estar descansado que está a funcionar muito bem, o que acontece é que no pino 13 e 12 como são saidas digitais ele vai variar entre 0 ou 5V enquanto que nos 11 e 9 são saídas PWM (http://en.wikipedia.org/wiki/Pulse-width_modulation). Basicamente um saida PWM é uma onde quadrada na qual se pode alterar o dutty-cicle e como isso alterar a tensão média na saída.
-
O código está em baixo, eu só alterava o ledPin
mas deve ser como o metRo_ disse, o facto dos pinos não serem PWM
Muito obrigado =)
int ledPin =9;
void setup(){
}
void loop(){
for(int i=0;i<=255;i+=5){
analogWrite(ledPin,i);
delay(30);
}
for(int i=255;i>=0;i-=5){
analogWrite(ledPin,i);
delay(30);
}
}
-
o problema esta em declarares a variavel no ciclo for.
no segundo ciclo estas a dizer de novo que "i=0"
tens que fazer algo do genero:
i=someshit;
for(;i<=255;i+=5){}
penso eu que seja isto! não tenho aqui o arduino para te confirmar.
cumps
edit: desculpa la, eu ja estava a fazer confusão com um problema que tive e ja estava a dizer as coisas mal ... como foi dito o mais provável é devido aos pinos pwm.
cumps