Colleghi la RX all'arduino, che rimanda i codici letti via seriale al pc.
Clicchi il pulsante del tuo telecomando
Profit!
Grazie per la risposta. In sostanza mi copio il codice che leggo da seriale premendo il bottone dal telecomando e poi lo stesso codice, lo uso con Arduino con il TX, è corretto ? Quale codice mi consigli di usare ? Grazie e buona serata
Grazie per la risposta. Questa idea non mi piace molto. Utilizzerei un'interfaccia web, potretta, in modo da gestire il tutto dai dispositivi anche a distanza. Qualcuno ha qualche codice per leggere il segnale dal telecomando che apre il garage ?
Dopo aver cercato sul web qualche soluzione, ho utilizzato il seguente programma:
// 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@airspayce.com)
// 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);
}
}
Ho collegato il data al PIN 11, ma purtroppo non riesco a leggere nessun valore. Ho provato ad utilizzare il tester, per vedere se venisse il rilevato il segnale radio sul DATA e in effetti viene rilevato. Qual'è secondo voi il problema ? L'apparecchio che sto usando è YR-MK-5V. Grazie per il supporto.
Colleghi la RX all'arduino, che rimanda i codici letti via seriale al pc.
Clicchi il pulsante del tuo telecomando
Profit!
Ciao,
Ho fatto vari tentavi ma non mi legge niente sul seriale ! Utilizzo il programma presente nella libreria virtualwire. Secondo è possibile che non riesca a leggere niente perché la comunicazione è protetta ?
scuro che la libreria vada bene per il tuo chip? hai comprato sia TX che RX? se si provali assieme. Quei moduli supportano uno due tipi di protocolli di comunicazione, magari il tuo telecomando ne usauno differente?
lesto:
scuro che la libreria vada bene per il tuo chip? hai comprato sia TX che RX? se si provali assieme. Quei moduli supportano uno due tipi di protocolli di comunicazione, magari il tuo telecomando ne usauno differente?
#include <VirtualWire.h>
const int led_pin = 6;
const int transmit_pin = 12;
const int receive_pin = 7;
const int transmit_en_pin = 3;
void setup()
{
delay(1000);
Serial.begin(9600); // Debugging only
Serial.println("setup");
// Initialise the IO and ISR
vw_set_tx_pin(transmit_pin);
vw_set_rx_pin(receive_pin);
vw_set_ptt_pin(transmit_en_pin);
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(led_pin, HIGH); // Flash a light to show received good message
// Message with a good checksum received, print it.
Serial.print("Got: ");
for (i = 0; i < buflen; i++)
{
Serial.print(buf[i], HEX);
Serial.print(' ');
}
Serial.println();
digitalWrite(led_pin, LOW);
}
}
Purtroppo non riesco a leggere niente, anche se con il tester, si vede che il sensore rileva il segnale del telecomando.