Tag Archives: proximity sensor

Final Project: Project Update #4

Last week I worked on the wireless transmission of data between the costume (Arduino Lilypad Board) and the Max software on the laptop. After adopting the trial-and-error method, I managed to achieve a relatively smoother data flow. With both electronics and the clothes ready, the last thing to be done is to integrate everything and test the sounds/lights, and that the costume withstands duress from stretching, heat, and perspiration, etc.


 

IMG_8778

The first step toward a both functional and aesthetic costume is to sew electronic components onto the coat. My initial idea was to hide all the wires underneath the fabrics and exposing only sensors and LED lights. During the making process, I found that the exposed wires actually created unexpected aesthetic effects by adding another layer of texture on top of the black velvet material. Due to the elastic property of the wire, I was able to change its shape to construct a mesh in which LED lights were randomly yet evenly distributed.


IMG_8787
More wires and a more complicated mesh.

Another major concern was where to place the Lilypad main board. As it controls the functionality of the costume, it has very complex connections to rest of the circuit thus has lots of wires. I didn’t want it to be exposed so I made a slit near the collar and hid the slit with a fold.

IMG_8780

IMG_8784

 

IMG_8785


As a result the board was hid under the cape and would not affect the appearance of the costume. Moreover, I was able to adjust the direction to which the proximity sensor faced so it could give more accurate data.

 

And lastly, I tried dancing in the costume and it didn’t hinder most of my movements except some arm and shoulder ones because the existence of the cape and the wire mesh. I placed the power bank in my pants pocket and it worked normally. Another issue was that I had to adjust the angle of the proximity sensor from time to time as the wires connecting it tended to twist away from its original position.

 

Final Project: Project Update #3

Last week I finished most of the non-electronic aspect of the costume design.

On the performance day, I will wear a white shirt under the outer garment and probably black pants to look like a conductor of an orchestra.

IMG_8775


This week I focused more on codings especially the radio transmission of data used to generate and control sound within a MAX/MSP environment. We switched from bluetooth wireless to radio wireless (as shown in the picture below) as bluetooth had some connection problem with Mac causing the data transmission to be unstable.

nrf24L01-black
The nRF24L01 is a highly integrated, ultra low power (ULP) 2Mbps RF transceiver IC for the 2.4GHz ISM (Industrial, Scientific and Medical) band.

Basically there are two nRF24L01 transceivers with one as the transmitter sending out the data and the other one receiving the data. The transmitter will be connected to Lilypad which is sewn onto the costume. The receiver will be connected to Randall’s Mac and Max software will be extracting data from it to generate sound control.

Following is the code I have developed under the guidance of Naga. It is for both receiver and transmitter. Just change the value of the variable “role” to either “sender” or “receiver” when programming respective boards.

Probably you have noticed the big chunks of “if-else” clauses. They were written to ensure a gradual change of the parameter. As the proximity sensor sometimes gave us very sudden changes of the data, which in turn caused Max software unable to perceive and process it.

/* THIS PROGRAM IS SENDER AND RECEIVER FOR RADIO COMMUNICATION

SENDER HAS THE SENSOR CONNECTED
RECEIVER IS CONNECTED TO LAPTOP

*/

#include <SPI.h>
#include “nRF24L01.h”
#include “RF24.h”
#include “printf.h”

RF24 radio(9,10);
const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };

typedef enum { SENDER=1, RECEIVER} role_e;
const char* role_name[] = { “invalid”, “SENDER”, “RECEIVER”};

role_e role = SENDER;

int sensor_pin = A0;
int recv_values[3];
int sensor_values[3];
int ack_values[3];
int ar_size = 3;
uint8_t tmp;
uint8_t cnt;
bool read_status = false;
bool write_status = false;
int current_val ;
int previous_val;
int new_distance;
int old_distance;
int diff_distance;
int distance;

//LED section
int led = 8; // the PWM pin the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by

void setup()
{

pinMode(sensor_pin, INPUT);
// declare pin 8 to be an output:
pinMode(led, OUTPUT);
Serial.begin(57600);
printf_begin();
Serial.println(role_name[role]);

radio.begin();
radio.setRetries(15,15);
radio.setPayloadSize(sizeof(int)*ar_size);

if(role == SENDER)
{
radio.openWritingPipe(pipes[0]);
radio.openReadingPipe(1,pipes[1]);
}
if(role == RECEIVER)
{
radio.openWritingPipe(pipes[1]);
radio.openReadingPipe(1,pipes[0]);
}
radio.startListening();
radio.printDetails();
delay(20);

old_distance = analogRead(sensor_pin);
}

void loop()
{

if(role == SENDER)
{
radio.stopListening();
unsigned long time = millis();
//printf(“Now sending %lu…”,time);

new_distance = analogRead(sensor_pin);
diff_distance = new_distance – old_distance;

printf(“%d %d %d”, new_distance, old_distance, diff_distance);

if (diff_distance >=10){ //sudden change in data
//make sudden changes smooth
distance = old_distance;
printf(“%d”,distance);
//for (int counter = 0; counter < diff_distance; counter++) {
distance = distance + int(diff_distance/4);
if (distance <= 12) {
distance = 1;
} else if (distance <= 14){
distance = 2;
} else if (distance <= 16){
distance = 3;
} else if (distance <= 18 ){
distance = 4;
} else if (distance <= 20 ){
distance = 5;
} else if (distance <= 22 ){
distance = 6;
} else if (distance <= 24){
distance = 7;
} else if (distance <= 26){
distance = 8;
} else if (distance <= 28){
distance = 9;
} else if (distance <= 30){
distance = 10;
} else if (distance <= 32){
distance = 11;
} else if (distance <= 34){
distance = 12;
} else if (distance <= 36){
distance = 13;
} else if (distance <= 38 ){
distance = 14;
} else if (distance <= 40){
distance = 15;
} else if (distance <= 42){
distance = 16;
} else if (distance <= 44){
distance = 17;
} else if (distance <= 46){
distance = 18;
} else if (distance <= 48){
distance = 19;
} else if (distance <= 50){
distance = 20;
} else if (distance <= 52){
distance = 21;
} else if (distance <= 54 ){
distance = 22;
} else if (distance <= 56){
distance = 23;
} else if (distance <= 58){
distance = 24;
} else if (distance <= 60){
distance = 25;
} else if (distance <= 62){
distance = 26;
} else if (distance <= 64){
distance = 27;
} else if (distance <= 66){
distance = 28;
} else if (distance <= 68){
distance = 29;
} else if (distance <= 70 ){
distance = 30;
} else if (distance <= 72){
distance = 31;
} else if (distance <= 74){
distance = 32;
} else if (distance <= 76){
distance = 33;
} else if (distance <= 78){
distance = 34;
} else if (distance <= 80){
distance = 35;
} else if (distance <= 82){
distance = 36;
} else if (distance <= 84){
distance = 37;
} else if (distance <= 86 ){
distance = 38;
} else if (distance <= 88){
distance = 39;
} else if (distance <= 90){
distance = 40;
} else if (distance <= 92){
distance = 41;
} else if (distance <= 94){
distance = 42;
} else if (distance <= 96){
distance = 43;
} else if (distance <= 98){
distance = 44;
} else if (distance <= 100){
distance = 45;
} else if (distance <= 102){
distance = 46;
} else if (distance <= 104){
distance =47;
} else if (distance <= 106){
distance = 48;
} else if (distance <= 108 ){
distance = 49;
} else if (distance <= 110){
distance = 50;
}else if (distance <= 112){
distance = 51;
}else if (distance <= 114){
distance = 52;
}else if (distance <= 116){
distance = 53;
}else if (distance <= 118){
distance = 54;
}else if (distance <= 120 ){
distance = 55;
} else if (distance <= 122 ){
distance = 56;
} else if (distance <= 124){
distance = 57;
} else if (distance <= 126){
distance = 58;
} else if (distance <= 128){
distance = 59;
} else if (distance <= 130){
distance = 60;
} else if (distance <= 132){
distance = 61;
} else if (distance <= 134){
distance = 62;
} else if (distance <= 136){
distance = 63;
} else if (distance <= 138 ){
distance = 64;
} else if (distance <= 140){
distance = 65;
} else if (distance <= 142){
distance = 66;
} else if (distance <= 144){
distance = 67;
} else if (distance <= 146){
distance = 68;
} else if (distance <= 148){
distance = 69;
} else if (distance <= 150){
distance = 70;
} else if (distance <= 152){
distance = 71;
} else if (distance <= 154 ){
distance = 72;
} else if (distance <= 156){
distance = 73;
} else if (distance <= 158){
distance = 74;
} else if (distance <= 160){
distance = 75;
} else if (distance <= 162){
distance = 76;
} else if (distance <= 164){
distance = 77;
} else if (distance <= 166){
distance = 78;
} else if (distance <= 168){
distance = 79;
} else if (distance <= 170 ){
distance = 80;
} else if (distance <= 172){
distance = 81;
} else if (distance <= 174){
distance = 82;
} else if (distance <= 176){
distance = 83;
} else if (distance <= 178){
distance = 84;
} else if (distance <= 180){
distance = 85;
} else if (distance <= 182){
distance = 86;
} else if (distance <= 184){
distance = 87;
} else if (distance <= 186 ){
distance = 88;
} else if (distance <= 188){
distance = 89;
} else if (distance <= 190){
distance = 90;
} else if (distance <= 192){
distance = 91;
} else if (distance <= 194){
distance = 92;
} else if (distance <= 196){
distance = 93;
} else if (distance <= 198){
distance = 94;
} else if (distance <= 200){
distance = 95;
} else if (distance <= 202){
distance = 96;
} else if (distance <= 204){
distance = 97;
} else if (distance <= 206){
distance = 98;
} else if (distance <= 208){
distance = 99;
} else if (distance <= 210){
distance = 100;
} else if (distance <= 212){
distance = 101;
} else if (distance <= 214){
distance = 102;
} else if (distance <= 216){
distance = 103;
} else if (distance <= 218){
distance = 104;
} else if (distance <= 220){
distance = 105;
} else if (distance <= 222){
distance = 106;
} else if (distance <= 224){
distance = 107;
} else if (distance <= 226){
distance = 108;
} else if (distance <= 228){
distance = 109;
} else if (distance <= 230){
distance = 110;
} else if (distance <= 232){
distance = 111;
} else if (distance <= 234){
distance = 112;
} else if (distance <= 236){
distance = 113;
} else if (distance <= 238){
distance = 114;
} else if (distance <= 240){
distance = 115;
} else if (distance <= 242){
distance = 116;
} else if (distance <= 244){
distance = 117;
} else if (distance <= 246){
distance = 118;
} else if (distance <= 248){
distance = 119;
} else if (distance <= 250){
distance = 120;
} else if (distance <= 252){
distance = 121;
} else if (distance <= 254){
distance = 122;
} else if (distance <= 256){
distance = 123;
} else if (distance <= 258){
distance = 124;
} else if (distance <= 260){
distance = 125;
} else if (distance <= 262){
distance = 126;
} else if (distance <= 264){
distance = 127;
} else if (distance <= 266){
distance = 128;
} else if (distance <= 268){
distance = 129;
} else if (distance <= 500){
distance = 130;
}

// } //for loop end

old_distance = new_distance;

}else if (diff_distance <= -10) {
//make sudden changes smooth
distance = old_distance;

//for (int counter = 0; counter > diff_distance; counter–) {
distance = distance – int(diff_distance/4);
if (distance <= 12) {
distance = 1;
} else if (distance <= 14){
distance = 2;
} else if (distance <= 16){
distance = 3;
} else if (distance <= 18 ){
distance = 4;
} else if (distance <= 20 ){
distance = 5;
} else if (distance <= 22 ){
distance = 6;
} else if (distance <= 24){
distance = 7;
} else if (distance <= 26){
distance = 8;
} else if (distance <= 28){
distance = 9;
} else if (distance <= 30){
distance = 10;
} else if (distance <= 32){
distance = 11;
} else if (distance <= 34){
distance = 12;
} else if (distance <= 36){
distance = 13;
} else if (distance <= 38 ){
distance = 14;
} else if (distance <= 40){
distance = 15;
} else if (distance <= 42){
distance = 16;
} else if (distance <= 44){
distance = 17;
} else if (distance <= 46){
distance = 18;
} else if (distance <= 48){
distance = 19;
} else if (distance <= 50){
distance = 20;
} else if (distance <= 52){
distance = 21;
} else if (distance <= 54 ){
distance = 22;
} else if (distance <= 56){
distance = 23;
} else if (distance <= 58){
distance = 24;
} else if (distance <= 60){
distance = 25;
} else if (distance <= 62){
distance = 26;
} else if (distance <= 64){
distance = 27;
} else if (distance <= 66){
distance = 28;
} else if (distance <= 68){
distance = 29;
} else if (distance <= 70 ){
distance = 30;
} else if (distance <= 72){
distance = 31;
} else if (distance <= 74){
distance = 32;
} else if (distance <= 76){
distance = 33;
} else if (distance <= 78){
distance = 34;
} else if (distance <= 80){
distance = 35;
} else if (distance <= 82){
distance = 36;
} else if (distance <= 84){
distance = 37;
} else if (distance <= 86 ){
distance = 38;
} else if (distance <= 88){
distance = 39;
} else if (distance <= 90){
distance = 40;
} else if (distance <= 92){
distance = 41;
} else if (distance <= 94){
distance = 42;
} else if (distance <= 96){
distance = 43;
} else if (distance <= 98){
distance = 44;
} else if (distance <= 100){
distance = 45;
} else if (distance <= 102){
distance = 46;
} else if (distance <= 104){
distance =47;
} else if (distance <= 106){
distance = 48;
} else if (distance <= 108 ){
distance = 49;
} else if (distance <= 110){
distance = 50;
}else if (distance <= 112){
distance = 51;
}else if (distance <= 114){
distance = 52;
}else if (distance <= 116){
distance = 53;
}else if (distance <= 118){
distance = 54;
}else if (distance <= 120 ){
distance = 55;
} else if (distance <= 122 ){
distance = 56;
} else if (distance <= 124){
distance = 57;
} else if (distance <= 126){
distance = 58;
} else if (distance <= 128){
distance = 59;
} else if (distance <= 130){
distance = 60;
} else if (distance <= 132){
distance = 61;
} else if (distance <= 134){
distance = 62;
} else if (distance <= 136){
distance = 63;
} else if (distance <= 138 ){
distance = 64;
} else if (distance <= 140){
distance = 65;
} else if (distance <= 142){
distance = 66;
} else if (distance <= 144){
distance = 67;
} else if (distance <= 146){
distance = 68;
} else if (distance <= 148){
distance = 69;
} else if (distance <= 150){
distance = 70;
} else if (distance <= 152){
distance = 71;
} else if (distance <= 154 ){
distance = 72;
} else if (distance <= 156){
distance = 73;
} else if (distance <= 158){
distance = 74;
} else if (distance <= 160){
distance = 75;
} else if (distance <= 162){
distance = 76;
} else if (distance <= 164){
distance = 77;
} else if (distance <= 166){
distance = 78;
} else if (distance <= 168){
distance = 79;
} else if (distance <= 170 ){
distance = 80;
} else if (distance <= 172){
distance = 81;
} else if (distance <= 174){
distance = 82;
} else if (distance <= 176){
distance = 83;
} else if (distance <= 178){
distance = 84;
} else if (distance <= 180){
distance = 85;
} else if (distance <= 182){
distance = 86;
} else if (distance <= 184){
distance = 87;
} else if (distance <= 186 ){
distance = 88;
} else if (distance <= 188){
distance = 89;
} else if (distance <= 190){
distance = 90;
} else if (distance <= 192){
distance = 91;
} else if (distance <= 194){
distance = 92;
} else if (distance <= 196){
distance = 93;
} else if (distance <= 198){
distance = 94;
} else if (distance <= 200){
distance = 95;
} else if (distance <= 202){
distance = 96;
} else if (distance <= 204){
distance = 97;
} else if (distance <= 206){
distance = 98;
} else if (distance <= 208){
distance = 99;
} else if (distance <= 210){
distance = 100;
} else if (distance <= 212){
distance = 101;
} else if (distance <= 214){
distance = 102;
} else if (distance <= 216){
distance = 103;
} else if (distance <= 218){
distance = 104;
} else if (distance <= 220){
distance = 105;
} else if (distance <= 222){
distance = 106;
} else if (distance <= 224){
distance = 107;
} else if (distance <= 226){
distance = 108;
} else if (distance <= 228){
distance = 109;
} else if (distance <= 230){
distance = 110;
} else if (distance <= 232){
distance = 111;
} else if (distance <= 234){
distance = 112;
} else if (distance <= 236){
distance = 113;
} else if (distance <= 238){
distance = 114;
} else if (distance <= 240){
distance = 115;
} else if (distance <= 242){
distance = 116;
} else if (distance <= 244){
distance = 117;
} else if (distance <= 246){
distance = 118;
} else if (distance <= 248){
distance = 119;
} else if (distance <= 250){
distance = 120;
} else if (distance <= 252){
distance = 121;
} else if (distance <= 254){
distance = 122;
} else if (distance <= 256){
distance = 123;
} else if (distance <= 258){
distance = 124;
} else if (distance <= 260){
distance = 125;
} else if (distance <= 262){
distance = 126;
} else if (distance <= 264){
distance = 127;
} else if (distance <= 266){
distance = 128;
} else if (distance <= 268){
distance = 129;
} else if (distance <= 500){
distance = 130;
}

// } //end of for loop

old_distance = new_distance;

} else { //smooth change in data
distance = new_distance;
old_distance = new_distance;
if (distance <= 12) {
distance = 1;
} else if (distance <= 14){
distance = 2;
} else if (distance <= 16){
distance = 3;
} else if (distance <= 18 ){
distance = 4;
} else if (distance <= 20 ){
distance = 5;
} else if (distance <= 22 ){
distance = 6;
} else if (distance <= 24){
distance = 7;
} else if (distance <= 26){
distance = 8;
} else if (distance <= 28){
distance = 9;
} else if (distance <= 30){
distance = 10;
} else if (distance <= 32){
distance = 11;
} else if (distance <= 34){
distance = 12;
} else if (distance <= 36){
distance = 13;
} else if (distance <= 38 ){
distance = 14;
} else if (distance <= 40){
distance = 15;
} else if (distance <= 42){
distance = 16;
} else if (distance <= 44){
distance = 17;
} else if (distance <= 46){
distance = 18;
} else if (distance <= 48){
distance = 19;
} else if (distance <= 50){
distance = 20;
} else if (distance <= 52){
distance = 21;
} else if (distance <= 54 ){
distance = 22;
} else if (distance <= 56){
distance = 23;
} else if (distance <= 58){
distance = 24;
} else if (distance <= 60){
distance = 25;
} else if (distance <= 62){
distance = 26;
} else if (distance <= 64){
distance = 27;
} else if (distance <= 66){
distance = 28;
} else if (distance <= 68){
distance = 29;
} else if (distance <= 70 ){
distance = 30;
} else if (distance <= 72){
distance = 31;
} else if (distance <= 74){
distance = 32;
} else if (distance <= 76){
distance = 33;
} else if (distance <= 78){
distance = 34;
} else if (distance <= 80){
distance = 35;
} else if (distance <= 82){
distance = 36;
} else if (distance <= 84){
distance = 37;
} else if (distance <= 86 ){
distance = 38;
} else if (distance <= 88){
distance = 39;
} else if (distance <= 90){
distance = 40;
} else if (distance <= 92){
distance = 41;
} else if (distance <= 94){
distance = 42;
} else if (distance <= 96){
distance = 43;
} else if (distance <= 98){
distance = 44;
} else if (distance <= 100){
distance = 45;
} else if (distance <= 102){
distance = 46;
} else if (distance <= 104){
distance =47;
} else if (distance <= 106){
distance = 48;
} else if (distance <= 108 ){
distance = 49;
} else if (distance <= 110){
distance = 50;
}else if (distance <= 112){
distance = 51;
}else if (distance <= 114){
distance = 52;
}else if (distance <= 116){
distance = 53;
}else if (distance <= 118){
distance = 54;
}else if (distance <= 120 ){
distance = 55;
} else if (distance <= 122 ){
distance = 56;
} else if (distance <= 124){
distance = 57;
} else if (distance <= 126){
distance = 58;
} else if (distance <= 128){
distance = 59;
} else if (distance <= 130){
distance = 60;
} else if (distance <= 132){
distance = 61;
} else if (distance <= 134){
distance = 62;
} else if (distance <= 136){
distance = 63;
} else if (distance <= 138 ){
distance = 64;
} else if (distance <= 140){
distance = 65;
} else if (distance <= 142){
distance = 66;
} else if (distance <= 144){
distance = 67;
} else if (distance <= 146){
distance = 68;
} else if (distance <= 148){
distance = 69;
} else if (distance <= 150){
distance = 70;
} else if (distance <= 152){
distance = 71;
} else if (distance <= 154 ){
distance = 72;
} else if (distance <= 156){
distance = 73;
} else if (distance <= 158){
distance = 74;
} else if (distance <= 160){
distance = 75;
} else if (distance <= 162){
distance = 76;
} else if (distance <= 164){
distance = 77;
} else if (distance <= 166){
distance = 78;
} else if (distance <= 168){
distance = 79;
} else if (distance <= 170 ){
distance = 80;
} else if (distance <= 172){
distance = 81;
} else if (distance <= 174){
distance = 82;
} else if (distance <= 176){
distance = 83;
} else if (distance <= 178){
distance = 84;
} else if (distance <= 180){
distance = 85;
} else if (distance <= 182){
distance = 86;
} else if (distance <= 184){
distance = 87;
} else if (distance <= 186 ){
distance = 88;
} else if (distance <= 188){
distance = 89;
} else if (distance <= 190){
distance = 90;
} else if (distance <= 192){
distance = 91;
} else if (distance <= 194){
distance = 92;
} else if (distance <= 196){
distance = 93;
} else if (distance <= 198){
distance = 94;
} else if (distance <= 200){
distance = 95;
} else if (distance <= 202){
distance = 96;
} else if (distance <= 204){
distance = 97;
} else if (distance <= 206){
distance = 98;
} else if (distance <= 208){
distance = 99;
} else if (distance <= 210){
distance = 100;
} else if (distance <= 212){
distance = 101;
} else if (distance <= 214){
distance = 102;
} else if (distance <= 216){
distance = 103;
} else if (distance <= 218){
distance = 104;
} else if (distance <= 220){
distance = 105;
} else if (distance <= 222){
distance = 106;
} else if (distance <= 224){
distance = 107;
} else if (distance <= 226){
distance = 108;
} else if (distance <= 228){
distance = 109;
} else if (distance <= 230){
distance = 110;
} else if (distance <= 232){
distance = 111;
} else if (distance <= 234){
distance = 112;
} else if (distance <= 236){
distance = 113;
} else if (distance <= 238){
distance = 114;
} else if (distance <= 240){
distance = 115;
} else if (distance <= 242){
distance = 116;
} else if (distance <= 244){
distance = 117;
} else if (distance <= 246){
distance = 118;
} else if (distance <= 248){
distance = 119;
} else if (distance <= 250){
distance = 120;
} else if (distance <= 252){
distance = 121;
} else if (distance <= 254){
distance = 122;
} else if (distance <= 256){
distance = 123;
} else if (distance <= 258){
distance = 124;
} else if (distance <= 260){
distance = 125;
} else if (distance <= 262){
distance = 126;
} else if (distance <= 264){
distance = 127;
} else if (distance <= 266){
distance = 128;
} else if (distance <= 268){
distance = 129;
} else if (distance <= 500){
distance = 130;
}

} //end of else

sensor_values[0] = distance;
sensor_values[1] = (cnt)%10;
sensor_values[2] = (cnt)%100;
delay(20);
write_status = radio.write( &sensor_values[0], sizeof(int)* ar_size);
printf(“SENSOR VAL %d %d %d \n”, sensor_values[0], sensor_values[1], sensor_values[2]);
if( ! write_status)
{
Serial.println(“ERROR WRITE”);
}

radio.startListening();// Wait here until we get a response, or timeout (250ms)
unsigned long started_waiting_at = millis();
bool timeout = false;
while ( ! radio.available() && ! timeout )
if (millis() – started_waiting_at > 200 )
timeout = true;

brightness = distance * 2;
if (brightness > 255){
brightness = 255;
}
brightness = 255 – brightness;

// set the brightness of pin 8:
analogWrite(led, brightness);

}

if(role == RECEIVER)
{
if(radio.available())
{
read_status = false;
while(!read_status)
{
read_status = radio.read(&recv_values[0], sizeof(int) * ar_size );
delay(100);
}
//printf(“RECEIVED %d %d %d\n”, recv_values[0], recv_values[1], recv_values[2]);
radio.stopListening();
//radio.write( &recv_values[0], sizeof(int)*ar_size );

//Serial.println(recv_values[0]);
Serial.print(recv_values[0], DEC);
Serial.print(” “);
Serial.print(recv_values[1], DEC);
Serial.print(” “);
Serial.print(recv_values[2], DEC);
Serial.print(” “);
Serial.println(“\r”);
radio.startListening();
}
}
}

 

Besides the implementation of wireless transmission, the code contains the control of LED lights in response to the proximity with objects in the environment.