• Welcome to LusoRobótica - Robótica em Português.
 

Arduino Audio GPS

Started by Ricardo, 30 de April de 2010, 10:42

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

metRo_

Antes de mais fiquei muito contente por saber que as minhas palavras serviram de motivação para ti ;)

Quanto a obteres os 3V ou 3.3V e como para já o problema de consumos não é importante dá uma vista de olhos neste tópico Divisor de tensão com resistores do seguinte link: http://pt.wikipedia.org/wiki/Divisor_de_tens%C3%A3o

Eu para já ia por partes e a parte do som deixava de parte neste momento.


Ricardo

Quote from: metRo_ on 17 de May de 2010, 23:15
Quanto a obteres os 3V ou 3.3V e como para já o problema de consumos não é importante dá uma vista de olhos neste tópico Divisor de tensão com resistores do seguinte link: http://pt.wikipedia.org/wiki/Divisor_de_tens%C3%A3o

Assim fiz. Com algumas resistências que por aqui tinha, usei um valor de R1 de 10K e um R2 de 20K (que é o resultado de duas R 10K em série), e realmente obtive os 3.3v de saída.
Ainda não experimentei alimentar o módulo áudio, mas tenho a duvida se entretanto não atenuei demasiado a corrente. Logo tento.

Quote from: metRo_ on 17 de May de 2010, 23:15
Eu para já ia por partes e a parte do som deixava de parte neste momento.

Vou seguir esse conselho. Até porque a protoboard está a ficar demasiado... confusa. Se funcionar a parte que já está montada mais o módulo GPS, já será uma grande conquista.


Marvin

Quote from: Ricardo on 30 de April de 2010, 12:15

Existe algo semelhante no mercado e que seja facilmente programável, a valores mais acessíveis?

Comprei ha pouco tempo um modulo Vmusic2 para um projecto que tenho andado a fazer. Lê ficheiros mp3 de uma pen, tem uma boa qualidade audio e não achei demasiado caro.

http://www.vinculum.com/prd_vmusic1.html

Dronetech BlogThe Scientist and the Geek

Ricardo

Finalmente arranjei tempo para acabar a primeira parte do projecto.
Liguei as saidas digitais 3,4,6 e 7 ao somo-14d, alimentei com os 3.3v, coloquei os auscultadores.
Resultado:

3 segundos de audio e após isso, um silencio ensurdecedor...  :-[

Repeti o processo várias vezes, sempre com o mesmo resultado.
À falta de melhor opinião, desconfio que a escolha das resistencias para o divisor de tensão não foi a melhor.
Segundo percebo pelo datasheet do componente, necessito de pelo menos 36mA,e aquilo que consigo medir raramente ultrapasa os 33mA.       

Quote
Global Characteristics based on Operating Conditions
Parameter Conditions Min Typ Max Units
Supply Current (ICC) VCC = 3.3V, Audio playing 36 41 45 mA
Supply Current (ICQ) VCC = 3.3V, Idle 8.0 10 15 ?A
Output Low Voltage (VOL) All pins, IOL = 3.4mA -- -- 0.4 V
Output High Voltage (VOH) All pins, IOL = -2.0mA 2.4 -- 3.3 V

Estarei na pista certa?
Vou tentar encontrar outra combinação de resistência mais fracas.     

Ricardo

#19
Olá!

Após alguns meses de trabalho intermitente e de várias tentativas de protótipo, estou finalmente a chegar a um resultado mais ou menos final...
Ainda faltam alguns testes mas vou por aqui mais algumas imagens, até para que me avisem de alguma que vos salte à vista que esteja mal! :-[

Desde o início do projecto que procurava uma caixa que permitisse acomodar os componentes projectados inicialmente e finalmente numa visita à dimofel lá encontrei uma caixa de alumínio que me pareceu ideal. Não só para o projecto em causa, mas também como base para futuros projectos.

Assim, e após umas experiências mais ou menos sucedidas com a dremel, acabei com isto:

Criei um "módulo" Input/Ouput onde coloquei um LCD 16x2, um switch de três posições, 2 Leds e 3 botões.




Os três botões vão ser usados por um pino analógico (até porque começaram a escassear os pinos digitais) e serviram para praticar a minha nova arte de soldagem de "pcbs"...



Criei um regulador de corrente personalizado e reutilizável que fornece os 5v e os 3.3v necessários para os vários projectos em mente. Confesso que é aqui que tenho mais duvidas pois aparentemente funciona bem, mas o modulo de som (somo 4d) está com um comportamento instável...



Na parte de trás da caixa coloquei o jack de alimentação, um potenciómetro que tanto pode servir para o regular o contraste do LCD como para regular o output de som, a jack de som, um header de 6 pins para ligar uma placa fdti usb para programar o atmega e um botão de reset para o upload de novos sketck.



Para já a caixa está assim (com a respectiva placa gps) e ainda serviu para acomodar o suporte das 6 pilhas AA, permitindo usar o dispositivo com alguma autonomia. O switch frontal tem as 3 posições precisamente para escolher o OFF, a alimentação via adaptador, e a alimentação via Pilhas.



Assim que puder mostro a placa principal e o conjunto completo e a funcionar (espero...)  :D

TigPT

Está a ficar com um óptimo aspecto.

Fez-me lembrar este vídeo:
The Reverse Geocache Puzzle Box

Ricardo

Quote from: TigPT on 06 de July de 2010, 12:11
Está a ficar com um óptimo aspecto.

Fez-me lembrar este vídeo:
The Reverse Geocache Puzzle Box

Esse terá sido um dos primeiros projectos que vi onde era usado o arduino e fiquei maravilhado. Agora que falas nisso, os componentes que ele usou são mais ou menos os mesmos: um processador, um lcd e um gps. Mas a ideia é brutal e o objectivo da ideia também foi muito nobre.

Só não percebo como é que ele consegue tanta autonomia com aquelas 2 pilhas!

No meu caso, pouco mais de 15 minutos com o gps e o lcd ligado,  a as pilhas começam a falhar...  :o

TigPT

Deve de meter uma litium extra e ter o código bem optimizado para só fazer tracking do gps quando se carrega no botão.

Poder usar algumas técnicas como pouca precisão no satélite, etc. Depede de módulo para módulo. A verdade é que um PDA tb tem uma bateria de 900~1000mAh e dura 3~4h com GPS a calcular rotas e com um LCD enorme que consome muito.

fred gomes

Parabéns peo projecto, está com um optimo aspecto..
li mais atras que estas a usar uma leitura para os push button´s analógica porque não tens mais pinos digitais. Os pinos analógicos podem ser usados como digitais,  (pino 0 = 14 digital, 1 = 15, etc),

Desejo-te uma boa continuação do projecto  ;)
cumprimentos,
Fred

senso

Mas com leitura analógica usando resistências pode meter os 3 botões num pino.
Para consumir pouco ele deve meter o processador a dormir, procura por sleep states no site do arduino.
Avr fanboy

TigPT

Para além disso, as leituras analógicas consomem muita corrente. Tenta fazer de forma pouco exaustiva. Mete uma linha de interrupções que só quando há interrupção é que ele vai varrer os botões a ver qual está carregado.

Ricardo

Quote from: fred gomes on 06 de July de 2010, 17:26
Parabéns peo projecto, está com um optimo aspecto..
li mais atras que estas a usar uma leitura para os push button´s analógica porque não tens mais pinos digitais. Os pinos analógicos podem ser usados como digitais,  (pino 0 = 14 digital, 1 = 15, etc),

Desejo-te uma boa continuação do projecto  ;)

Obrigado!
Já tinha lido sobre isso e realmente nunca me lembro desse pormenor... Neste momento já só sobravam pinos analógicos...julgava eu...

Quote from: senso on 06 de July de 2010, 17:49
Mas com leitura analógica usando resistências pode meter os 3 botões num pino.
Para consumir pouco ele deve meter o processador a dormir, procura por sleep states no site do arduino.

Isso também me pareceu uma vantagem no início... com apenas um pino consegui ligar três botões e dispensar os fios a mais... mas entretanto...

... para além da questão do consumo que eu ignorava, o local onde coloco o analogRead não é pacifico, porque senão todo o resto do código dá ideia que não é executado.
A ironia disto é que um dos botões tem como objectivo desligar o led do lcd que acredito que consome bastante, mas deixando o resto das funções activas, logo sem a possibilidade de "adormecer" o arduino.

Quote from: TigPT on 06 de July de 2010, 17:55
Para além disso, as leituras analógicas consomem muita corrente. Tenta fazer de forma pouco exaustiva. Mete uma linha de interrupções que só quando há interrupção é que ele vai varrer os botões a ver qual está carregado.

Segui o teu conselho e andei a estudar a questão das interrupções mas pelo que percebi, não é aplicável aos pinos analógicos, logo, não me ajuda neste caso específico. Mais alguma sugestão?

Neste momento o código faz a leitura dos dados do GPS, e só depois lê o valor da porta analógica, fazendo a alteração correspondente. Funciona mas parece que por vezes "bloqueia" tudo o resto...
No entanto, os primeiros "test drive" correram bem! E com a caixa colocada em cima do tablier do carro acho que cheguei a "assustar" alguns condutores...
;D

GnGz

Tambem gostei , mas se usa-ses bateria em vez de pilhas?

Ricardo

Já agora, aqui ficam algumas pics de um "test drive". Depois tento fazer um vídeo.





Para já vou-me manter com a pilhas pões têm durado bastante mais que nos teste iniciais, e também porque o suporte é mesmo à medida!!!

De quando em vez a placa gps pára de enviar dados (acho que tem a ver com a alimentação pois quando está ligada via usb isso nunca acontece...), e o 7805 aquece absurdamente...

TigPT

Conheces o Opengauge?

Já pensei em implementar mas não arranjo fornecedor do chip de interface.
http://code.google.com/p/opengauge/