/*
   Código demonstrativo para a aula de Bancos de Dados aplicados à Internet das Coisas,
   Curso de Engenharia e Administração de Sistemas de Banco de Dados,
   Faculdade de Tecnologia - UNICAMP.
*/

#include <TM1637.h>

TM1637 tm;

const int CLK = 2;
const int DIO = 3;

#define PINO_TRIGGER 10
#define PINO_ECHO    9

int polegadas = 0;
int centimetros = 0;


long readUltrasonicDistance() {

  digitalWrite(PINO_TRIGGER, LOW);
  delayMicroseconds(2);
  digitalWrite(PINO_TRIGGER, HIGH);
  delayMicroseconds(10);
  digitalWrite(PINO_TRIGGER, LOW);

  return pulseIn(PINO_ECHO, HIGH);

}

void setup() {

  tm.begin(CLK, DIO, 4);
  tm.displayClear();
  tm.setBrightness(7);

  tm.displayPChar("----");

  pinMode(PINO_TRIGGER, OUTPUT);
  pinMode(PINO_ECHO, INPUT);

}

void loop() {

  tm.displayClear();

  centimetros = 0.01723 * readUltrasonicDistance();
  polegadas = (centimetros / 2.54);

  tm.displayInt(centimetros);

  delay(1000);

  tm.displayInt(polegadas);

  delay(1000);

}
4-Digit Display