ciao a tutti sono un appassionato di elettronica e dia arduino e non ho potuto far a meno di notare ciò che avete scritto.
Interessato all'argomento ho provato a realizzare un progetto in cui seguendo il vostro codice dovevo riuscire a modulare l'intensità di un led ma senza successo potreste aiutarmi gentilmente
:cry:
i vostri codici
TX:
#include <VirtualWire.h>
void setup() {
vw_set_tx_pin(2);
vw_setup(2000);
}
void loop() {
int Lettura =map (analogRead(A0),510,1023,0,1023);
/* si possono inviare soltanto valori compresi tra
0 e 255 per tanto bisogna dividere la variabile in 2 parti
trasformare quindi in byte----> trasmettere---->
riconvertire...
char msg[2] è una variabile di tipo vettore
*/
byte Lettura1 = Lettura&0xFF;
byte Lettura2=(Lettura&0xFF00)>>8;
char msg[2] = {Lettura1,Lettura2};
digitalWrite(13, HIGH);
vw_send((uint8_t *)msg, 2 );
vw_wait_tx();
digitalWrite(13, LOW);
}
RX con una mia piccola modifica
#include <VirtualWire.h>
int Lettura;
unsigned long Tmemoria;
int led = 10;
int Letturadef;
int fadeAmount = 5;
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]);
}
Letturadef = map(Lettura,0,1023,0,255);
analogWrite(led, Letturadef);
Serial.print("Lettura= ");
Serial.println(Letturadef);
}