ecco l'immagine del circuito
immagine ingrandita
http://img21.imageshack.us/img21/5861/090918174949.jpg
sto utilizzando la libreria VirtualWire http://www.seeedstudio.com/depot/images/product/VirtualWire.pdf
allora nel quadrato rosso c'è un ATmega168 con relativi condensatori, cristallo, alimentazione e il cavo dati di trasmissione messo sul pin18 dell'integrato cioè il pin 12 di arduino
nel quadrato verde c'è il trasmettitore alimentato con la 3v3 di arduino da qui esce il cavo dati che va all'ATmega168
nel quadrato blu c'è il ricevitore alimentato con la 5V di arduino e il cavo dati che va al pin 7 di arduino
su arduino c'è caricato questo codice
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600);
Serial.println("setup");
vw_setup(2000); // Bits per sec
vw_rx_start(); // Start the receiver PLL running
vw_set_rx_pin(7);
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
vw_wait_rx();
if (vw_get_message(buf, &buflen)) // Non-blocking
{
Serial.println("ok");
int i;
// Message with a good checksum received, dump HEX
Serial.print("Got: ");
for (i = 0; i < buflen; i++)
{
Serial.print(buf[i], HEX);
Serial.print(" ");
}
Serial.println("");
}
}
mentre sull'ATmega168 questo:
#include <VirtualWire.h>
void setup()
{
vw_setup(2000); // Bits per sec
}void loop()
{
const char *msg = "hello";
vw_send((uint8_t *)msg, strlen(msg));
delay(400);
}
il problema sta nel fatto che quando vado a leggere la seriale dal serial monitor leggo solo il messaggio setup e poi piu niente
ce qualcuno che ha qualche suggerimento?
io e tutto il pomeriggio che provo e niente...