Archive for the ‘Wireless’ Category

Módulo Wireless NRF24l01+

30 OUT
2015

Author: Leonardo Dalla Porta

Para quem trabalha com domótica já deve ter utilizado os módulos Xbee para comunicação com outros módulos espalhados pela casa. Mas podemos perceber que ele é pouco conhecido devido seu alto custo, dependendo da aplicação, seu custo fica inviável, mas como sempre temos uma alternativa secundaria. O Módulo Wireless NRF24L01+ é um grande substitudo ao Xbee, seu fabricante, no caso a “Nordic” chip utilizou ótimos materiais com um custo muito mais reduzido para a criação do chip, vejamos agora um pouco mais sobre este módulo.

 

Pequeno, mas ENORME!

 

Com seu tamanho reduzido podemos estar aplicando em diversas áreas, seu fabricante, a NORDIC tem como meta desenvolver sistemas wireless econômicos. Muitos Makers já criaram inúmeros tipos de projetos utilizando estes módulos,

 

 

Ligando os NRF24l01+ no seu Arduino

Para você conectar este módulo ao seu Arduino, basta seguir a tabela a seguir:

nRF24L01 + Pro Micro nRF24L01 + Pro Micro
VCC 3.3v GND GND
CSN 10 CE 9
MOSI 16 SCK 15
IRQ Não conectado MISO 14

Exemplo de Transmissão e Recepção

O exemplo de código todo mundo aponta para a sua primeira conexão (o esboço ping-par) não é exatamente projetado para facilitar a leitura, mas faz um trabalho digno de obter uma conexão testado com algum feedback. Várias pessoas têm expandido o teste par de ping para deixá-lo rapidamente se transformar em um modo de transmissão e outro em modo de recepção, e há todos os tipos de exemplos de desenhos alternativos.

Neste link você encontra o exemplo de transmissão simples / receber exemplo esboço. Basicamente, que transmite um pacote de 32 byte de dados com um valor único, em seguida, o receptor envia de volta.

 

Dicas

Quando começar com o nRF24L01+, tente não ficar sobrecarregado com a enorme quantidade de posts nos fórums e blogs devido as versões das bibliotecas. Antes de ligar qualquer coisa, certifique-se que você tem uma boa fonte de 3.3v. Use um direito capacitor 10uF antes do NRF24L01+. Evite jumpers. Caso precise, instale as seguintes bibliotecas para perfeito funcionamento de seu código: bibliotecas SPI e rf24.

 

Solução de problemas avançado

Problema: córregos receptor ‘pacote recebido “mensagens erroneamente

Isso normalmente aconteceu quando as linhas MOSI / MISO foram trocadas. Verifique se você tê-lo prendido acima corretamente.

Problema: cada extremidade mostra o endereço 0x00000000

Normalmente, quando isso acontece, foi porque a fonte de energia estava sendo mal conectadas ou os jumpers estavam perdendo sua conexão. Como você se move coisas ao redor, certifique-se seus fios estão bem apertados na placa de ensaio também.

Problema: rádios que perdem seus endereços

Soldar as linhas de comunicação realmente ajuda.

Também pode-se utilizar a seguinte linha:

void loop () 
{
  radio.printDetails ();
  delay(1000);
}

Sua saída deve ser algo parecido com isto:

STATUS = 0x0e RX_DR = 0 = 0 MAX_RT TX_DS = 0 = 7 TX_FULL RX_P_NO = 0
RX_ADDR_P0-1 = 0xc2c2c2c2c2 0xe7e7e7e7e7
RX_ADDR_P2-5 = 0xC3 0xC4 0xC6 0xc5
TX_ADDR = 0xc2c2c2c2c2
RX_PW_P0-6 = 0x20 0x20 0x00 0x00 0x00 0x00
EN_AA = 0x00
EN_RXADDR = 0x03
RF_CH = 0x4C
RF_SETUP = 0x07
CONFIG = 0x0f
DYNPD / 0x00 0x00 feature =
Data Rate = 1Mbps
Modelo = nRF24L01 +
CRC Comprimento = 16 bits
PA de potência = PA_HIGH

Depois de conseguir um exemplo de trabalho uma vez, tudo muda. Você vai começar a mover-se em torno de seus pinos CE / CSN, você vai experimentar com diferentes tipos de Arduinos, e você vai descobrir rapidamente que você precisa para projetar seu próprio protocolo para que você possa se mover em torno de diferentes tipos de dados a partir de diferentes unidades.

 

 

 

Qualquer dúvida deixe seu comentário abaixo, espero ter sido esclarecedor, um abraço e até a próxima!

Faça um bom uso! Att. Equipe Nadiel Comércio.

Módulo RF 433 MHz com Arduino

09 OUT
2015

Author: Leonardo Dalla Porta

Módulo RF 433 MHz com Arduino

Se você está procurando uma maneira de se comunicar entre Arduinos, mas não tem muito dinheiro à sua disposição, então não procure mais. Estes módulos de RF não são apenas acessíveis, mas fácil de usar.Eles são muito mais fáceis de configurar do que um XBee, mais você pode usá-los sem a necessidade de um protetor especial. Antes de você sair correndo e comprar uma tonelada destes módulos, certifique-se que você não está quebrando todas as leis de transmissão de rádio no seu país. Faça sua pesquisa, e comprá-los somente se você está autorizado a usá-los em sua área. Há algumas bibliotecas que podem ser usados ​​para ajudar você e seu projeto particular:

RF Blink

Em primeiro lugar, precisamos testar se os módulos de RF estão funcionando. Então, vamos projetar uma transmissão muito simples para testar a sua funcionalidade. Nós vamos usar o led do Arduino de para mostrar quando o transmissor está transmitindo, e quando o outro Arduino está recebendo. Haverá um pequeno atraso entre os dois Arduinos. Você pode soldar uma antena para estes módulos, no entanto, nós não fizemos isso, eu só manteve os módulos fechar juntos (1-2 cm de intervalo). Enquanto estiver usando 5V para VCC no receptor, gostaria de obter um monte de interferência, porém com 3V, eu quase não tivemos qualquer ruído. Se você achar que você está obtendo resultados imprevisíveis, eu sugiro que você mudar para 3V no receptor e mover os módulos de transmissor e receptor ao lado uns dos outros.

Você vai precisar de:

    • 2 x placas Arduino UNO ou compatíveis
    • Placa de ensaio
    • Fios
    • Módulo de RF (433 Mhz) – Transmissor e receptor par ou a versão de 315 MHz

O transmissor e o receptor no Fritzing:

O Transmissor

Dados para a transmissão dos dados entre eles:

E este é o esboço Arduino para realizar a transmissão de dados.

Transmissor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/ *  
 RF Blink - Transmitir esboço  
     Escrito por ScottC 17 junho de 2014 
     Arduino IDE versão 1.0.5 
     Website: http://arduinobasics.blogspot.com 
     Transmissor: FS1000A / XY-FST 
     Descrição:. Um esboço simples usado para testar a transmissão RF           
 - -------------------------------------------------- --------- * /

 #define rfTransmitPin 4   // Transmissor RF pin = digitais pino 4 
 #define ledPin 13         // Onboard LED = pino digital 13

 vazio de configuração ()
   {pinMode (rfTransmitPin, OUTPUT);     
    pinMode (ledPin, OUTPUT);    
 }

 vazio de loop ()
   {para (int i = 4000; i> 5; i = i- (i / 3))
     {digitalWrite (rfTransmitPin, ALTA);      // transmitir um sinal ALTA digitalWrite (ledPin, ALTA);             // Ligue o LED em atraso (2000);                            // Aguarde um segundo
     
     
     
     digitalWrite (rfTransmitPin, LOW);       // transmitir um sinal LOW digitalWrite (ledPin, LOW);             // Ligue o LED off atraso (i);                             // atraso variável
     
     
   }
 }

O receptor

Se tudo correr como planejado, a bordo LED nesta Arduino deve acender (e sair), ao mesmo tempo que o onboard LED no Arduino transmissão. Há uma chance de que o receptor pode pegar sinais dispersos de outros aparelhos de transmissão usando essa freqüência específica. Assim, você pode precisar de brincar com o valor limite para eliminar o “ruído”. Mas não torná-lo muito grande, ou você vai eliminar o sinal nesta experiência. Você também vai notar um pequeno atraso entre os dois Arduinos.

Receptor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/ *  
  RF Blink - Receptor esboço  
     Escrito por ScottC 17 junho de 2014 
     Arduino IDE versão 1.0.5 
     Website: http://arduinobasics.blogspot.com 
     Receiver: XY-MK-5V 
     Descrição: Um esboço simples usado para testar a transmissão RF / receptor.           
 -------------------------------------------------- ----------- * /

 #define rfReceivePin A0   // RF Receiver pin = Analog pin 0 
 #define ledPin 13         // Onboard LED = pino digital 13

 unsigned  int dados = 0;    // variável usada para armazenar os dados recebidos 
 const  unsigned  int upperThreshold = 70;   // valor limite superior 
 const  unsigned  int lowerThreshold = 50;   // menor valor limiar

 vazio de configuração ()
   {pinMode (ledPin, OUTPUT);
    Serial. começar (9600);
 }

 vazio de loop () {
   data = analogRead (rfReceivePin);     // ouvir de dados sobre Analog pin 0
   
    se (dados> upperThreshold)
     {digitalWrite (ledPin, LOW);    // Se um sinal LOW é recebido, por sua vez levou OFF Serial. println (dados);
     
   }
   
   se (dados <lowerThreshold)
     {digitalWrite (ledPin, ALTA);    // Se um sinal de alta é recebida, vire LED ON Serial. println (de dados);
     
   }
 }

Quando um sinal alto é transmitida para o outro Arduino. Ele irá produzir uma analogRead = 0.
Quando um sinal LOW é transmitido, que irá produzir um analogRead = 400.
Isso pode variar, dependendo do seu módulo e tensão utilizada.
Os sinais recebidos podem ser vistos usando o Monitor serial, e pode ser copiado em uma planilha para criar uma tabela como esta:

Você vai notar que o sinal HIGH (H) é constante, enquanto que o sinal LOW (L) está ficando menor a cada ciclo. Não estou certo por que o sinal ALTA produz uma leitura analógica de “0”. Eu teria pensado que teria sido o contrário. Mas você pode ver a partir dos resultados que um sinal de alta produz um 0 resultado e um sinal de baixa produz um valor de 400 (aproximadamente).

Qualquer dúvida deixe seu comentário abaixo, espero ter sido esclarecedor, um abraço e até a próxima!

Faça um bom uso! Att. Equipe Nadiel Comércio.

RFID RC522 Utilizando Arduino

05 MAIO
2015

Author: Leonardo Dalla Porta

 

Diariamente deparamos equipamentos cada vez mais tecnológicos, seja em um simples controle de acesso até mesmo a partida dos carros, a tecnologia RFID já esta a um certo tempo entre nós, como por exemplo carros a partir de 1996 vários modelos já contavam com um chip na chave, onde impossibilita o carro de dar partida com chave diferente, mas infelizmente poucas pessoas conhecem esse sistema, que evita muitos furtos de veículos. Mas a parte mais interessante de tudo isso é que isso esta ao seu alcance!

 

Um pouco de sua origem:

Durante a Segunda Guerra mundial, os alemães precisavam identificar os aviões os quais haviam de aterrizar na pista, mas para ter certeza se era um aliado ou inimigo foi aplicado a seguinte tática, antes de chegar próximo á pista de aterrizagem o piloto deveria girar a nave para inverter o sinal recebido pelo radar, onde os operadores do radar ja saberia que era um aliado. Primeiramente esse sistema foi chamado de RFID (Radio Frequency Identification). Tempo depois sob comando de Watson-Watt, foi desenvolvido o IFF (Identify Friend or Foe) assim todos os aviões britânicos que portavam este dispositivo poderiam ser identificados.

Após isso esse sistema evoluiu muito, em 1973, Mario W. Cardullo patenteou o projeto com um chip programável, que foi destinado a trancas eletrônicas. Na decada de 90 alguns engenheiros da IBM, criaram um sistema RFID utilizando a tecnologia UHF, que por sua vez teria um alcance de 6m em ambiente normal. Mas a IBM acabou vendendo esta patente para a Intermec. Que passou a utilizar a tecnologia em diversas áreas, em 1999 um grupo de empresas e professores criaram o Auto-ID Center localizado no Instituto de Massachussets, a partir dai a tecnologia vem sempre avançando para facilitar as coisas.

O que é RFID? Pra que serve?

 RFID ou “Radio Frequency Identification” é um sistema de identificação por aproximação, ou seja, você tem uma “Tag” Transpoder e ela é portadora de um código único, que serve para identificar alguma como por exemplo um Animal, uma pessoa, um produto, etc.

 

Curiosidades

  • Empresas como por exemplo a HP trabalham com RFID para identificar as assistências feitas nas impressoras.
  • Os EUA queriam implantar os chips RFID em todas as pessoas, talvez substituindo pelo “Social Security Card” lá utilizado.
  • No brasil já existem inúmeros animais sendo identificados dessa forma.

 

Funcionamento

 O leitor de RFID possui uma bobina, esta bobina transmite uma pequena quantia de energia, suficiente para alimentar a Tag. A Tag também possui uma bobina que ao receber essa onda eletro-magnética fornecida pelo leitor, alimenta o microchip que transmite o código pela mesma bobina.

 

O projeto

 Estaremos simulando neste projeto, uma tranca eletrônica, utilizando um servo motor, pois é uma tranca que funcionaria até mesmo com uma bateria muito pequena, pois ele não tem necessidade de ficar operando a todo momento, assim ficando até mais ecológico. O sistema consiste no Modulo leitor RFID, no Arduíno e um display de “Bem Vindo”, veja como:

Produtos utilizados:

  • Leitor RFID-RC522
  • Tag ou cartão RFID
  • Arduíno
  • Protoboard
  • Jumpers

 

Firmware

Neste LINK está disponível a biblioteca do Módulo RFID RC522. Tendo esta biblioteca instalada faça download do código, faça upload no seu Arduíno e comece a montagem de seu Hardware!

Código

 

Hardware

 

Arduino-Uno-r3-with-RFID-RC522_bb

Módulo Bluetooth HC-05

21 MAIO
2014

Author: Nadiel Comércio

Módulo Bluetooth HC-05

Este Módulo Bluetooh HC-05 oferece uma forma fácil e barata de comunicação com seu projeto Arduino. Em sua placa existe um regulador de tensão e você poderá alimentar com 3.3 a 5v, bem como um LED que indica se o módulo está pareado com outro dispositivo. Possui alcance de até 10m e suporta modo mestre e escravo.

modulo-bluetooth

Especificações:

– Protocolo Bluetooth: v2.0+EDR
– Firmware: Linvor 1.8
– Frequência: 2,4GHz Banda ISM
– Modulação: GFSK
– Emissão de energia: <=4dBm, Classe 2
– Sensibilidade: <=84dBm com 0,1% BER
– Velocidade Assíncrono: 2,1Mbps(Max)/160Kbps
– Velocidade Síncrono: 1Mbps/1Mbps
– Segurança: Autentificação e Encriptação
– Perfil: Porta Serial Bluetooth
– Suporta modo Escravo (Slave) e Mestre (Master)
– CSR chip: Bluetooth v2.0
– Banda de Onda: 2,4Hhz-2,8Ghz, Banda ISM
– Tensão: 3,3v (2,7-4.2v)
– Corrente: Pareado 35mA; Conectado 8mA
– Temperatura: -40 ~ +105°C
– Alcance: 10m
– Baud Rate: 4800;9600;19200;38400;57600;115200;230400;460800;921600;1382400
– Dimensões: 26,9 x 13 x 2,2mm
– Peso: 9,6g

Pareando:

Untitled 1

Antes de comunicar com o seu módulo você precisará pareá-lo com o dispositivo que desejas conectar. Isto vai variar dependendo do Sistema Operacional que você estará usando mas em termos gerais:

1 – Habilite o Bluetooth do seu dispositivo.
2 – Procure por outros dispositivos Bluetooth.
3 – Procure por um dispositivo chamado ‘linvor’ e parei com ele.
4 – O Código é ’1234′

Conectando:

VCC pode ser conectado a tensão 3,3v ou 5v e GND em 0v. No Arduino Uno os pinos Rx e Tx podem ser conectados ao Pino 1 e Pino 2 respectivamente.

Código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Código Arduino usando Módulo Bluetooth Escravo
char val; // Armazenar dados da porta serial
int ledpin = 13; // LED connectado ao pino 13
void setup()
{
  pinMode(ledpin, OUTPUT); // Seta LED como saída
  Serial.begin(9600); // Start comunicação serial com 9600bps
}
void loop()
{
  if(Serial.available())
  { // Se dados estão disponíveis para leitura
    val = Serial.read(); // Lê e grava em val
  }
  if(val != NULL){ // Se algo é recebido
  digitalWrite(ledpin, HIGH); // Acende LED
  }
  else
  {
    digitalWrite(ledpin, LOW); // ou desliga LED
  }
delay(100); // Espera 100ms para próxima leitura
val = NULL; // Reseta val
}

Obs: Este código foi feito para usar o Módulo Bluetooth com interface escravo.

Gostou?  Confira em nossa loja virtual, no Mercado Livre, NADIEL COMÉRCIO este produto e mais outros componentes eletrônicos.

 
WordPress Themes
WordPress Themes