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
-
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)
#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.
-
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?
-
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?
-
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.
-
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?
-
isso parece-me que estas a usar pinos que já estão atribuídos ao LCD shield para outras funções....
-
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 ;)
-
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
-
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! ;)
-
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!
-
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.
-
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!
-
Existem reguladores de tensão para 3.3v como existe o lm7805, procura na internet por um e é só comprar um e montar ai.
-
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!
-
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.
-
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.
-
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.
-
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)
-
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.
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.
-
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
-
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)
-
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
-
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.
-
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 ;)
-
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.
-
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.
-
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
-
Tambem gostei , mas se usa-ses bateria em vez de pilhas?
-
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…
-
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/)
-
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.
-
Grande projecto, ainda não sai nada das colunas?
qual é o teu lcd?
-
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)