Frequencias PWM ou Digital Write?

Olá a todos, sou iniciante em microcontroladores, entao escolhi o arduino por poder programar em c++, preciso controlar 3 motores a base de frequencia, que tem a faixa entre 2 a 232hz, gostaria de saber se alguem conhece alguma forma de eu conseguir soltar essas 3 frequencias, elas vao variar de acordo com o valor vindo da funcao Serial.read(). Um abraço a todos!

Simples, você dá um analogWrite(val); onde val é o valor da sua frequência (lembrando que o arduino escreve de 0 a 255). E pra controlar os motores você pode usar esse esquema com transistores e diodos: http://www.flickr.com/photos/unavoidablegrain/331539446/ ou usar uma h-bridge, que é um chip que controla motores nos 2 sentidos, basta dar um analogWrite com os valores nas portas dele. Comprei o meu aqui, recomendo: http://tato.ind.br/detalhesproduto.asp?id=11

8-)

Ops, só esqueci que no analogWrite(val) tem também a porta na qual você quer escrever, lembrando que só dá nas que está escrito PWM

Com o PWM nao funcionou, agora com a função tone(pin, freq), funcionou, porém quando escrevo valores entre 0 e 30 o arduino solta somente 30hz, apos os 30hz funciona perfeitamente.

tem algumaforma de se reduzir essa frequencia, para q ela atinja o intervalo entre 0hz e 232hz?

Eu estou com uma dúvida semelhante, tenho 4 motores brushless com speed controls ligados a eles e ligados aos pinos PWM do arduino.

Com a biblioteca Servo e ServoTimer2 consegui alguns resultados, mas não consigo até agora controlá-los simultaneamente variando individualmente suas velocidades.

Alguem saberia me dizer como eu poderia controlá-los?

Obrigado!

Já resolvi, utilizei a função tone, porem ao testar o arduino nao consegui utilizar frequencias abaixo de 30hz. entao utilizei uma array de flip flops JK em para fazer um divisor de frequencia, atualmente estou utilizando o ci 74ls93 q ja vem com os flip flops ligados.