433 mhz rf VirtualWire

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

Re: 433 mhz rf VirtualWire

Berichtdoor Koepel » 28 Okt 2017, 20:31

Dat begrijp ik niet.
De receiver heeft een comparator/opamp en die levert voor de data uitgang nauwelijk voldoende voltage om als HIGH gezien te worden. Dus als je daar een led aan heb gehangen, dan blijft de uitgang van de receiver te laag.

Je kunt een foto maken van je opstelling en aan ons laten zien.

Psssst, ik heb stiekem mijn ingang INPUT_PULLUP gemaakt om het signal van de ontvanger op te peppen. Maar niet verder vertellen hoor, want ik heb nog nooit gehoord dat iemand anders dat ook doet.

Advertisement

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

Re: 433 mhz rf VirtualWire

Berichtdoor toku » 29 Okt 2017, 12:52

hey mensen,
ik heb het werkend gekregen door de ontvanger aan te sluiten op de rx pin van de uno( pin 0),

opstelling sender:
bleutooth module op rx en tx,
reciever signal op pin 12,
grd,vcc op breadboard met elkaar verbonden,

opstelling ontvanger:
ontvanger signal op rx pin(0)
vcc op 5 volt
gnd op gnd

nu heb ik nog 2 vraagjes,
de serial monitor stopt bij message
( dit stuurt hij
Package: 3
Sender: 1
Message: )

ik denk het verzonden bericht te snel verdwijnt(klopt dit? en hoe pas ik dit aan)
hoe kan ik zo veranderen dat hij bij een 1 een willekeurige pin op high zet en bij 0 low(ik vraag niet om mijn code voor mij te schrijven maar een aantal tips om mij op weg te helpen zouden fijn zijn)

bedankt voor de moeite zover.

code ontvanger;


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

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

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: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: 433 mhz rf VirtualWire

Berichtdoor Koepel » 29 Okt 2017, 16:17

Volgens mij heb je ergens oorzaak en gevolg omgedraaid.

Bij een Arduino Uno is pin 0 (RX) en pin 1 (TX) verbonden met een usb-serial chip die naar de computer gaat.
Dat wordt gebruikt om de sketch te uploaden (via de bootloader) en voor de seriële monitor.
Je kunt dus beter pin 0 en pin 1 maar niet gebruiken.

Iedere digitale pin op de Arduino kun je gebruiken als input voor de ontvanger. Er is voor jouw sketch voor de 433 MHz ontvanger geen verschil tussen de pinnen.

Waar komt die Bluetooth opeens vandaan ?
Zit die bij de zender op pin 0 en 1 ? Maar dan werkt je seriële monitor niet goed meer :?
Wanneer SoftwareSerial zou gebruiken voor de Bluetooth, dan belast dat de Arduino Uno zo erg, dan mag je nog blij zijn als je een ledje kunt laten knipperen.

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

Re: 433 mhz rf VirtualWire

Berichtdoor toku » 29 Okt 2017, 17:01

sorry voor de onduidelijkheid,

de bedoeling is om met een telefoon een signaal te sturen naar de arduino zender,
deze stuurt dan een signaal naar de ontvanger die een relay aanstuurt.
als ik jou goed begrijp kan dit niet?
zou dit wel werken met een externe voeding?

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

Re: 433 mhz rf VirtualWire

Berichtdoor Koepel » 29 Okt 2017, 19:38

Wat kan er niet ? Wat is er met de voeding ?

Kun je eens uitleggen wat je hebt.

De zender: Een Arduino Uno met transmitter en Bluetooth module. Aan welke pinnen heb je die dingen aangesloten ? Hoe gebruik je de Bluetooth module in de sketch ? Heb je echt SoftwareSerial gebruikt ?

De ontvanger: Een Arduino Uno met receiver en relais. Heb je al een andere pin voor de receiver geprobeerd ? Wat is er met dat mysterieuze ledje waar je het over had ?

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

Re: 433 mhz rf VirtualWire

Berichtdoor toku » 29 Okt 2017, 20:40

hey
de bluetooth module is op de rx en tx pin aangesloten (pin 0 en 1)
wat de bedoeling is is dat door middel van een android app een 1 of 0 naar de arduino word gestuurd via bluetooth.
dit word vanuit de uno zender naar de ontvanger gestuurd via rf,
de ontvanger stuurt een relay aan bij ontvangst van een 1 of een 0
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);

Vorige

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: ahuteexmiw en 21 gasten