EnergiAlternativa

Page Index Toggle Pages: 1 ... 3 4 [5]  Send TopicPrint
Normal Topic trasmissione 433mhz (Read 26867 times)
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re:trasmissione 433mhz
Reply #60 - 05.07.15 at 19:04:58
Print Post  
Trasmetti direttamente il valore del convertitore senza il map.

Oppure fai il map dell'ingresso da 0 a 255 e invii il singolo byte.
In ricezione ti basterà usare il singolo buf per l'analogwrite
Ciao
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re:trasmissione 433mhz
Reply #61 - 05.07.15 at 19:16:26
Print Post  
Ovviamente testa prima senza moduli RF.
Collegando i due Gnd e il tx_pin del trasmettitore con rx_pin del ricevitore.
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
jack6226
Ex Member
*


--------

Re:trasmissione 433mhz
Reply #62 - 05.07.15 at 19:42:26
Print Post  
Grazie della veloce risposta Smiley

ma non ho capito cosa dovrei fare nel senso

1 quali sono i passaggi che devo fare ?

2 cosa intendi con trasmetti direttamente il valore del ricevitore senza il map

3 e quando dici di usare il singolo buf intendi non trasmettere due variabili ma bensi una ?

:cry: :cry: :cry: :cry:

aiutami Sad
  
Back to top
 
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re:trasmissione 433mhz
Reply #63 - 05.07.15 at 21:32:37
Print Post  
Così su due piedi il tuo codice dovrebbe funzionare.
Prova senza i moduli connettendoli direttamente con due fili.

Per il discorso trasmissione è inutile complicarsi la vita a trasmettere un valore a 16 bit visto che l'analogWrite di arduino lavora su 256 passi.
Quindi ti consiglio di trasmettere direttamente un solo byte .
Per farlo usi la funzione map come nel tuo listato convertendo il valore del convertitore a/d lettura=(analogread (x),0,1023,0,255).

Così quello che ricevi nel buf [0] lo usi direttamente sull'analogwrite
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
jack6226
Ex Member
*


--------

Re:trasmissione 433mhz
Reply #64 - 06.07.15 at 14:26:05
Print Post  
Questo e quello che mi hai detto di fare giusto?

tx
#include <VirtualWire.h>
int Letturadef;
int Lettura;
void setup() {
Serial.begin(9600);
vw_set_tx_pin(2);
vw_setup(2000);
}

void loop() {

Lettura =map (analogRead(A0),510,1023,0,1023);
Letturadef = map(Lettura,0,1023,0,255);
Serial.print("Lettura= ");
Serial.println(Letturadef);
byte Lettura1 = Letturadef&0xFF;
char msg[1] = {Lettura1};
digitalWrite(13, HIGH);
vw_send((uint8_t *)msg, 1 );
vw_wait_tx();
digitalWrite(13, LOW);
delay (200);
}


rx

#include <VirtualWire.h>
int Lettura;
unsigned long Tmemoria;
int led =  10;   
void setup() {
Serial.begin(9600) ;
pinMode(led, OUTPUT);
vw_set_rx_pin(2);
vw_setup(2000);
vw_rx_start();
}
void loop() {
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen))
{
Lettura = (int(buf[0]));
}
analogWrite(led, Lettura);
Serial.print("Lettura= ");
Serial.println(Lettura);
delay(200);
}}

facendo cio però i valori dell'analogico sono giusti nel primo e arrvano sbagliati nel secondo in pratica il centro non è 0 ma 249 e se lo metto verso il basso non è -255 ma 0

poi non riesco ancora a capire "Prova senza i moduli connettendoli direttamente con due fili."

devo fare cosa puoi spiegarmi bene anche quest'ultimo passaggio sono nelle tue mani..Cheesy
  
Back to top
 
IP Logged
 
jack6226
Ex Member
*


--------

Re:trasmissione 433mhz
Reply #65 - 06.07.15 at 14:42:31
Print Post  
Ora riesco a mandare i valori usando questo codice però..



//tx

#include <VirtualWire.h>
int Letturadef;
int Lettura;
void setup() {
Serial.begin(9600);
vw_set_tx_pin(2);
vw_setup(2000);
}

void loop() {

Lettura =map (analogRead(A0),510,1023,0,1023);
Letturadef = map(Lettura,0,1023,0,255);

byte Lettura1 = Letturadef&0xFF;
byte Lettura2=(Letturadef&0xFF00)>>8;
char msg[2] = {Lettura1,Lettura2};
digitalWrite(13, HIGH);
vw_send((uint8_t *)msg, 2 );
vw_wait_tx();
digitalWrite(13, LOW);
delay (200);
Serial.print("Lettura= ");
Serial.println(Letturadef);
}


per ricevere



#include <VirtualWire.h>
int Lettura;
unsigned long Tmemoria;
int led =  10;   
void setup() {
Serial.begin(9600) ;
pinMode(led, OUTPUT);
vw_set_rx_pin(2);
vw_setup(2000);
vw_rx_start();
}
void loop() {
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen))
{
Lettura = (int(buf[1]<<8)+buf[0]);
}
analogWrite(led, Lettura);
Serial.print("Lettura= ");
Serial.println(Lettura);
delay(200);
}
  
Back to top
 
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re:trasmissione 433mhz
Reply #66 - 07.07.15 at 07:24:42
Print Post  
Quindi funziona ?
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
jack6226
Ex Member
*


--------

Re:trasmissione 433mhz
Reply #67 - 07.07.15 at 09:52:34
Print Post  
No... :cry:
Purtroppo si accende sempre a 255 invece a 120 o 64 rimane spento..

Non so per quale assurdo motivo
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1 ... 3 4 [5] 
Send TopicPrint
 

TOP100-SOLAR Galleria Immagini EnergiAlternativa