//  module de detection de distance a ultrasons HC-SR04

// carte Arduino Nano

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_ADDRESS 0x3C 
Adafruit_SSD1306 display(128, 32, &Wire, -1);

int trigPin = 11; //Trig pin
int echoPin = 12; //Echo pin
long duration, cm;

void setup() {
// initialisation du port serie
  Serial.begin (9600);
// definition des entrees/sorties
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);      // Address 0x3C for 128x32
  display.clearDisplay();
  display.setTextSize(3);
  display.setTextColor(WHITE); 
}

void loop()
{
// impulsion de niveau HAUT d'au moins 10 us precedee par un niveau BAS de 5 us
  digitalWrite(trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
// lecture du signal du capteur : une impulsion de niveau HAUT correspond a la duree (en microsecondes) de l'aller-retour
  duration = pulseIn(echoPin, HIGH);
// conversion du temps en distance en centimetres (la vitesse du son est 0,034 cm / us)
  cm = duration * 0.034 / 2;
  Serial.print(cm);
  Serial.println(" cm");
  display.clearDisplay();
  display.setCursor(0,0);
  display.print(cm);
  display.print(" cm");
  display.display();      
  delay(1000);
}