Show Posts
Pages: [1] 2 3 ... 217
1  International / Portugues / Re: Serial1 - Atmega2560 on: Today at 11:12:00 am
O programa nao muda sozinho...

Porque e uqe adicionas o SoftwareSerial.h??

Que e que te esta a indicar que e uma software serial e nao hardware?

O teu post nao e claro acerca do que o software deixa de fazer quando desligas e voltas a ligar a placa. Tu referes um problema 2 vezes, mas nao dizes o que o problema e.

Tambem convinha dizeres o que fazes para que a placa e codigo volte a funcionar outra vez.
Ja pensaste que pode o GPS estar a adquirir a posicao logo apos teres desligado e voltado a ligar a placa? Nao me pareceu haver muito em termos de feedback para o operador se o GPS nao estiver [pronto.

Ja agora... o que pretendes atingir com isto:

Code:
// if millis() or timer wraps around, we'll just reset it
  if (timer > millis())  timer = millis();

nao me parece que precises disto...

O metodo show e, no minimo, ridiculo... chamas um metodo que detecta se passou 2 segundos para ser executado? Nao ves um problema nisso???
Porque nao chamas esse metodo de 2 em 2 segundos?
2  International / Portugues / Re: NRF24L01+ endereços on: August 19, 2014, 12:29:11 am
http://maniacalbits.blogspot.com/2013_04_01_archive.html

Ele aqui fala da biblioteca a que me estava a referir.

Aqui tem o link da biblioteca. http://maniacalbits.blogspot.com/2013/04/new-rf24-driver-release-fork.html

Eu ja experimentei com dois nos a enviar dados para um no central sem problemas. Nota que no meu caso a comunicacao e so num sentido... mas eu sou preguicoso. eh eh

Isto:

Code:
unsigned long data[Mirf.payload];

E um array de unsigned long...
Isto

Code:
unsigned long data = 1;

E uma variavel do tipo unsigned long. Tu envias um unsigned long com 4 bytes e recebes um unsigned long num array de 4 unsigned longs. Como disse, pode nao ser o problema... mas e feio. E depois usas o teste sem indicares qual e o indice do array que pretendes.

O que o excerto de codigo mostra e que a funcao que muda o endereco de envio, tambem muda o endereco de recepcao...

Experimenta testar apenas uma vez a comunicacao. Ou seja, faz reset a todas as placas e testa o envio para o no 1 e ve se algo acontece no no 2. Envia varias vezes para o no 1 sem enviares para o no 2. O No 2 recebe algo?

Depois envia uma vez para o no 2. O No 1 recebe algo?

Comeca a enviar para o No 1 outra vez e ve se o No2 recebe. Isto sera uma maneira de ver se e realmente a instrucao que muda o endereco de envio que esta a causar problemas.

Eu referia-me a biblioteca que estas a usar.... parece-me um pouco confuso a maneira como eles tem as instrucoes. Sem estudar mais a biblioteca e impossivel de ter a certeza, mas aquele bocado de codigo deixa-me um pouco de pe atras.

Chegas a receber a resposta dos nos de volta para o servidor?


3  International / Portugues / Re: NRF24L01+ endereços on: August 18, 2014, 04:10:18 pm
Tens ai varias coisas que, apesar de nao me parecer ser o problema devem ser corrigidas...

Tu estas a enviar um long... porque defines um array de longs?

Nao me parece que seja os nomes dos canais... os exemplos estao assim.
No entanto, mudar de canais nao e feito nunca nos exemplos... e tenho a impressao que havia um passo a dar quando se muda de canal. :/

Experimenta fazer Mirf.config() apos mudares de canal.

Ou entao, apesar de nao sabe rse existe, procura por outra biblioteca mais... completa. Eu tenho usado uma do Greg Copeland e podes usar varios canais sem problemas (eu tenho algo assim a funcionar sem problemas).

O que vejo aqui e que usas a mesma pipe para ambos os radios... e isso pode estar a confundir o chip. Tambem tenho ideia que havia uma regra qualquer para os canais... mas nao me lembro muito bem agora.

Code:
void Nrf24l::setRADDR(uint8_t * adr)
// Sets the receiving address
{
ceLow();
writeRegister(RX_ADDR_P1,adr,mirf_ADDR_LEN);
ceHi();
}

void Nrf24l::setTADDR(uint8_t * adr)
// Sets the transmitting address
{
/*
* RX_ADDR_P0 must be set to the sending addr for auto ack to work.
*/

writeRegister(RX_ADDR_P0,adr,mirf_ADDR_LEN);
writeRegister(TX_ADDR,adr,mirf_ADDR_LEN);
}

Acho que a biblioteca nao estara muito bem preparada para comunicar com varios dispositivos... :/
4  International / Portugues / Re: NRF24L01+ endereços on: August 18, 2014, 10:56:54 am
Nao estaras a gravar o mesmo programa nos dois chips?
5  International / Portugues / Re: NRF24L01+ endereços on: August 18, 2014, 01:08:23 am
Nao entendi a pergunta...

Estas a ter problemas com os nRF? Ou so a perguntar por curiosidade?

Ao fazeres a transmissao dessa forma, apenas o no 1 deve receber. O no 2 apenas recebera do no 1 e enviara para o servidor central.
6  International / Portugues / Re: Ligar/desligar display LCD em intervalo de tempo ou por botão on: August 12, 2014, 04:52:53 am
Se tiveres botoes para as funcoes do aquario e quiseres aumentar o tempo de vida do LCD e projecto (o LCD consome imenso comparado ao resto do Arduino), diria que o backlight do LCD devia estar sempre desligado ou com um PWM muito baixo e quando alguem carregasse num botao de funcao do sistema e que o LCD "acordava" e aumentava a luminosidade.
7  International / Portugues / Re: memória cheia? on: August 10, 2014, 04:31:43 am

Isto ja e comum... Eu acho particular piada aqueles que nem se dao ao trabalho de traduzir e colocam a duvida em ingles no forum Portugues.

8  International / Portugues / Re: memória cheia? on: August 09, 2014, 09:51:08 am
Ja pensaste em usar uma string em vez de String?

Sem saber o que estas a receber e um pouco dificil de saber o que se passa.
9  International / Portugues / Re: arduino e Visual Basic on: August 06, 2014, 12:13:15 am
Nao te apareceu outro problema...

O problema e exactamente o mesmo, mas no sentido inverso.

Provavelmente procuras por uma funcao chamada atoi().
10  International / Portugues / Re: Ajuda com projecto final (Controlar aparelhos electrónicos através de um Android on: August 05, 2014, 10:58:08 am
A explicacao das funcoes do Arduino aprendem-se em 2 minutos... afinal de contas sao duas funcoes.

Tu nao sabes C, ou sabes?
11  International / Portugues / Re: Ajuda com projecto final (Controlar aparelhos electrónicos através de um Android on: August 05, 2014, 01:20:17 am
De seguida tentei pegar pelo mais simples mandar para o módulo 2 prints para imprimir para o ecrã, o problema e que isto imprime de imediato uma página cheia com os 2 prints e continua repetidamente a imprimir, pensei que através de um circulo for() conseguiria fazer com que imprimisse apenas uma vez, pensando que se fizesse um for de i = 0 ate 1 iria obrigar de maneira rudimentar obrigar o ciclo dos dois prints a ser feito apenas uma vez.

Repara que tu nem tao pouco sabes o que quer dizer as funcoes do arduino... a funcao setup corre uma vez. A funcao loop corre em continuo, dai os prints estarem sempre a ser repetidos.
12  International / Portugues / Re: Ajuda com projecto final (Controlar aparelhos electrónicos através de um Android on: August 04, 2014, 01:39:29 pm
Heyyyyy, claro que faz sentido!

vieste procurar ajuda e ninguem ta esta a negar. Apenas comecamos pela ajuda que, para nos, te sera mais importante para o resto da tua carreira.
Se nao percebes de programacao... como vais fazer a parte do Android?
Nos nao estamos contra o facto de estares a fazer algo para ligar o LED... isso seria um projecto bem interessante, se escrevesses o codigo de raiz. Com bibliotecas do Arduino, sera mais ou menos copy paste.

O que tu precisas e de um servidor...

O teu ATmega2560 sera um servidor Web. Nesse servidor web vais ter uma pagina guardada e um led ligado a uma saida (espero, para mostrares algo bonito, que seja numa porta PWM e facas um dimmer).

Quando tu, no teu computador, entrares o IP da tua placa, o ATmega vai servir-te uma pagina com o estado do LED (em texto sera mais facil) e tera tambem um botao para o utilizador carregar para mudar o estado do LED. Eventualmente colocaras uma caixa de texto e o utilizador escolhe a luminosidade. Mas adiante...

Ate agora, precisas de usar o exemplo WebServer. Se vais fazer uma app para o Android, precisas de especificar um protocolo de comunicacao para ligar e desligar o LED... se e uma pagina web, entao precisas de fazer a pagina em HTML.

Se fizeres a pagina em HTML, precisas de ver quando e que o browser te esta a pedir a pagina inicial... ou quando te esta a dizer que quer mudar o estado do LED.

Mais so se fizer eu o codigo por ti... o que nao da porque estou no trabalho.

Viste isto:

http://www.instructables.com/id/Making-an-Android-application-for-ArduinoLED-Turn/?lang=pt

http://www.instructables.com/id/Making-an-Android-application-for-ArduinoLED-Turn/step2/Run-an-Android-Application/

http://cairohackerspace.blogspot.co.uk/2011/05/beginners-guide-to-connecting-and.html

http://www.is.kau.se/julioangulo/angulo/blog/?p=9

Demorou-me menos de 10 minutos a recolher esta informacao... estou no meio do Atlantico e a minha net vem por satelite para cerca de 100 computadores.

Mais uma vez... podes como que copiar tudo isso sem teres trabalho algum... mas eventualmente sera esperado de ti que facas isto por ti... ou pior que resolvas um problema em algo "feito" por ti.
13  International / Portugues / Re: Ajuda com projecto final (Controlar aparelhos electrónicos através de um Android on: August 04, 2014, 07:02:49 am
O que me choca a mim sao duas coisas...

O professor ter proposto isto. Ou seja, o professor nao sera muito bom. Eu preferiria que o aluno fizesse algo que nao fosse bonito de mostrar mas que envolvesse competencia tecnica. O professor pediu-te algo que qualquer pessoa com paciencia e um pouco de carolice faz (tanto e, que ja muita gente o fez).

Nao teres capacidade de procurar isto ja feito ou os exemplos que te permitem fazer isto.

A capacidade mais importante dum engenheiro e encontrar a informacao que lhe permitira atingir um objectivo. Para teres um exemplo, e darem-te um manual de 600 paginas dum sistema que nunca viste e em menos de uma hora teres a informacao que precisas para resolver um problema.
E nao me parece que ainda tenhas essa capacidade. Essa capacidade passa, primeiramente, por entender as partes envolvidas num problema e separa-las de forma a resolveres uma a uma.

Nao leves a mal, nao estou a criticar de forma agressiva, mas de forma construtiva para que tentes mudar esse aspecto. Tenta tambem ter um pouco mais de sentido critico com os professores. La porque eles dizem, nao quer dizer que seja correcto ou verdade.
Pergunta ao professor se faz sentido usares bibliotecas da internet e hardware do chines... em vez de seres tu a montar o hardware e escrever as bibliotecas (mesmo que para algo menos vistoso).
14  International / Portugues / Re: Variação Portas Analógica on: August 03, 2014, 03:34:41 pm
Bom... o teu circuito, a bem dizer... fica a flutuar.

No entanto, olhando ao teu codigo... se tu meteres 5V na entrada analogica, ficaras com algo como 5*75... que e 375... logo os teus 800V que aparecem no ecra, ca para mim, tem outra causa...

No entanto, vi ali coisinhas muito feias no teu codigo... 1000 amostras e ridiculo.
Adicionar ints a floats nao e bonito... ate podera funcionar, mas nao ha necessidade.

Code:
loop()....

unsigned int leituras = 0; // isto vai ate 65000...
float tensao = 0;

//65000/1024 = 63.
//vamos fazer uma media mais em conta... 20 valores.

for (unsigned char i=0 ; i<20; i++) {
     leituras = leituras + analogRead(A0);
}

tensao = (float) leituras/20;

Serial.print("Tensao Medida = " );                       
Serial.println(tensao);

delay(2000);


Importas-te de experimentar??
15  International / Portugues / Re: Variação Portas Analógica on: August 03, 2014, 02:06:04 pm
Sem ver o codigo... nem tao pouco uma foto do esquema ou a garantia que o esquema e o mesmo com os mesmos valores... acho que estas a pedir um pouco demais, nao?

O transformador e igual?

Pages: [1] 2 3 ... 217