LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: Ricardo em 30 de Abril de 2010, 10:42

Título: Arduino Audio GPS
Enviado por: Ricardo em 30 de Abril de 2010, 10:42
Boas!

Ontem resolvi juntar uns quantos componentes que por cá andavam e dei vida a uma ideia que, embora já não seja completamente original, ainda não vi amplamente explorada. Os sistemas semelhantes que conheço custam muito dinheiro e com o preço dos componentes em causa não me parece que se justifique tais valores.

Muito resumidamente, a ideia consiste num aparelho autónomo que consoante a localização gps, emite um áudio associado a essa localização (tipo guia turístico automático).

Os componentes que utilizei foram:

   1 Arduino duimilanove (atmega328)
   1 modulo somo 4d
   1 gps demoboard (sem bluetooth)
   1 lcd shield (opcional)
   1 coluna de som (não sei a marca mas deve ser bangs&olufsen… ? )

Com estes componentes que, todos somados não chegam aos 100 euros, consegue-se criar uma “blackbox”, que comercialmente chegam a custar 2500 euros… (com as devidas diferenças, claro…)

(Perdoem-me os gatafunhos do lcd, mas era só para demonstrar a ideia…)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2FMP3_GPS_lcd.jpg&hash=a4b859ae4425aad94124e34c09517e4889bb770e)

Como podem ver, as ligações entre os componentes não podiam ser mais simples, e até ver, funciona tudo perfeitamente, com um código muito simples!

(versão beta(!), com um ponto exacto e sem o código do lcd)

Código: [Seleccione]
#include <string.h>
 #include <ctype.h>

char lat[11];
char lon[11];
char ult_lat[11];
char ult_lon[11];
char p1x[11]="3844.5810";
char p2x[11]="00918.2186";
const unsigned int minVol= 0xfff0;    // Minimum volume
const unsigned int maxVol= 0xfff7;    // Max Volume   
const unsigned int PlyPse = 0xfffe;   // Play or Pause
const unsigned int Stop= 0xFFFF;      // Stop
const int pinClock= 3;
const int pinData =4;
const int pinBusy =6;
const int pinReset=7;
unsigned int volLevel=0;
int Song;                   // current Song
unsigned int vol;                    // current volume
 int ledPin = 13;                  // LED test pin
 int rxPin = 0;                    // RX PIN
 int txPin = 1;                    // TX TX
 int byteGPS=-1;
 char linea[300] = "";
 char comandoGPR[7] = "$GPRMC";
 int cont=0;
 int bien=0;
 int conta=0;
 int indices[13];

void setup(){
  Serial.begin(4800);
  pinMode(pinData,OUTPUT);     // set pin 4 to output for Data
  pinMode(pinClock,OUTPUT);    // set pin 3 to output for data
  pinMode(pinReset,OUTPUT);    // set pin 7 to allow software reset
  pinMode(pinBusy,INPUT);      // set pin 6 to monitor while Song is playing
  pinMode(ledPin, OUTPUT);       // Initialize LED pin
  pinMode(rxPin, INPUT);
  pinMode(txPin, OUTPUT);
  Serial.begin(4800);
  for (int i=0;i<300;i++){       // Initialize a buffer for received data
     linea[i]=' ';
  }   
  Reset();
}

 void ler_gps() {
   digitalWrite(ledPin, HIGH);
   byteGPS=Serial.read();         // Read a byte of the serial port
   if (byteGPS == -1) {           // See if the port is empty yet
     delay(100);
   } else {
     linea[conta]=byteGPS;        // If there is serial port data, it is put in the buffer
     conta++;                     
     if (byteGPS==13){            // If the received byte is = to 13, end of transmission
       digitalWrite(ledPin, LOW);
       cont=0;
       bien=0;
       for (int i=1;i<7;i++){     // Verifies if the received command starts with $GPR
         if (linea[i]==comandoGPR[i-1]){
           bien++;
         }
       }
       if(bien==6){               // If yes, continue and process the data
         for (int i=0;i<300;i++){
           if (linea[i]==','){    // check for the position of the  "," separator
             indices[cont]=i;
             cont++;
           }
           if (linea[i]=='*'){    // ... and the "*"
             indices[12]=i;
             cont++;
           }
         }
   //    Serial.print("lat:");
       int n=0;
       for (int j=indices[2];j<(indices[2+1]-1);j++){
    //         Serial.print(linea[j+1]);
             lat[n]=linea[j+1];
             n++;
           }
           lat[n]='\0';
    //   Serial.print(" / lon:");
       n=0;
       for (int j=indices[4];j<(indices[4+1]-1);j++){
          //   Serial.print(linea[j+1]);
             lon[n]=linea[j+1];
             n++;
           }
           lon[n]='\0';
   //    Serial.println("");
       Serial.println(lat);
       Serial.println(lon);
       Serial.println("---------------");

       if(strcmp(lat,p1x)==0)
       {
         if(strcmp(lat,ult_lat)!=0)
         {
           Serial.println("checkx");
           Serial.println("---------------");
           sendData(1);
          strcpy(ult_lat,lat);
         }         
       }
       

       }
     
       conta=0;                    // Reset the buffer
       for (int i=0;i<300;i++){    // 
         linea[i]=' ';             
       }                 
     }
   }
 }


void loop()
{
 int cmd;
 ler_gps();
//  if (Serial.available()>0) {
//  cmd=Serial.read();          // Read the user command
//  sendData(Stop);
//  delay(10); 
//  sendData(1);}                   //Refresh Menu
 
}

void sendData(int ThisSong)
{
digitalWrite(pinClock,HIGH);     // Hold (idle) for 300msec to prepare data start
delay(300);
digitalWrite(pinClock,LOW);       //Hold for 2msec to signal data start
delay(2);  //2msec delay
shiftOut(pinData, pinClock, MSBFIRST, (ThisSong >> 8));  // Send High byte
shiftOut(pinData, pinClock, MSBFIRST, ThisSong );        // Send Low byte
digitalWrite(pinClock,HIGH);    // Place clock high to signal end of data
}

void Reset()
{
//Serial.println("RESET.");
digitalWrite(pinReset,LOW);
delay(50);
digitalWrite(pinReset,HIGH);
Song=0;
}

Agora pergunto: com os conhecimentos que eu já vi aqui neste fórum, será que não se conseguiria “fundir” esta minha mistura, numa placa integrada com uma ou outra alteração, mesmo que tal signifique um ligeiro acréscimo do valor total?
Não digo que isto possa vir a ser um projecto comercial, mas conheço algumas pessoas que ficaram, no mínimo, interessadas na ideia, e como já disse, as alternativas são muito caras.

Ainda vou tentar implementar mais algumas ideias sendo que uma delas era a possibilidade de enviar o áudio por FM, de forma a ser captada por simples auriculares.


Título: Re: Arduino Audio GPS
Enviado por: metRo_ em 30 de Abril de 2010, 11:55
Tenta explicar melhor quais são os sistemas que dizes que custam cerca de 2500€ é que não estou a ver equipamentos equivalentes.
O modulo SOMO 4d traduz em áudio palavras?
Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 30 de Abril de 2010, 12:15
Tenta explicar melhor quais são os sistemas que dizes que custam cerca de 2500€ é que não estou a ver equipamentos equivalentes.
O modulo SOMO 4d traduz em áudio palavras?

O valor de 2500 euros foi-me indicado informalmente, por isso pode não ser exactamente isso, mas andará nessa ordem de grandezas.

ex: http://www.toguide.pt/pt/hardware/hardware_show/scripts/core.htm?p=hardware&f=hardware_show&lang=pt&idcont=105 (http://www.toguide.pt/pt/hardware/hardware_show/scripts/core.htm?p=hardware&f=hardware_show&lang=pt&idcont=105)

Também não quis comparar directamente a minha "solução" com estes produtos acabados, mas a diferença de valores levanta a questão da criação de uma solução “mais em conta” com algumas potencialidades.

O modulo SOMO 4D é um leitor digital que lê ficheiros no formato ad4 (traz um conversor wav,mp3,etc…), armazenados num cartão micro sd, sendo cada faixa chamada pelo seu numero (ex:sendData(1)); O som é mono, e de qualidade discutível (a coluna bangs&olufsen também não permite grandes análises…), mas para o efeito que se pretende, parece-me suficiente. A ideia não é traduzir palavras para áudio (vi ontem uma solução muito interessante nesse campo, mas não encontro o link), mas sim ter várias faixas pré-gravadas, que serão lançadas consoante o ponto gps associado.

Existe algo semelhante no mercado e que seja facilmente programável, a valores mais acessíveis?
Título: Re: Arduino Audio GPS
Enviado por: senso em 30 de Abril de 2010, 13:08
Isso não é um tipico gps? Ou está-me algo a escapar, podes colocar mais ou menos tudo num pcb feito por ti, mas tens de procurar um módulo de gps que dê para montar numa pcb, de resto é criar e mandar fazer o pcb para ficar tudo integrado.
Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 30 de Abril de 2010, 14:45
Isso não é um tipico gps? Ou está-me algo a escapar, podes colocar mais ou menos tudo num pcb feito por ti, mas tens de procurar um módulo de gps que dê para montar numa pcb, de resto é criar e mandar fazer o pcb para ficar tudo integrado.

Antes de mais, aviso que a minha falta de experiência e formação nesta área pode-me levar a dizer… alguns disparates. Tenham paciência….

Também sei que não estou a tentar reinventar a roda, no máximo estava a tentar dar-lhe… umas jantes diferentes…  :P

Aquilo que quero fazer é facilmente reproduzível num computador com um gps externo, ou mesmo num destes novos pda’s (o que eu tenho já me permite fazer muita coisa com o gps integrado). Provavelmente até já existe um navegador GPS com todas estas funcionalidades. A questão é que qualquer uma destas soluções faz muito mais do que é preciso, com o inconveniente do valor das mesmas, e até da complexidade da manutenção.

Assim, a ideia era algo que fizesse única e exclusivamente aquilo a que se propõe: reproduzir uma faixa de áudio específica para uma determinada geo-referência. E para tal parece-me que os componentes que eu indiquei, são suficientes.
Mesmo alterando a componente gps para um módulo integrado ou a componente áudio para um leitor stereo, não deverá ser assim tão mais caro (alguma sugestão?). Certo?

Mas tal como eu disse, a minha falta de experiência pode-me levar a ignorar simples regras que poderão tornar o produto final mais caro e mais complexo (por exemplo: alimentação, dissipação de calor, fiabilidade dos componentes, etc…).

E acrescento que não percebo nada de fabricação de pcb’s, nem dos custos envolvidos, nem da técnica necessária para montar os componentes. Daí estas perguntas, que podem parecer… básicas.


P.S.-> Enquanto tentava acrescentar o lcd shield ao resto dos componentes descobri que este deixou de funcionar. Acende a backlight mas não mostra o texto pretendido, sendo que por vezes escreve uns caracteres aleatórios. Alguma sugestão ou devo dá-lo como perdido?
Título: Re: Arduino Audio GPS
Enviado por: Rebel em 30 de Abril de 2010, 15:58
isso parece-me que estas a usar pinos que já estão atribuídos ao LCD shield para outras funções....
Título: Re: Arduino Audio GPS
Enviado por: metRo_ em 30 de Abril de 2010, 16:12
O que me pareceu foi que aquela caixa que apresentas-te é algo que faz o que te prepuseste a fazer mas depois tem mais uma função que é transmitir a informação áudio para diversos dispositivos à volta. O preço de 2500€ pode também ser referente as esses módulos.

O que podes fazer é um sistema portátil que me função da posição te lança uma informação áudio, mas em vez de ser como o outro produto que tem uma solução central e depois vários módulos no teu caso seria um só modulo, por exemplo, um passeio por uma cidade. Não sei até que ponto isto tem algum futuro pois isto poderá ser facilmente implementado em telemóveis.

Disse isto mais numa perspectiva comercial, colocando agora a parte comercial de parte, o teu projecto está bastante engraçado e devias continuar a evoluir até teres algo numa PCB como disseste. Podes não vender nenhum mas vais aprender muito ;)
Título: Re: Arduino Audio GPS
Enviado por: ghostbuster em 30 de Abril de 2010, 16:35
uma ideia fixe era fazer um gps+arduino mais uns leds e um buzzer, para avisar quando nos aproximamos de algum radar ou hotspot onde costuma tar policia
Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 30 de Abril de 2010, 17:46
isso parece-me que estas a usar pinos que já estão atribuídos ao LCD shield para outras funções....

Excelente sugestão. Até porque me recordo vagamente de ter andado a modificar uma biblioteca por causa dos pinos disponiveis.
Vou confirmar isso assim que possivel.

O que podes fazer é um sistema portátil que me função da posição te lança uma informação áudio, mas em vez de ser como o outro produto que tem uma solução central e depois vários módulos no teu caso seria um só modulo, por exemplo, um passeio por uma cidade. Não sei até que ponto isto tem algum futuro pois isto poderá ser facilmente implementado em telemóveis.
 

Uma das aplicações possíveis é, por exemplo, num passeio turístico de autocarro, ou de barco, ter um aparelho destes no veículo a difundir o som pela aparelhagem. Uma vez que a informação que é dada em cada um desses passeios não se deverá alterar durante muito tempo, a re-programação das “blackbox” é um processo muito esporádico.

Disse isto mais numa perspectiva comercial, colocando agora a parte comercial de parte, o teu projecto está bastante engraçado e devias continuar a evoluir até teres algo numa PCB como disseste. Podes não vender nenhum mas vais aprender muito ;)

Antes ou depois de queimar metade da casa???  ;D

uma ideia fixe era fazer um gps+arduino mais uns leds e um buzzer, para avisar quando nos aproximamos de algum radar ou hotspot onde costuma tar policia

Hehehe. Nada como usar a tecnologia com fins mais… criativos!  ;)
Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 03 de Maio de 2010, 15:35
Boas!

Continuando a investir algum tempo nesta ideia (e ainda antes de começar a montar pcb's...  8) ) peço-vos ajuda para as seguintes questões:

1- No esquema que desenhei, e que até ao momento tem funcionado, existe alguma consideração adicional em relação à alimentação? Digo isto porque aparentemente os 3.3v do arduino estão a ser suficientes para alimentar o GPS e o SOMO(audio). Corro algum risco de queimar alguma coisa? Deveria pensar numa fonte que distribuísse a energia pelos vários componentes?

2- Uma das ideias que surgiu entretanto é a necessidade de ter uma entrada áudio no sistema, com uma fonte de áudio externa autónoma, mas cujo sinal seria atenuado pelo arduino quando um ponto GPS fosse encontrado. É muito complicado criar uma espécie de "audio mixer" com o arduino a controlar o volume de cada canal?
 
3- Pelo ponto 2 percebe-se que ainda não estou muito preocupado com a amplificação do áudio, mas se chegar à conclusão que este é demasiado fraco como posso criar um amplificador simplificado? Vi alguns exemplos com um transístor, um condensador e uma resistência, é assim tão simples?

Obrigado!

Título: Re: Arduino Audio GPS
Enviado por: senso em 03 de Maio de 2010, 16:00
Procura por um digital pot, tipo isto:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1272748703 (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1272748703)
É tal e qual um potênciometro, mas controlado por sinais digitais.
Para fazeres um mixer, procura por analog multiplexers, são usados alguns neste projecto:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1272512876 (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1272512876)

E para um amplificador simples, se for para fones ou uma coluna pequena, procura por um op-amp ou um buffer, ou uma combinação dos dois, pois é uma solução simples e integrada.
Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 17 de Maio de 2010, 10:38
Olá a todos.

Tenho continuado a explorar a ideia do áudio gps, estando neste momento a criar um arduino personalizado com os componentes em questão.
Peguei nas palavras de encorajamento do fórum (obrigado metRo_!) e decidi aventurar-me na “fabricação” de uma protoboard (acho que é assim que se chama) onde tenho estado a desenvolver a minha apurada técnica de soldagem de componentes (aconselho vivamente a quem também se está a iniciar nesta prática a consultar todos os tutoriais que por aqui andam).

Não sendo eu o tipo de pessoa que “perca” muito tempo com a preparação teórica, tentei desenhar um circuito com os componentes dos projectos arrumados numa placa com 80x100, de forma a testar a solução inicial, mas sem o duemilanove.

Confesso que duvidei bastante do sucesso desta primeira tentativa, mas após alguns pequenos acidentes (os bombeiros continuam de prevenção aqui na minha área…), e estando ainda a meio do projecto, tenho isto:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2Fproto3.jpg&hash=977aa1efad97ed64007f6eacbcf648058f9e2b73)

…e a verdade é que no primeiro teste, o sketch blink funcionou!

Ok, pode não parecer um grande trabalho mas acreditem que para mim foi uma grande conquista.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2Fproto2.jpg&hash=92308f8558b16c1aadf4e816bf1dd6fcba890cb5)

A verdade é que, tal como o metRo_ disse, é assim que se vai aprendendo e entretanto surgiram-me aqui algumas dificuldades.

Nas primeiras simulações alimentava o somo-14d (3v)com a saída 3.3v do duemilanove (julgo que a tolerância deste componente é de 2.7v a 3.7v), mas com esta montagem tenho apenas os 5v regularizados. Qual é a melhor maneira para ter uma saída de cerca de 3v? Já testei com diodos e resistências, mas também sei que posso utilizar outro mosfet. O que sugerem e que envolva o mínimo de componentes possível?

Para já deixei em standby a ideia do amplificador de áudio, até porque montei a saída do leitor a um jack mono 3.5mm e liguei à aparelhagem onde obtive um nível de áudio com qualidade muito mais que razoável, mas num teste rápido com um TDA7052A fiquei com a sensação que o som piorou em vez de amplificar. Terei que colocar mais algum componente entre este e a saída áudio do somo-14d? (Assim que puder coloco aqui o esquema que tentei)

Em relação ao potenciómetro digital para atenuar o sinal áudio será que o DS1801 serve?

Quanto à técnica de soldagem, a minha maior dificuldade prende-se com as ligações (fios) entre os componentes. Algum conselho para evitar ou minimizar a quantidade de fios à volta do pcb?

Obrigado!
Título: Re: Arduino Audio GPS
Enviado por: senso em 17 de Maio de 2010, 17:42
Existem reguladores de tensão para 3.3v como existe o lm7805, procura na internet por um e é só comprar um e montar ai.
Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 17 de Maio de 2010, 22:02
Existem reguladores de tensão para 3.3v como existe o lm7805, procura na internet por um e é só comprar um e montar ai.

Ok. Andei à procura de reguladores de 3v e descobri que também existe um lm7803 (pelos vistos os últimos numeros do componente é o valor da voltagem de saída). Mas não o consigo ver à venda em lado nenhum? Existirá alguma alternativa?
E caso encontre, basta o regulador ou também tenho que pensar em 2 condensadores para o acompanhar?


Obrigado!
Título: Re: Arduino Audio GPS
Enviado por: senso em 17 de Maio de 2010, 22:24
Sim, tens sempre de meter os condensadores, e deves sempre meter tambem em todos os ic's, pois são condensadores de decoupling que servem para reduzir o ruido nas linhas de alimentação aos ic's.
Podes sempre fazer uma string com dois diodos normais e um schotky, que te dão dar cerca de 1.8v de queda de tensão, e 5-1.8=3.2v, é mais simples e mais barato, mas pelo que dizem os diodos produzem algum ruido, mas podes tentar que não custa nada.
Título: Re: Arduino Audio GPS
Enviado por: metRo_ em 17 de Maio de 2010, 23:15
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 (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.

Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 20 de Maio de 2010, 09:50
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 (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.

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.

Título: Re: Arduino Audio GPS
Enviado por: Marvin em 20 de Maio de 2010, 10:07

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 (http://www.vinculum.com/prd_vmusic1.html)

Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 22 de Maio de 2010, 00:33
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.       

Citar
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.     
Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 05 de Julho de 2010, 18:13
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.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2FP1090360-p.JPG&hash=9652bcb9d6880c1c3554b35b6721997aa5945b16)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2FP1090361-p.JPG&hash=a37f8421c06dab5724288d179ac450b4170db1fd)

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”…

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2FP1090358-p.JPG&hash=2d2928e25a1bd6bbc64caa88bb3f90c5c9409de1)

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…

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2FP1090365-p.JPG&hash=633facfc38a738d5b48418e2ae5b1f5103eda566)

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.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2FP1090356-p.JPG&hash=99ab66f1d095df866ea51f1258656277a1b212c4)

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.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2FP1090363-p.JPG&hash=6f2c6c299a2944780497d0d04b520d8964f65667)

Assim que puder mostro a placa principal e o conjunto completo e a funcionar (espero…)  :D
Título: Re: Arduino Audio GPS
Enviado por: TigPT em 06 de Julho de 2010, 12:11
Está a ficar com um óptimo aspecto.

Fez-me lembrar este vídeo:
The Reverse Geocache Puzzle Box (http://www.youtube.com/watch?v=Lu7IysgaZf8#ws)
Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 06 de Julho de 2010, 16:37
Está a ficar com um óptimo aspecto.

Fez-me lembrar este vídeo:
The Reverse Geocache Puzzle Box (http://www.youtube.com/watch?v=Lu7IysgaZf8#ws)

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
Título: Re: Arduino Audio GPS
Enviado por: TigPT em 06 de Julho de 2010, 16:46
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.
Título: Re: Arduino Audio GPS
Enviado por: fred gomes em 06 de Julho 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  ;)
Título: Re: Arduino Audio GPS
Enviado por: senso em 06 de Julho 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.
Título: Re: Arduino Audio GPS
Enviado por: TigPT em 06 de Julho 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.
Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 07 de Julho de 2010, 10:56
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…

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.

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
Título: Re: Arduino Audio GPS
Enviado por: GnGz em 07 de Julho de 2010, 14:17
Tambem gostei , mas se usa-ses bateria em vez de pilhas?
Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 09 de Julho de 2010, 18:31
Já agora, aqui ficam algumas pics de um "test drive". Depois tento fazer um vídeo.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2FIMAG0484.JPG&hash=bd1b87d8e554f98135e70de38e8f7ba6fc80c703)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2Flcd1.JPG&hash=113ff7ad61c74a524a827c2795db2e7c24bcddec)

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…
Título: Re: Arduino Audio GPS
Enviado por: TigPT em 09 de Julho de 2010, 18:55
Conheces o Opengauge?

Já pensei em implementar mas não arranjo fornecedor do chip de interface.
http://code.google.com/p/opengauge/ (http://code.google.com/p/opengauge/)
Título: Re: Arduino Audio GPS
Enviado por: metRo_ em 09 de Julho de 2010, 22:42
O 7805 não é o ideal em projetos que se queiram moveis e com boa autonomia. Isto porque, traduzindo por miúdos, "tudo o que entra a mais de dos 5V é dissipado. O ideal é usares reguladores comutados. Tens por exemplo este da texas: PT78ST105V que para uma entrada de por exemplo 9V ou 12V tem um eficácia de quase 90% para consumos superiores a cerca de 300mA. A eficiência dos reguladores depende da tensão de entrada e da potência utilizada.
Título: Re: Arduino Audio GPS
Enviado por: GnGz em 09 de Julho de 2010, 22:47
Grande projecto, ainda não sai nada das colunas?
qual é o teu lcd?
Título: Re: Arduino Audio GPS
Enviado por: Ricardo em 11 de Julho de 2010, 15:35
Conheces o Opengauge?

Já pensei em implementar mas não arranjo fornecedor do chip de interface.
http://code.google.com/p/opengauge/ (http://code.google.com/p/opengauge/)
Por acaso já conheço. Ainda antes de entrar neste “mundo” da electronica e do arduino,  já tinha a “pancada” da “computação omnipresente”, com um pc instalado no carro que para além do gps e do multimedia, recebia informação odb2 atraves de um cabo usb que comprei no ebay. Nessa altura ainda andei a estudar um pouco desse protocolo, mas do meu carro pouco mais conseguia ver que a velocidade e as rotações do motor.  Mesmo assim já tinha a sua piada.
Pelo que  investiguei entretanto, não há grande forma de ler os dados do adaptador odb2 usb, através do arduino. Mas se alguém tiver alguma ideia, eu até posso emprestar o cabo para experimentarem...
O 7805 não é o ideal em projetos que se queiram moveis e com boa autonomia. Isto porque, traduzindo por miúdos, "tudo o que entra a mais de dos 5V é dissipado. O ideal é usares reguladores comutados. Tens por exemplo este da texas: PT78ST105V que para uma entrada de por exemplo 9V ou 12V tem um eficácia de quase 90% para consumos superiores a cerca de 300mA. A eficiência dos reguladores depende da tensão de entrada e da potência utilizada.
Não fazia nenhuma ideia disso! A verdade é que nos outros projectos que tentei, todos eles ligados a um adaptador ac/dc, nunca tinha dado por um aquecimento tão violento do 7805 (nem do LH317) como acontece com o este.  Vou ver se consigo perceber algo mais sobre isso...
Grande projecto, ainda não sai nada das colunas?
qual é o teu lcd?
Pois... realmente em relação ao som, já estive melhor. Neste momento, até estou com algum receio de ter queimado o módulo do som, está a comportar-se de forma tão inconstante que já não sei onde está o problema. Mas já funcionou!
O lcd comprei no ebay e é do tipo hd44780.

Entretanto este tópico continua em
http://lusorobotica.com/index.php?topic=2675.msg26804;topicseen#new (http://lusorobotica.com/index.php?topic=2675.msg26804;topicseen#new)