Depois de um tempo sem postar nada, resolvi postar umas coisas de arduino aqui no blog do meu amigo Luan. Vou fazer alguns tutoriais sobre arduino e outros microcontroladores. Hoje, irei mostrar como se comunicar com arduino através do Xbee e brincar um pouco com LCD.

Pré-requisitos:

1) 2 x Xbee.

2) 1 adaptador Xbee – PC

3) Arduino ( Mega ou Uno)

4) LCD

5) Shield Xbee-Arduino.

Primeiro passo é configurar o xbee com o programa X-CTU fornecido pela digi nesse site aqui. http://ftp1.digi.com/support/utilities/40003002_C.exe. O programa é bem simples de usar, se você usa o Windows acredito que não encontre problemas para configurar. Se usa Linux e wine talvez tenha que baixar algumas versões de firmware, no meu caso baixei a versão 11ed do XBPRO. Para configurar, abra o X-CTU e selecione a COM utilizada pelo seu adaptador XBEE. Depois vá para a aba Modem Configuration.  Escolha o seu adaptador e selecione XBEE RS232 adapter. Certifique-se de clicar em Show Defaults e clique em Write. Caso de algum problema na gravação altere o valor do baud rate na aba PC Settings. Esse procedimento deverá ser feito para os dois módulos XBEE. Com os dois módulos configurados vamos agora a parte das conexões do LCD.

Para o LCD as pinagens são as seguintes:

LCD                      Arduino

1  ——————-  GND

2 ——————– +5V

4   ——————  2

5 ——————– 3

6 ——————– 4

3 ——————– 5 * ( Você tem a opção de colocar o pino 3 no GND )

11 ——————- 9

12 ——————- 10

13 ——————- 11

14 ——————- 12

15 ——————- +5v

16 ——————- GND

A opção de ligar o pino 3 no pino 5 é para controlar o contraste, isso pode ser feito com o analogWrite(5, [0 – 255] );

O código no arduino :

#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 9, 10, 11, 12);

void setup(){
    // Configure a velocidade de envio dos dados pela serial Xbee
    Serial.begin(9600);
    lcd.print(“hello”);
    analogWrite(5, 128);
}

void loop(){
   //Espera os Bytes na Serial

   if (Serial.available()) {
    // Espera 100ms para que receba todo os bytes da serial
    delay(100);
    // Limpa o visor.
    lcd.clear();
    // Lê todos os caracteres, enquanto houverem.
    while (Serial.available() > 0) {
      // Escreve no LCD
      lcd.write(Serial.read());
    }
 
     }
}

Para mandar dados pelo Xbee abra o X-CTU e vá na aba Terminal. Lá você poder mandar um caracter por vez ou mandar uma frase através do comando Assemble Packet.

Vlw Galera.

Qualquer dúvida é só comentar que eu vou tenta ajudar.

Anúncios