#include <SoftwareSerial.h>    //Software Serial Port 
#define RxD 10                 //Pin 10 uno pour RX relier a TX du hc-06 
#define TxD 11                 //Pin 11 uno pour TX relier a RX du hc-06 avec pont diviseur 1k et 2k au gnd

SoftwareSerial BT(RxD,TxD); 

#define clock_pin 2                                  //      PD2 
#define x_data_pin 3                                 //PORTD PD3
#define y_data_pin 4                                 //      PD4
#define z_data_pin 5                                 //      PD5
#define x_data (PIND & 0b100)>>2
#define y_data (PIND & 0b1000)>>3
#define z_data (PIND & 0b10000)>>4

unsigned long xCoord;
unsigned long yCoord;
unsigned long zCoord;
//**************************************************************************************************************************************************************************************************
void setup(){
  pinMode(clock_pin,OUTPUT);
  pinMode(x_data_pin,INPUT);
  pinMode(y_data_pin,INPUT);
  pinMode(z_data_pin,INPUT);
  delay(500); 
  pinMode(RxD, INPUT); 
  pinMode(TxD, OUTPUT); 
  BT.begin(9600);  
  delay(500); 
 
  Serial.begin(9600);  // Initializes serial port

  }
//**************************************************************************************************************************************************************************************************  
void loop(){

for(int bitOffset = 0; bitOffset<21; bitOffset++)
                                            {
                                             digitalWrite(clock_pin, HIGH);
                                             delayMicroseconds(5); 
                                             xCoord |= x_data<<bitOffset;
                                             yCoord |= y_data<<bitOffset;
                                             zCoord |= z_data<<bitOffset;
                                             digitalWrite(clock_pin, LOW);
                                             delayMicroseconds(10);
                                            }
 Serial.println(xCoord);
 Serial.println(yCoord);
 Serial.println(zCoord);

 BT.print(F("x"));
 BT.print((long)xCoord);
 BT.print(F(";"));  
 BT.print(F("y"));
 BT.print((long)yCoord);
 BT.print(F(";"));  
 BT.print(F("Z"));
 BT.print((long)zCoord);
 BT.print(F(";"));  
//delayMicroseconds(50);

delay(10);


}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
r1:1
r1:2
1K
r4:1
r4:2
2K
gnd1:GND
gnd3:GND
hc-06Breakout
chip1:RX
chip1:TX
chip1:GND
chip1:VCC
gnd2:GND
vcc1:VCC
vcc2:VCC