Arduino 433mHz draadloos

Aan dit artikel wordt nog gewerkt. Een aantal dingen kloppen vermoedelijk niet.

Als ik de data die ik gelezen heb, goed begrijp kan je pulsjes zenden met de zender en die pulsjes ontvangen met de ontvanger. Afhankelijk van het aantal pulsjes per seconde kan je daar een soort berichtje van maken. Een beetje zoals morse.
Wil je meer dan alleen kleine berichten? (b.v. een website) Dan moet je opzoek naar b.v. een ESP8266

Er is een zender en een ontvanger die op de 433 mHz frequentie moeten werken. Dat is een frequentie die voor diverse electronica wordt gebruikt (afstandbedieningen etc.) dus wees niet verbaast als je storingen heb.
Je hebt zowel een zender als een ontvanger nodig. De ontvanger heeft 4 pinnen maar je hebt maar 1 pin van de 2 data pinnen nodig. De zender heeft een voedingsspanning nodig tussen de 3 en de 12V en gebruikt ca 40 mA bij 12V.
De ontvanger heeft een spanning van 5V nodig. Dat is afwijkend van blogspot waar de voedingspanning 3.3V staat aangegeven.

Omdat ik het geregeld mee maak dat een site niet bereikbaar is 'leen' ik hier de originele afbeeldingen.
Volgens instructables is het bereik ca 90 meter in een open veld.
Snelheid is minder 10 Kbps. (Kilobyte per seconde).
Verder zou een simpele draad als antene een stuk schelen in de kwaliteit.


Er is dus bij Blogspot een Arduino ontvanger aangesloten op analog0 en bij instructables is die Arduino aangesloten op digital12. Verschil van data lijkt me.
Bij instructables was ook een VirtualWire library te downloaden voor de Arduino maar bij mij is de link leeg. De Blogspot sketch werkt bij mij maar je moet de zender en ontvanger op ca 1 cm van elkaar in lijn houden. Dat las ik pas bij Tutarial 2.;-)
Helaas bleek dan de ontvanger alleen HIGH te worden als ik mijn vinger in de buurt had. De HIGH van de zender had geen effect. Maar is nu de zender of de ontvanger defect?
Dit project verdwijnt mijn vrieskist in omdat de ESP 8266 meer mogelijkheden bied.

433 mHz zender sketch:

/*
RF Blink - Transmit sketch
Written by ScottC 17 Jun 2014
Arduino IDE version 1.0.5
Website: http://arduinobasics.blogspot.com
Transmitter: FS1000A/XY-FST
Description: A simple sketch used to test RF transmission.
------------------------------------------------------------- */

#define rfTransmitPin 4 //RF Transmitter pin = digital pin 4
#define ledPin 13 //Onboard LED = digital pin 13

void setup(){
pinMode(rfTransmitPin, OUTPUT);
pinMode(ledPin, OUTPUT);
}

void loop(){
for(int i=4000; i>5; i=i-(i/3)){
digitalWrite(rfTransmitPin, HIGH); //Transmit a HIGH signal
digitalWrite(ledPin, HIGH); //Turn the LED on
delay(2000); //Wait for 1 second

digitalWrite(rfTransmitPin,LOW); //Transmit a LOW signal
digitalWrite(ledPin, LOW); //Turn the LED off
delay(i); //Variable delay
}
}
Ontvanger:

/*
RF Blink - Receiver sketch
Written by ScottC 17 Jun 2014
Arduino IDE version 1.0.5
Website: http://arduinobasics.blogspot.com
Receiver: XY-MK-5V
Description: A simple sketch used to test RF transmission/receiver.
------------------------------------------------------------- */

#define rfReceivePin A0 //RF Receiver pin = Analog pin 0
#define ledPin 13 //Onboard LED = digital pin 13

unsigned int data = 0; // variable used to store received data
const unsigned int upperThreshold = 70; //upper threshold value
const unsigned int lowerThreshold = 50; //lower threshold value

void setup(){
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop(){
data=analogRead(rfReceivePin); //listen for data on Analog pin 0

if(data>upperThreshold){
digitalWrite(ledPin, LOW); //If a LOW signal is received, turn LED OFF
Serial.println(data);
}

if(data<lowerThreshold){
digitalWrite(ledPin, HIGH); //If a HIGH signal is received, turn LED ON
Serial.println(data);
}
}

bron:
Blogspot
Google
instructables.com
instructables.com ESP8266
Berichten sturen