433 mhz rf VirtualWire

Arduino specifieke Software
Berichten: 42
Geregistreerd: 19 Mei 2016, 23:24

433 mhz rf VirtualWire

Berichtdoor toku » 28 Okt 2017, 15:18

hey mensen,

ik wil met 2 arduino's communiceren via 433mhz rf.
de transmitter zend gewoon maar de ontvanger ontvangt niks.
iemand enig idee wat het probleem kan zijn?

code transmitter:
cpp code
#include <VirtualWire.h>

void setup()
{
Serial.begin(9600);
Serial.println("setup");

// Initialise the IO and ISR
vw_set_tx_pin(12);
vw_setup(2000); // Bits per sec
}

void loop()
{
if (Serial.available())
{
char c = Serial.read();

if(c == '1')
{
vw_send((uint8_t *)c, 1);
Serial.println(c);

}
else if(c == '0')
{
vw_send((uint8_t *)c, 1);

Serial.println(c);
}
else {
Serial.println(c);
}
}
}

code zender:
cpp code
#include <VirtualWire.h>
void setup() {
pinMode (13,OUTPUT);
Serial.begin(9600);
digitalWrite(13,LOW);
int num;
vw_setup(2000);
vw_set_rx_pin(12);
vw_rx_start(); }

void loop() {
uint8_t buflen = VW_MAX_MESSAGE_LEN;
uint8_t buf[buflen];
Serial.write(buflen);
if (vw_get_message(buf, &buflen))

{
for(int i = 0;i <buflen;i++)
{
if(buf[i]== 1)
{
digitalWrite(13,HIGH);
}
else if(buf[i] == 0)
{
digitalWrite(13,LOW);
}
}
}
}

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: 433 mhz rf VirtualWire

Berichtdoor nicoverduin » 28 Okt 2017, 15:29

Dit is wel een heel oude library.... Maar heb je de bijgevoegde voorbeelden uitgeprobeert?
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 42
Geregistreerd: 19 Mei 2016, 23:24

Re: 433 mhz rf VirtualWire

Berichtdoor toku » 28 Okt 2017, 16:20

hey
ja deze heb ik ook geprobeerd zelfde probleem.
deze librarie stond bij de uitleg van de winkel,
waar ik hem besteld heb vandaar dat ik deze heb gebruikt(https://nl.aliexpress.com/store/product ... 10184.html)
als jij betere weet hoor ik het graag?

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: 433 mhz rf VirtualWire

Berichtdoor nicoverduin » 28 Okt 2017, 16:25

Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 42
Geregistreerd: 19 Mei 2016, 23:24

Re: 433 mhz rf VirtualWire

Berichtdoor toku » 28 Okt 2017, 16:31

merci ik ga kijken :D

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: 433 mhz rf VirtualWire

Berichtdoor Koepel » 28 Okt 2017, 16:33

Welke Arduino boards gebruik je ?

Eh ? wat ? Die transmitter en receiver heb ik nog niet eerder gezien. Dat ga ik eens beter bekijken.
Toegevoegd: Het grote printje is alleen maar de pcb antenne. Verder zijn het gewone 433MHz ASK modules. De kwaliteit lijkt me beter dan de allergoedkoopste omdat er een X-tal op zit. De nederlandse vertaling slaat nergens op, dit is een engelstalige pagina: https://www.aliexpress.com/item/Long-Range-433MHz-RF-Wireless-Transceiver-Kit-with-Antenna-Large-Power-433-MHz-Transmitter-Receiver-Module/32820610184.html.

De nieuwere RadioHead heeft bug fixes, maar gebruikt wat meer geheugen. Hij is niet ingewikkelder, kijk maar naar de RH_ASK voorbeelden.
Er zijn tal van oude versies van zip-bestanden van de VirtualWire library op internet, gebruik de laatste originele.

VirtualWire : http://www.airspayce.com/mikem/arduino/VirtualWire/. Ergens tussen de tekst staat het zip-bestand dat je kunt downloaden.
RadioHead : http://www.airspayce.com/mikem/arduino/RadioHead/.

Je ontvanger schrijft oneindig veel in de loop() naar de seriële poort. Bij iedere loop() doe je een "Serial.write(buflen)". Dan loopt de seriele buffer over en een Arduino Uno wordt opeens honderd keer langzamer en een Arduino Leonardo raakt nog verder van de kook. Probeer ook een beetje netter te werken, met correct inspringen en zo. Druk eens op Ctrl+T. Dat die "Serial.write(buflen)" verkeerd staat had je zelf kunnen zien als je de sketch netjes had geschreven :geek:

Je zou zo iets kunnen doen:
cpp code
void loop() {
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;

if(vw_get_message(buf, &buflen))
{
Serial.print("Got: ");
Serial.print(buflen);
Serial.println(" bytes");

for(int i = 0; i < buflen; i++)
{
if(buf[i] == 1)
{
digitalWrite(13,HIGH);
}
else if(buf[i] == 0)
{
digitalWrite(13,LOW);
}
}
}
}


Wist je dat je de Arduino IDE twee keer kunt opstarten, elk met hun eigen Arduino board en elk met hun eigen seriele monitor. Je kunt dus tegelijk aan de transmitter en receiver sketch werken.

Zodra je ergens een komma of een spatie zet, laat dan gerust je sketch weer zien. Dan kunnen we je voortgang een beetje in de gaten houden ;)

Berichten: 42
Geregistreerd: 19 Mei 2016, 23:24

Re: 433 mhz rf VirtualWire

Berichtdoor toku » 28 Okt 2017, 17:38

hey,

@Nico ik heb jou library gebruikt,
Bij het gebruik van de voorbeelden gebeurt er helemaal niks.
bij het gebruik van mijn eigen code is er een klein verschilletje bij vw gaat alleen het rx lampje branden bij rf beide (rx en tx)
verder zelfde probleem de ontvanger doet helemaal niks.
@koepel
nee dit wist ik niet bedankt voor de tip
het zijn beide uno's

zender code
#include <RFTransmitter.h>

#define NODE_ID 1
#define OUTPUT_PIN 12

//Send on digital pin 11 and identify as node 1
RFTransmitter transmitter(OUTPUT_PIN, NODE_ID);
void setup()
{
Serial.begin(9600);
Serial.println("setup");

}

void loop()
{
if (Serial.available())
{
char c = Serial.read();

if(c == '1')
{
Serial.println(c);
transmitter.send((byte *)c,1);


}
else if(c == '0')
{

Serial.println(c);
transmitter.send((byte *)c,1);

}
else {
Serial.println(c);
}
}
}


ontvanger code:

#include <PinChangeInterruptHandler.h>
#include <RFReceiver.h>

// Listen on digital pin 2
RFReceiver receiver(12);

void setup() {
Serial.begin(9600);
receiver.begin();
}

void loop() {
char msg[MAX_PACKAGE_SIZE];
byte senderId = 0;
byte packageId = 0;
byte len = receiver.recvPackage((byte *)msg, &senderId, &packageId);

Serial.println("");
Serial.print("Package: ");
Serial.println(packageId);
Serial.print("Sender: ");
Serial.println(senderId);
Serial.print("Message: ");
Serial.println(msg);

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: 433 mhz rf VirtualWire

Berichtdoor nicoverduin » 28 Okt 2017, 18:37

Lijkt er eerder op dat iets niet goed is aangesloten of defect
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 42
Geregistreerd: 19 Mei 2016, 23:24

Re: 433 mhz rf VirtualWire

Berichtdoor toku » 28 Okt 2017, 19:03

dacht ik ook al,
maar heb het met 2 verschillende ontvangers en verzenders geprobeerd ,
en alle aansluitingen 5x nagekeken.
lijkt mij sterk dat beide ontvangers kapot zijn.
ik heb niet zo heel veel verstand van elektriciteit kan het zijn dat die niet genoeg voltage/ampère krijgt?

Berichten: 42
Geregistreerd: 19 Mei 2016, 23:24

Re: 433 mhz rf VirtualWire

Berichtdoor toku » 28 Okt 2017, 20:17

UPDATE
als ik de led die aangesloten is op de ontvanger weg haal,
en een 1 of 0 stuurt knippert het ingebouwde led lampje (hij stuurt dus wel iets maar ergens gaat iets fout?)

Volgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: abuhearopi, esicehe, ibenaworarih en 28 gasten