Codes samen voegen

Arduino specifieke Software
Gebruikers-avatar
Berichten: 42
Geregistreerd: 13 Dec 2015, 20:26
Woonplaats: Gemeente Westland

Re: Codes samen voegen

Berichtdoor Hardruino » 18 Feb 2016, 14:13

Had ik ook gedaan.
Omdat ik de codes zelf niet zag was ik in de veronderstelling dat er niets gebeurde.
Ik doe mijn best.
Zou ik de weg weten zal ik nooit verdwalen.

Advertisement

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

Re: Codes samen voegen

Berichtdoor nicoverduin » 18 Feb 2016, 16:00

Deze code werkt en is getest. En ga nu niet gelijk weer in dat oorspronkelijke programma wroeten totdat je begrijpt hoe het werkt. Werkt het niet bij jou dan doe je toch echt iets verkeerd.... Deze versies zijn getest met nog een heleboel mogelijkheden om het netter te maken, maar is nu weggelaten. Anders wordt het veel te complex.
Zender
cpp code
/**
* Transmitter code
*/
#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include "printf.h" // comment this out if no radio info on serial
#include <SPI.h>
#define SW1 14 // just define a pin for the switch


int msg[1]; // message buffer
RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL; // pipe ID for both transmitter and receiver must be the same
/**
* setup
*/
void setup(void) {
Serial.begin(115200); // start the serial
printf_begin(); // enable radio status info on serial or comment out
Serial.println("Start zender");
radio.begin(); // start the radio
radio.openWritingPipe(pipe); // open our pipe for communication
radio.printDetails(); // show radio status info
pinMode(SW1, INPUT_PULLUP); // inputs with pullup
}
/**
* loop
*/
void loop(void) {
if (digitalRead(SW1) == LOW ) { // If switch is pulled LOW = ON
msg[0] = 111; // send 111 to receiver
} else {
msg[0] = 222; // send 222 to receiver
}
//
// actual message transmission and small delay
//
radio.write(msg, 1); // send out 1 byte
delay(1000);

}


Ontvanger code

cpp code
/**
* receiver code
*/

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include "printf.h" // comment this line if you do not want radio info on serial
#include <SPI.h>

#define LED1 7 // use any pin except the SPI pins

int msg[1]; // one byte buffer
RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL; // id must be identical as transmitter
/**
* setup
*/
void setup(void) {
Serial.begin(115200); // serial console at 115200 baud
printf_begin(); // enable radio to send status info to serial
Serial.println("start ontvanger");
radio.begin(); // start the radio
radio.openReadingPipe(1, pipe); // open a pipe for reading
radio.startListening(); // go into listening mode
radio.printDetails(); // show the status of the radio
pinMode(LED1, OUTPUT); // enable our LED pin
}

void loop(void) {
if (radio.available()) { // is there any data
radio.read(msg, 1); // get one byte at a time
Serial.println(msg[0]); // just show our received byte
if (msg[0] == 111) { // LED ON?
digitalWrite(LED1, HIGH);
} else { // or OFF
digitalWrite(LED1, LOW);
}
}
}
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 42
Geregistreerd: 13 Dec 2015, 20:26
Woonplaats: Gemeente Westland

Re: Codes samen voegen

Berichtdoor Hardruino » 19 Feb 2016, 16:41

alles 100 keer gecontroleerd en het zou dus moeten werken, maar helaas.
Er werkt wel wat maar niet door het indrukken van SW1.
Ik heb SW1 op D7 gezet omdat ik geen pin 14 heb.
Wat ik zie is een mooi lijstje met gegevens bij seriële monitor, van zowel de zender (Com4 bij mij), als de ontvanger (Com3 bij mij).
Bij een reset wordt deze lijst met gegevens vernieuwt en eronder bijgezet. (geldt voor de zender en ook voor de ontvanger)
De LED gaat niet aan of uit.
Moet ik nu naar het deel "Hardware" op dit forum??
Ik denk wel dat het werkt maar ik kan er nog helemaal niets mee.
Hoe eenvoudig kan het zijn; knopje indrukken bij de zender, Led aan bij de ontvanger.
Toch lukt het niet.
Ik weet zeker dat de hardware goed is aangesloten.
Of de Pull-up weerstand van 100k bij de zender moet nauw luisteren.
Bij de ontvanger gebruik ik 220 voor de led.
Bijlagen
Schermafdruk 2016-02-19 15.36.22.jpg
Schermafdruk Seriële monitor
Schermafdruk 2016-02-19 15.36.22.jpg (26.94 KiB) 8099 keer bekeken
Zou ik de weg weten zal ik nooit verdwalen.

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

Re: Codes samen voegen

Berichtdoor nicoverduin » 19 Feb 2016, 18:19

Nou niet om het een of ander, maar laat jij maar ff allebei jou sketches zien en vergrote afbeeldingen zien want ik ze niet lezen. Ook niet vergroot. Enne btw.... Deze sketches zijn getest met de hardware. De sketches zijn dus goed. Blijft over...
a) ofwel een van die modules is kapot (lijkt er niet op)
b) je hebt iets anders aangepast behalve die SW1.
c) je hebt een van die modules verkeerd aangesloten
d) De beide modules zitten op verschillende frequenties te werken (kanalen)
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 42
Geregistreerd: 13 Dec 2015, 20:26
Woonplaats: Gemeente Westland

Re: Codes samen voegen

Berichtdoor Hardruino » 19 Feb 2016, 18:49

Hoe kan dat ze op verschillende frequenties zitten?
Zou ik de weg weten zal ik nooit verdwalen.

Gebruikers-avatar
Berichten: 42
Geregistreerd: 13 Dec 2015, 20:26
Woonplaats: Gemeente Westland

Re: Codes samen voegen

Berichtdoor Hardruino » 19 Feb 2016, 19:06

cpp code
/**
* receiver code
*/

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include "printf.h" // comment this line if you do not want radio info on serial
#include <SPI.h>
#define LED1 7 // use any pin except the SPI pins

int msg[1]; // one byte buffer
RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL; // id must be identical as transmitter
/**
* setup
*/
void setup(void) {
Serial.begin(115200); // serial console at 115200 baud
printf_begin(); // enable radio to send status info to serial
Serial.println("start ontvanger");
radio.begin(); // start the radio
radio.openReadingPipe(1, pipe); // open a pipe for reading
radio.startListening(); // go into listening mode
radio.printDetails(); // show the status of the radio
pinMode(LED1, OUTPUT); // enable our LED pin
}

void loop(void) {
if (radio.available()) { // is there any data
radio.read(msg, 1); // get one byte at a time
Serial.println(msg[0]); // just show our received byte
if (msg[0] == 111) { // LED ON?
digitalWrite(LED1, HIGH);
} else { // or OFF
digitalWrite(LED1, LOW);
}
}
}


cpp code
/**
* Transmitter code
*/
#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include "printf.h" // comment this out if no radio info on serial
#include <SPI.h>
#define SW1 7 // just define a pin for the switch


int msg[1]; // message buffer
RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL; // pipe ID for both transmitter and receiver must be the same
/**
* setup
*/
void setup(void) {
Serial.begin(115200); // start the serial
printf_begin(); // enable radio status info on serial or comment out
Serial.println("Start zender");
radio.begin(); // start the radio
radio.openWritingPipe(pipe); // open our pipe for communication
radio.printDetails(); // show radio status info
pinMode(SW1, INPUT_PULLUP); // inputs with pullup
}
/**
* loop
*/
void loop(void) {
if (digitalRead(SW1) == LOW ) { // If switch is pulled LOW = ON
msg[0] = 111; // send 111 to receiver
} else {
msg[0] = 222; // send 222 to receiver
}
//
// actual message transmission and small delay
//
radio.write(msg, 1); // send out 1 byte
delay(1000);

}
Bijlagen
Schermafdruk .png
Schermafdruk .png (143.11 KiB) 8054 keer bekeken
Zou ik de weg weten zal ik nooit verdwalen.

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

Re: Codes samen voegen

Berichtdoor nicoverduin » 19 Feb 2016, 19:10

Ik kan je serial output schermples echt niet lezen. Anders kopieer je ff de tekst van het scherm en zet ze je hier ook neer
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 42
Geregistreerd: 13 Dec 2015, 20:26
Woonplaats: Gemeente Westland

Re: Codes samen voegen

Berichtdoor Hardruino » 19 Feb 2016, 19:19

start ontvanger
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0xe7e7e7e7e7 0xe8e8f0f0e1
RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR = 0xe7e7e7e7e7
RX_PW_P0-6 = 0x00 0x20 0x00 0x00 0x00 0x00
EN_AA = 0x3f
EN_RXADDR = 0x02
RF_CH = 0x4c
RF_SETUP = 0x07
CONFIG = 0x0f
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX

=============================================================

Start zender
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0xe8e8f0f0e1 0xc2c2c2c2c2
RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR = 0xe8e8f0f0e1
RX_PW_P0-6 = 0x20 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x3f
EN_RXADDR = 0x03
RF_CH = 0x4c
RF_SETUP = 0x07
CONFIG = 0x0e
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX
Zou ik de weg weten zal ik nooit verdwalen.

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

Re: Codes samen voegen

Berichtdoor nicoverduin » 19 Feb 2016, 19:33

Ik ga morgen wel ff kijken. Er lijkt een verschil te zijn tussen beide modules. Ff vergelijken met mijn opstelling.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 42
Geregistreerd: 13 Dec 2015, 20:26
Woonplaats: Gemeente Westland

Re: Codes samen voegen

Berichtdoor Hardruino » 19 Feb 2016, 19:48

Is het zo dat de teksten van beide seriële monitoren precies het zelfde moeten zijn?
Zo ja, ik heb nog wat andere modules.
Mogelijk moet ik deze gaan proberen.
Zou ik de weg weten zal ik nooit verdwalen.

VorigeVolgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: JeremysWelO en 19 gasten