collapse

* Links de Robótica

* Posts Recentes

Pendentes de compras colectivas por Hugu
[Hoje às 00:51]


Preços e fabricantes de pcb por vasco
[Ontem às 23:18]


Palavras Cruzadas por LVirtual
[Ontem às 20:54]


[Projecto] Bomba Airsoft por jm_araujo
[Ontem às 19:01]


Apresentação por Tech_JA
[23 de Setembro de 2017, 09:19]


Medir Agua que está no Poço por filjoa
[21 de Setembro de 2017, 20:58]


URGENTE - display de 7 segmentos com backpack por helderjsd
[20 de Setembro de 2017, 12:30]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]


ic SL440 da Plessey? por senso
[16 de Setembro de 2017, 13:11]


Compra Colectiva RS-Amidata por brunus
[15 de Setembro de 2017, 22:31]

Autor Tópico: Comunicação entre Arduinos por IV  (Lida 2462 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline XicoMBD

  • Mini Robot
  • *
  • Mensagens: 571
    • FranciscoDias.net
Comunicação entre Arduinos por IV
« em: 17 de Setembro de 2010, 13:32 »
Boas
Uma das coisas que sempre me fascinou foi a comunicação sem fios. Era uma das coisas que gostava de usar com arduinos. Mas até agora nunca me apeteceu gastar um balúrdio na compra de xbees.
E portanto, ultimamente tenho andado à procura de alternativas mais baratas.

O que até agora mais me chamou à atenção foi a comunicação por infravermelhos pelo seu preço e suposta facilidade em adquirir o material. Mas como ainda sou um grande novato nestas andanças, não percebo bem com a utilizar com arduino.

E assim, venho aqui pedir-vos ajuda e uns quantos conselhos.


Encontrei este
site que tem um tutorial interessante.

Mas não consigo perceber como é feita a ligação aos pinos 9 e 10 segundo este esquema e foto:
   

Está o pin positivo do led apenas ligado ao pin 9, apenas ao 10 ou a ambos?Mas voltando à questão principal, alguém tem experiência nisto, já utilizou este tipo de comunicação com arduino ou outro parecido mas igualmente barato?
« Última modificação: 28 de Setembro de 2010, 18:12 por XicoMBD »

Offline ptrobotics

  • Mini Robot
  • *
  • Mensagens: 133
  • A informática e a robótica estão ao teu alcance!
    • PTRobotics
Re: Comunicação entre Arduinos por IV
« Responder #1 em: 17 de Setembro de 2010, 16:07 »
Os normais receptores de IV responde a uma determinada frequência. Nesse caso 38khz. Ou seja existe sinal com 38khz = 1, não existe, corresponde a 0. Isto é uma forma simples de modular a frequência (FM). No caso do emissor que apresentas, é na realidade um gerador de 38khz controlado pelo arduino.
Eu construiria da seguinte forma:
Gerador de 38khz (feito com uma porta CMOS NAND 4093 por exemplo ou com o Arduino em software) ligado ao pino positivo dos led's e o outro pino à massa. Ou seja, quando fosse aplicado 1 emite 38khz, 0 não emite nada.
O receptor está já preparado para responder a essa frequencia e apenas apresenta na saida 0 ou 1.
Cumprimentos
Pedro Silva

PTRobotics
www.ptrobotics.com
Apartado 12 2636-901 Rio-de-Mouro Portugal
E-mail, MSN: pedro.silva@ptrobotics.com
Siga-nos no Fórum Blogger Twitter Facebook Linkedin

Offline XicoMBD

  • Mini Robot
  • *
  • Mensagens: 571
    • FranciscoDias.net
Re: Comunicação entre Arduinos por IV
« Responder #2 em: 28 de Setembro de 2010, 18:52 »
Bem, mal acabei de desempacotar o meu 2º arduino a primeira coisa que quis fazer foi experimentar este sistema que funcionou perfeitamente até pelo menos um metro de distância.


Como podem ver as montagens e os códigos até são bastante simples:


EMISSOR:

Código: [Seleccione]
//dirt cheap wireless TX//generates 38kHz carrier wave on pin 9 and 10  //sends data via TX every 500ms  void setup()  {    pinMode(9, OUTPUT);    pinMode(10, OUTPUT);      // Clear Timer on Compare Match (CTC) Mode    bitWrite(TCCR1A, WGM10, 0);    bitWrite(TCCR1A, WGM11, 0);    bitWrite(TCCR1B, WGM12, 1);    bitWrite(TCCR1B, WGM13, 0);      // Toggle OC1A and OC1B on Compare Match.    bitWrite(TCCR1A, COM1A0, 1);    bitWrite(TCCR1A, COM1A1, 0);    bitWrite(TCCR1A, COM1B0, 1);    bitWrite(TCCR1A, COM1B1, 0);      // No prescaling    bitWrite(TCCR1B, CS10, 1);    bitWrite(TCCR1B, CS11, 0);    bitWrite(TCCR1B, CS12, 0);      OCR1A = 210;    OCR1B = 210;      Serial.begin(2400);  }    void loop()  {    Serial.println("testing testing testing");    delay(500);  } 



RECEPTOR:

Código: [Seleccione]
//dirt cheap wireless RXvoid setup()  {    Serial.begin(2400);    pinMode(13, OUTPUT);  }    void loop()  {    // if incoming serial    if (Serial.available()) {      readSerial();      digitalWrite(13, HIGH);    } else {      digitalWrite(13, LOW);    }    delay(10);  }    void readSerial() {    char val = Serial.read();    Serial.print(val);  } 




VIDEO:



Podem encontrar mais informações no site original:
http://tthheessiiss.wordpress.com/2009/08/05/dirt-cheap-wireless/

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.726
Re: Comunicação entre Arduinos por IV
« Responder #3 em: 28 de Setembro de 2010, 23:13 »
Muito interessante e com bastantes aplicações. Tambem já tinha pensado no mesmo, aliás, uma altura cheguei a pedir mesmo uns transceivers IR da vischay.

Offline ptrobotics

  • Mini Robot
  • *
  • Mensagens: 133
  • A informática e a robótica estão ao teu alcance!
    • PTRobotics
Re: Comunicação entre Arduinos por IV
« Responder #4 em: 28 de Setembro de 2010, 23:52 »
Para responder algumas perguntas de receptores e emissores possiveis:

http://www.ptrobotics.com/category.php?id_category=34
Cumprimentos
Pedro Silva

PTRobotics
www.ptrobotics.com
Apartado 12 2636-901 Rio-de-Mouro Portugal
E-mail, MSN: pedro.silva@ptrobotics.com
Siga-nos no Fórum Blogger Twitter Facebook Linkedin