Olá!

Estou com um projeto onde eu estou utilizando um Micro SD card (foto anexa) com a biblioteca tMRpcm para reproduzir sons .WAV ao abrir a tampa de uma caixa com um servo motor Futaba s3003. Tenho problemas para reproduzir arquivos .wav e operar um servo ao mesmo tempo. O servo deve abrir ou fechar enquanto toca um som .wav (aberta ou fechada), mas meu código apenas toca o som ou varre o servo, mas não ambos.

Alguém já teve sucesso com essa combinação? 
Segue código anexo.

Exibições: 313

Anexos

Responder esta

Respostas a este tópico

Qual Arduíno você está utilizando, o UNO?


Isso pode ser conflito entre bibliotecas caso a biblioteca do seu Micro SD card use o mesmo Timer da biblioteca do servo (aí não tem como os 2 funcionarem ao mesmo tempo mesmo).

Veja abaixo uma tabela sobre os 3 Timers do Arduino UNO e quais pinos do Arduino eles controlam:

Note que são todos pinos de PWM. Então se você (ou sua biblioteca) estiver usando o Timer 1, por exemplo, você não poderá usar nada nas portas 9 e 10 que precisem do PWM para funcionar e que não estejam relacionados com essa biblioteca. Caso contrário poderá ter conflitos.

Já se você (ou sua biblioteca) estiver usando o Timer 0, poderá ter conflitos com as funções millis(), micros() e delay(), além de não poder usar nada nas portas 5 e 6 do Arduino que precise do PWM e que não esteja relacionado com essa biblioteca.

Sempre que você usar algum Timer (ou alguma biblioteca sua usar) você poderá estar "sacrificando" algumas portas do seu Arduíno, ou seja, limitando as possibilidades de utilização delas (poderá usá-las, mas não com todos os recursos).

Dê uma geral nas portas que você está utilizando no seu Arduino e mude elas, se for necessário, para evitar esses conflitos que mencionei acima. Tem que ficar sempre atento à essa tabela dos Timers (que são quem controlam os PWM, diversas funções nativas e as funções de muitas bibliotecas) para evitar conflitos no código.

Acredito que seu servo motor deve ser usado ou no pino 9 ou no 10 que são destinados à biblioteca do servo (é só uma sugestão pois eu nunca trabalhei com servo motores até o momento).

Rodrigo Duarte, estou utilizando o Arduino Uno, meu objetivo é migrar para o nano quando tudo estiver certinho. Obrigado pelo seu tempo gasto em me responder e ajudar. Estarei revisando todo o meu código e conexões com base na sua explicação.

Abraços!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço