Aventuras y Desventuras de un hobbyist

Aventuras y Desventuras de un hobbyist....
Mostrando entradas con la etiqueta RF. Mostrar todas las entradas
Mostrando entradas con la etiqueta RF. Mostrar todas las entradas

Arduino Radiofrecuencia II

En una entrada anterior hice un pequeño experimento con radiofrecuencia con unas luces a control remoto de los chinos, esta vez realizare un montaje de 2 Arduinos  uno receptor y otro emisor.
El emisor tendrá 4 botones que enviaran datos según su estado (high,low) con lo que tendremos 8 valores que serán enviamos en forma de letras a,b,c,d,e,f,g,h,i. Luego la decodificación y posteriores comportamientos serán hechos en el Arduino  con el receptor.
En esta ocasión usare una libreria para Arduino llamada Virtual wire con un emisor y receptor de Aurel:




El código para el emisor seria el siguiente
 
// transmitter.pde
//
// Simple example of how to use VirtualWire to transmit messages
// Implements a simplex (one-way) transmitter with an TX-C1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@open.com.au)
// Copyright (C) 2008 Mike McCauley
// $Id: transmitter.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $


#include <VirtualWire.h>

void setup()
{
    Serial.begin(9600);      // Debugging only
    Serial.println("setup");

    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);     // Bits per sec
}

void loop()
{
    const char *msg = "hello";

    digitalWrite(13, true); // Flash a light to show transmitting
    vw_send((uint8_t *)msg, strlen(msg));
    vw_wait_tx(); // Wait until the whole message is gone
    digitalWrite(13, false);
    delay(200);
}


y el código para el receptor:

// receiver.pde
//
// Simple example of how to use VirtualWire to receive messages
// Implements a simplex (one-way) receiver with an Rx-B1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@open.com.au)
// Copyright (C) 2008 Mike McCauley
// $Id: receiver.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $

#include 

void setup()
{
    Serial.begin(9600); // Debugging only
    Serial.println("setup");

    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);  // Bits per sec

    vw_rx_start();       // Start the receiver PLL running
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Non-blocking
    {
 int i;

        digitalWrite(13, true); // Flash a light to show received good message
 // Message with a good checksum received, dump it.
 Serial.print("Got: ");
 
 for (i = 0; i < buflen; i++)
 {
     Serial.print(buf[i], HEX);
     Serial.print(" ");
 }
 Serial.println("");
        digitalWrite(13, false);
    }
}

Arduino Radiofrecuencia

Propósito: Controlar dispositivos Remotamente con Arduino 
Consideraciones iniciales:
Conectar el Arduino a un emisor de RF y enviar las ordenes a través de él a un receptor.
Dado que el propósito de este proyecto es de aprendizaje utilizaremos los materiales más baratos.


Material necesario:
  • 1*Para este proyecto me he comprado un pequeña lámpara de leds con control remoto por € 3,5.
  • 1*Arduino Uno
  • 1*led
  • 1*Relé Nais DS2Y-S-DC5V
  • 1*N4007
  • Cables
Primero analizaremos la forma en que debemos conectar el Arduino al control remoto, todos los controles remoto usan push-buttons la acción consiste en conectar dos puntos del circuito eso hará que se envíen señales de RF del emisor al receptor.

Básicamente lo que necesitamos es emular la acción del push-button a través de Arduino, esto lo conseguiremos usando un Relé, cuando un pin de Arduino sea activado el relé conectara ambos lados del push-button para cerrar el circuito y así enviar la señal de RF.

Basta de teoría y manos a la obra.....

Abrimos el control remoto.


Con una cable pequeño probamos en conectar dos puntos del push-button, si comprobamos que efectivamente la lámpara se enciende/apaga cuando unimos ambos puntos con el cable estaremos seguro de esos puntos deben ser conectados a Arduino

He soldado dos cables a ambos puntos para poder conectarlos a la breadboard y también dos para la batería (izquierda) en caso que quisiera alimentarlo a través de Arduino ya que el ctrl remoto funciona con 3v:

Ahora conectamos dichos cables del control remoto al relé y el relé a Arduino.

Y eso es todo.
Finalmente cargamos el sketch blink de arduino y tendremos el control remoto funcionando.


Este ejercicio practico nos da las bases para montar el control remoto de lámparas, electrodomésticos etc.

Como veis lo menos fácil de este proyecto es la conexión el Relé que como con cualquier otro componente debemos seguir las instrucciones del DATASHEET.   
http://www.datasheetcatalog.com/