Aide pour la réalisation d'un Tripmaster

Salut,
La réalisation du TripMaster est terminé, pour la liaison Arduino / Tablette Android j'ai choisi le BlueTooth plus simple à réaliser avec Windev Mobile du coté tablette.
J'ai donc choisi le matériel suivant :
1 carte Arduino Mega pour l'acquisition de donné.
1 carte HC-05 pour la liaison BlueTooth entre la carte Arduino et la tablette
1 écran LCD (non obligatoire)
1 alimentation 12v/5v pour la carte Arduino
1 tablette sous Android
1 capteur magnétique de compteur de vélo (déjà installé sur la BETA)
Ensuite il fallait d'une part programmer la carte Arduino en langage C, je remercie Loic de Infobarque.fr qui m'a beaucoup aidé dans la réalisation du programme Arduino et d'autre part créer une application Android pour la tablette, ce que j'ai fait avec Windev Mobile.
A ce jour l'ensemble fonctionne correctement en simulation sur un vélo, reste à l'installer dans la Lancia BETA et passer en teste routier.
Si cela vous intéresse je peux donner l'application ou le programme source Windev Mobile qui m'a permis cette réalisation.

Le code source Arduino :
#include <Wire.h>
#include <LiquidCrystal_I2C.h> // Ecran LCD
LiquidCrystal_I2C lcd (0x20,16,2); // adresse 0x20, 16 caractères, 2 lignes
#include <SoftwareSerial.h> // Serie BlueTooth
SoftwareSerial BT_Serial(10, 11); // RX | TX

const byte pin_capteur=19; // broche du capteur magnetique RX1 19
int val_capteur; // valeur du capteur magnetique
unsigned long nb_tours_roue=0; // variable nombre de tours de roue
char nb_tours_roue_char[16]; // CHAR nombre de tours de roue
float perimetre_roue=1.80000; // perimetre roue en metre 99,9999
unsigned long distance=0; // distance parcourue en mètre 99.999
const byte RAZ = 10; // broche bouton remise zero compteur pin 10 et GND
volatile byte top = 0;
int compteur_anti_rebond = 1; // à modifier suivant le capteur

void setup() {
// initialisation LED port 13
pinMode(13, OUTPUT);
// Ouvre la voie serie USB à 9600 bits par seconde
Serial.begin(9600);
// Ouvre la voie avec BlueTooth à 9600 bits par seconde
BT_Serial.begin(9600);

// initialisation ecran LCD
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("RAZ compteur");
delay(5000);
lcd.clear();

pinMode(RAZ,INPUT_PULLUP);

// initialisation broche capteur
pinMode(pin_capteur,INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(pin_capteur), TOP, RISING);
}

void loop() {
if (digitalRead(RAZ) == LOW) nb_tours_roue = 0;
affichage();
digitalWrite(13, LOW); // LED on
}

// Fonction d'interruption pour le comptage du nombre de tours de roue
void TOP() {
top++ ;
digitalWrite(13, HIGH); // LED on
}

void affichage(){
if(top >= compteur_anti_rebond ){
nb_tours_roue++;
top = 0;
}

// Serial.println(nb_tours_roue); // envoi au port USB nombre de tours de roue
// BT_Serial.write(nb_tours_roue); // envoi un caractère
// BT_Serial.print(nb_tours_roue); // envoi des chaines de caractères
// BT_Serial.println(nb_tours_roue); // envoi des chaines de caractères
BT_Serial.println(nb_tours_roue); // envoi BlueTooth nombre de tours de roue

lcd.setCursor(0, 0);
lcd.print("Nbr : ");
lcd.print(nb_tours_roue); // affichage nombre tours de roue sur LCD
lcd.setCursor(0, 1);
distance = nb_tours_roue * perimetre_roue;
lcd.print("Dist : ");
lcd.print(distance); // affichage distance sur LCD

}

A+
Yves D.