Arduino Uno invia dati ad arduino Mega con TX/RX 433 Mhz, come?

Ciao a tutti, sto cercando di fare un lavoro per verificare produzione (fotovoltaico) e consumo (enel) della mia abitazione in reltime per poi gestire il tutto anche via lan visto che ho anche lo shield ethernet. Sono in possesso di arduino uno, che utilizzerò per collegarci due TA sui cavi dei due contatori di produzione e consumo, e di arduino mega ove visualizzerò i dati inviati dai TA in un display da 7". (poi aggiungerò, non appena mi arriva, anche la sonda temperatura) Vi chiedo aiuto su come gestire le comunicazioni tra i due arduino con i moduli TX/RX da 433 Mhz. In sostanze mi servirebbe vedere come strutturare lo sketch per, da un lato invoare i dati e dall'altro riceverli.... Ci sono sketch di prova dai quali partire? Esiste un qualcosa dal quale partire? Altra domanda....ad ogni TX è possibile assegnare un indirizzo hardware? nel senso che come in lan si assegnano gli ip per non andare in conflitto!!! Grazie a tutti per le risposte

diciamo che se la tua scelta è con moduli di questo tipo.. http://www.ebay.it/itm/2-moduli-RF-433-Mhz-trasmettitore-ricevitore-arduino-pic-shield-/261233706163?pt=Componenti_elettronici_attivi&hash=item3cd2be04b3 potresti utilizzare una libreria che si chiama virtual wire: http://www.pjrc.com/teensy/td_libs_VirtualWire.html funziona abbastanza bene e puoi trasmettere da più punti verso un unico ricevitore.

un saluto

Grazie per la risposta... Saresti cosi gentile da indicarmi uno sketch basilare che posso far accendere un led da un arduino ad un'altro? Mi serve per iniziare a smanettarci. Grazie

il classico “hello world” che trovi nella libreria, sono trasmitter-receiver te li posto anche se ancora non so di che moduli a 433MHz sei in possesso una foto sarebbe gradita.

// 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 <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

    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);
    }
}
// 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);
}

Spero possano esserti di aiuto.

Grazie, dopo provo il tutto come ho sottomano gli arduino... cmq i tx/rx sono questi

http://www.ebay.it/itm/433Mhz-WL-RF-transmitter-and-receiver-link-kit-for-Arduino-ARM-MCU-good-/330881081781?pt=LH_DefaultDomain_0&hash=item4d0a0ca1b5

Saluti