Show Posts
Pages: 1 ... 89 90 [91] 92 93 ... 215
1351  International / Portugues / Re: Duvida para ler uma trama on: February 12, 2013, 03:42:37 pm
Podias melhorar fazendo com que essa funcão verificasse se a trama é válida ou não.

Mas em todo o caso, ainda bem que servimos de ajuda. smiley
1352  International / Portugues / Re: Notificador de E-Mail, Ajuda na leitura do parsing da string enviada. on: February 12, 2013, 06:13:50 am
Para isso vais precisar duma biblioteca para esse LCD...

Depois disso, tens de definir um protocolo para a transmissão de dados. Percebes o que quero dizer com protocolo de dados?
1353  International / Portugues / Re: Usar Digital Pin como GND funciona assim ou danifica o Arduino? on: February 11, 2013, 08:55:40 pm
Porto é o conjunto de "8" pinos.

Se vires no datasheet existe o Porto A, B, C...

Normalmente, as correntes máximas são definidas em termos de porto e pino... um pino talvez aguente com 40mA, mas 8 pinos num porto não aguentaram 40mA individualmente.

40mA é um Absolute Maximum Rating (nunca se deve olhar para estes valores como referência).

Mais abaixo no datasheet tem isto:

Quote
Although each I/O port can sink more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
ATmega48PA/88PA/168PA/328P:
1] The sum of all IOL, for ports C0 - C5, ADC7, ADC6 should not exceed 100 mA.
2] The sum of all IOL, for ports B0 - B5, D5 - D7, XTAL1, XTAL2 should not exceed 100 mA.
3] The sum of all IOL, for ports D0 - D4, RESET should not exceed 100 mA. If IOL exceeds the test condition, VO

Although each I/O port can source more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
ATmega48PA/88PA/168PA/328P:
1] The sum of all IOH, for ports C0 - C5, D0- D4, ADC7, RESET should not exceed 150 mA.
2] The sum of all IOH, for ports B0 - B5, D5 - D7, ADC6, XTAL1, XTAL2 should not exceed 150 mA. If IIOH exceeds the test condition, VOH may exceed the related specification. Pins are not guaranteed to source current greater than the listed test condition.


1354  International / Portugues / Re: Usar Digital Pin como GND funciona assim ou danifica o Arduino? on: February 11, 2013, 08:33:56 pm
Desde que você observe o limite de 40mA, não há problema em fazer isso.

40mA se não me engano é para o porto todo, correcto?
Eu costumo dimensionar os meus circuitos de LED para 20mA por causa das coisas.

Olá pessoal,
Desculpem a noobisse, sou iniciante...
Sei que isso é estranho, mas gostaria de saber se posso fazer um circuito inverso do normal com um "led" usando DigitalPin como Ground.
Com isso o LOW acenderia e o HIGH apagaria o led ou isso poderia danificar meu Arduino?

Sim, a isso chama-se lógica invertida. smiley
1355  International / Portugues / Re: Arduino + Android + Amarino on: February 11, 2013, 06:45:15 am
Eu vejo duas coisas...

Segundo isto:

http://www.mathias-wilhelm.de/arduino/projects/bluetooth-amarino/?PHPSESSID=iuu4b974luemd815eh21dmbma2

o método receive é feito para processar eventos. Aliás, o método receive apenas retorna um bool, logo não é daí que ela vai ler os valores.
No entanto, seria interessante, ver o que é que esse método retorna.

Depois vejo algo que pode não estar correcto ou pelo menos não condiz com o teu código.

Tu no Android, mandas o valor 0 ou 1.

Code:
if (tbOnOffEsq.isChecked()) {
        EsqOnOff = 1;
        } else {
        EsqOnOff = 0;
        }

Mas depois fazes um analogWrite... um analogWrite de 0 ou 1 é a mesma coisa.
Experimenta fazer digitalWrite...

Code:
void led2(){  //Não precisas de parametros aqui. Aliás, isto deveria dar um warning... 
  int rec = meetAndroid.getInt();
  digitalWrite(ledPin2,  rec);
  Serial.println("led2 enter");
  Serial.println((int) rec);
}

Chegas a ver algo impresso no Serial Port? A julgar pelo teu código deverias ver 0 e 1 a chegar... Experimenta a função como eu a coloquei em cima. Com a função escrita assim deverás ver se o evento foi processado e ver "led2 enter"impresso no Serial Port.

A julgar pelo exemplo do link que coloquei em cima, isto é realmente a única coisa que está a faltar. :\

Experimenta e diz o que vês.
1356  International / Portugues / Re: Duvida para ler uma trama on: February 10, 2013, 12:16:23 pm
isso não importa... para o arduino os dados serão sempre binários. Hex, ou decimal ou octal ou binario é como te dá mais jeito a ti ver.

queres explicar o que é a carta de entrada\saida que estás a usar para ver se conseguimos ajudar mais?

Isto:

Code:
if (temp == 0xbb)//

é igual a isto:

Code:
if (temp == 187)//
1357  International / Portugues / Re: Duvida para ler uma trama on: February 09, 2013, 03:11:24 pm
O meu código não envia nada... apenas recebe.

Se tu envias e ele responde, os dados ficam no buffer e depois esse código deve encontrar os dados uqe pretendes.

Já meteste um serial.print para veres se recebes realmente alguma coisa após enviares o comando?
1358  International / Portugues / Re: Duvida para ler uma trama on: February 09, 2013, 01:20:34 pm
Code:

void loop(){
   char trama[18];
   
   if ( 0 == receive(trama)) {
      Serial.print("ERRO");
   }else{
      //o teu programa.

   }
}

#define RX_FRAME_SIZE    18

unsigned char receive(char * str){
unsigned char temp=0;

if (Serial.available()> RX_FRAME_SIZE) {//temos bytes suficientes...
   while(Serial.read() != 0xBB); //encontrar o inicio da trama.
     if (Serial.read() != 0xCC) {
         return 0;
     } else { //inicio da trama
        for (temp = 0; temp<RX_FRAME_SIZE-2; temp++) {
            str[temp] = Serial.read();
        }
return temp; //faltou-me isto.
}

1359  International / Portugues / Re: Duvida para ler uma trama on: February 09, 2013, 12:29:12 pm


Code:
#define RX_FRAME_SIZE    18

unsigned char receive(char * str){
unsigned char temp=0;

if (Serial.available()> RX_FRAME_SIZE) {//temos bytes suficientes...
   while(Serial.read() != 0xBB); //encontrar o inicio da trama.
     if (Serial.read() != 0xCC) {
         return 0;
     } else { //inicio da trama
        for (temp = 0; temp<RX_FRAME_SIZE-2; temp++) {
            str[temp] = Serial.read();
        }
}

Algo assim?
1360  International / Portugues / Re: Problemas com relé on: February 09, 2013, 07:10:18 am
Boas.

Não prestei muita atenção ao código, mas assim de repente podes melhorar isto:

Code:
const char estados[2][10] = {"ON ", "OFF"};

//por isto...

const char estados[2][4] = {"ON ", "OFF"}; //pormenores, eu sei... mas são 12 bytes que poupas :P

1361  International / Portugues / Re: Novo projecto maquina de corte de etiquetas - iniciante on: February 09, 2013, 05:36:44 am
Quanto as proteções tambem tou a pensar nisso mas como este é um prototipo a ser utilizado apenas por mim cá em casa não é algo que tenha já a ter em conta.

Eu tenho uma cicatriz de queimadura na mão esquerda por pensar assim...

O motor de passo não comunica a posição. Apenas são mais simples de fazer movimentos controlados. Daí teres de encontrar um sensor que te dê a posição do sistema. (pelo menos para o calibrares de início).

Depende da electroválvula...

Mais uma vez, o motor de passo não dá feedback da posição. Então tens decontar o número de passos dados pelo motor no programa. Isso é simples.
1362  International / Portugues / Re: Problemas com relé on: February 09, 2013, 05:31:25 am
Parabéns! Está bacano.

1363  Community / Local Groups / Anyone in London,UK that uses buses?? on: February 08, 2013, 02:24:33 pm
Hello,

I've written a library to get info from TfL's countdown website about the next buses arriving at a given bus stop and so far it works in my bus stops... however, with one bus stopping there, it isn't much of a challenge.

Would anyone be willing or interested in giving this a try and find some bugs or stuff to improve? smiley
1364  International / Portugues / Re: Novo projecto maquina de corte de etiquetas - iniciante on: February 08, 2013, 02:21:59 pm
Antes de mais...

Um botão de paragem de emergência. Uma filosofia que permita a paragem imediata da máquina de forma segura. Isto é a primeira coisa que tens de pensar.
Depois protecções para ninguém meter os dedos perto da guilhotina. Não sei onde isto vai ser usado, mas a segurança de todos deve estar em primeiro lugar.

Uma fonte de alimentação para tudo isto...

Qual é o tipo do motor de passo?
Dependendo disso, tens de encontrar um driver para ele. Dependendo do driver que encontrares, podes então calcular os pinos que vais precisar para o mover.

O processador, provavelmente seja melhor pegares num Mega uma vez que o LCD leva logo 6 pinos. Um shield LCD talvez seja o ideal.

Vais talvez precisar dum encoder para os motores, ou fim de curso para teres pelo menos uma posição conhecida para a máquina começar. Por isso terás de comprar dois switches de fim de curso e umas resistências.

Um relé para a electroválvula (qual é a tensão para a electroválvula?).



1365  International / Portugues / Re: Problemas com relé on: February 08, 2013, 12:44:32 pm
Tens de guardar o simbolos.h dentro duma pasta dentro da libraries.
Pages: 1 ... 89 90 [91] 92 93 ... 215