#include <SoftwareSerial.h>
const byte TRIGGER_PIN_1 = 2 ;
const byte TRIGGER_PIN_2 = 3;
const byte TRIGGER_PIN_3 = 5;
const byte TRIGGER_PIN_4 = 6;
const byte TRIGGER_PIN_5 = 8;
const byte TRIGGER_PIN_6 = 9;
const byte ECHO_PIN_1 = A0;
const byte ECHO_PIN_2 = A1;
const byte ECHO_PIN_3 = A2;
const byte ECHO_PIN_4 = A3;
const byte ECHO_PIN_5 = A5;
const byte ECHO_PIN_6 = 11;
const unsigned long MEASURE_TIMEOUT = 12500UL;
const float SOUND_SPEED = 340.0 / 1000;
SoftwareSerial HC06(0,1);
void setup() {
Serial.begin(9600);
HC06.begin(9600);
pinMode(TRIGGER_PIN_1, OUTPUT);
digitalWrite(TRIGGER_PIN_1, LOW);
pinMode(ECHO_PIN_1, INPUT);
pinMode(TRIGGER_PIN_2, OUTPUT);
digitalWrite(TRIGGER_PIN_2, LOW);
pinMode(ECHO_PIN_2, INPUT);
pinMode(TRIGGER_PIN_3, OUTPUT);
digitalWrite(TRIGGER_PIN_3, LOW);
pinMode(ECHO_PIN_3, INPUT);
pinMode(TRIGGER_PIN_4, OUTPUT);
digitalWrite(TRIGGER_PIN_4, LOW);
pinMode(ECHO_PIN_4, INPUT);
pinMode(TRIGGER_PIN_5, OUTPUT);
digitalWrite(TRIGGER_PIN_5, LOW);
pinMode(ECHO_PIN_5, INPUT);
pinMode(TRIGGER_PIN_6, OUTPUT);
digitalWrite(TRIGGER_PIN_6, LOW);
pinMode(ECHO_PIN_6, INPUT);
pinMode(TRIGGER_PIN_6, OUTPUT);
digitalWrite(TRIGGER_PIN_6, LOW);
pinMode(ECHO_PIN_6, INPUT);
}
void loop() {
digitalWrite(TRIGGER_PIN_1, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN_1, LOW);
long measure1 = pulseIn(ECHO_PIN_1, HIGH, MEASURE_TIMEOUT);
float distance_mm1 = measure1 / 2.0 * SOUND_SPEED;
Serial.print(F("Distance devant : "));
Serial.print(distance_mm1);
Serial.println(F("mm"));
digitalWrite(TRIGGER_PIN_2, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN_2, LOW);
long measure2 = pulseIn(ECHO_PIN_2, HIGH, MEASURE_TIMEOUT);
float distance_mm2 = measure2 / 2.0 * SOUND_SPEED;
Serial.print(F("Distance diagonale gauche: "));
Serial.print(distance_mm2);
Serial.println(F("mm"));
digitalWrite(TRIGGER_PIN_3, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN_3, LOW);
long measure3 = pulseIn(ECHO_PIN_3, HIGH, MEASURE_TIMEOUT);
float distance_mm3 = measure3 / 2.0 * SOUND_SPEED;
Serial.print(F("Distance diagonale droite : "));
Serial.print(distance_mm3);
Serial.println(F("mm"));
digitalWrite(TRIGGER_PIN_4, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN_4, LOW);
long measure4 = pulseIn(ECHO_PIN_4, HIGH, MEASURE_TIMEOUT);
float distance_mm4 = measure4 / 2.0 * SOUND_SPEED;
Serial.print(F("Distance gauche : "));
Serial.print(distance_mm4);
Serial.println(F("mm"));
digitalWrite(TRIGGER_PIN_5, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN_5, LOW);
long measure5 = pulseIn(ECHO_PIN_5, HIGH, MEASURE_TIMEOUT);
float distance_mm5 = measure5 / 2.0 * SOUND_SPEED;
Serial.print(F("Distance droite : "));
Serial.print(distance_mm5);
Serial.println(F("mm"));
digitalWrite(TRIGGER_PIN_6, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN_6, LOW);
long measure6 = pulseIn(ECHO_PIN_6, HIGH, MEASURE_TIMEOUT);
float distance_mm6 = measure6 / 2.0 * SOUND_SPEED;
Serial.print(F("Distance bas : "));
Serial.print(distance_mm6);
Serial.println(F("mm"));
delay(4000);
}
Voici mon code de mon projet pour 6 capteurs. J'aimerai envoyer chaque distance par bluetooth.
Branchement module bluetooth HC06:
RX à RX0
TX à TX1
GND à GND
VCC à 3.3V
(On ne peut pas modifier le branchement et on arrive à se connecter au bluetooth sans utiliser HardwareSerial)