3

A. Does address take character or number as input? The address is 5 bytes. In this library it is provided as an array. In C a string is merely an array of bytes. So it is possible to represent an array of bytes as a simple string. Internally the two representations: byte address[] = "123ab"; and byte address[] = { '1', '2', '3', 'a', 'b' }; and even: ...


2

As Mikael Patel mentions in the comments: your structures do not match between the transmitter and receiver. Transmitter Receiver ===================== ===================== struct Data_Package { struct Data_Package { byte j1PotX; -> byte j1PotX; byte j1PotY; -> byte j1PotY; byte j2PotX; -> ...


2

The first thing that comes to my mind is that you are powering the nrf24L01 directly from the 3V3 pin of your Arduino Uno. DO NOT do this. The 3V3 pin does not provide enough current for the nrf24L01. This renders the module completely unstable. You can: Use a decent capacitor across the VCC and GND on the module. (But I do not recommend going for that ...


1

Speed-of-light-delay measurements are not practical for the use-case you propose. As Majenko suggests in his comment, you'd need EXTREMELY accurate time measurement, as well as high speed radio-frequency signal processing. Any measurements you do through software will be far too inaccurate as a result of the software timing. Apple's iBeacons (which are based ...


1

With those technologies you have no chance. They are both low-bandwidth devices suitable for sending small amounts of sensor and control data. They can in no way be used to send video data. Both devices are rated in the kilobits or (at most) hundreds of kilobits. For video you need tens or even hundreds of megabits (depending on resolution and compression)....


1

5 bytes = more than 1 million million unique addresses, although not all addresses (as the nRF24L01 datasheet points out) are advised, for instance because they mimic the nRF's preamble packet. So what is the purpose of addresses? The purpose is to ensure that radio transmissions are received at the intended radio module. Consider a radio network where you ...


1

Remove the & in the master code line, change radio.read(message, sizeof(message)); to radio.read(message, sizeof(message)); message is an array, so either you should pass the address of the first character (&message[0]), or simply pass message. Another problem is sending a String in the slave code (using type String). It's better not to use ...


1

I see (at least one ) problem. First remove the * from: int* Msg, mSg, msG; Because it should store integers (numbers), not pointers to numbers. Also, make the variables better. These almost identical names are quite confusing (name them x, y or z or a better name). What you are doing is sending the 3 integers as integers (meaning that each integer is 2 ...


1

You have two problems: sketch_aug20b_rc_rc_rc_22:33:13: error: expected initializer before 'RF24' void setup()RF24 ^ It's basically saying "I don't understand what you mean by RF24 here". That RF24 in that line should not exist. I assume you made some kind of typo or copy-pasta error. Second: C:\Users\ASUS\Documents\Arduino\...


1

Working with serial in C on Linux is not as simple as opening a file and reading from it (though in some circumstances that can work). You should open the file using open() not fopen(), then use tcgetattr() and tcsetattr() etc to configure the port. For example: #include <stdio.h> #include <fcntl.h> #include <termios.h> #include <...


Only top voted, non community-wiki answers of a minimum length are eligible