Crear medidor de distancia y mostrarlo en display con Arduino

Lo que hice es un medidor de distancia con una placa Arduino UNO con un sensor de ultrasonido y luego mostrar la distancia en centímetros en un display de 4 digitos, para que me sirve, en mi caso quiero saber cual es el nivel del tanque de la cisterna para conocer la reserva que tengo de agua potable.

El código final lo saque de dos sitios el primero es un ejemplo de medidor y el segundo es un ejemplo para utilizar el display, no olvides cargar la librería.

https://www.tautvidas.com/blog/2012/08/distance-sensing-with-ultrasonic-sensor-and-arduino/

http://www.techmonkeybusiness.com/tm1637-4-digit-display-example-sketch.html

A continuación dejo el código.

pre.CICodeFormatter{
 font-family:arial;
 font-size:12px;
 border:1px dashed #CCCCCC;
 width:99%;
 height:auto;
 overflow:auto;
 background:#f0f0f0;
 line-height:20px;
 background-image:URL(https://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif);
 padding:0px;
 color:#000000;
 text-align:left;
}
pre.CICodeFormatter code{
 color:#000000;
 word-wrap:normal;
}
</style>
<pre class="CICodeFormatter" ><code class="CICodeFormatter"> #include &lt;TM1637Display.h&gt;

const int CLK = 9; 
const int DIO = 8; 

int NumStep = 0;  

TM1637Display display(CLK, DIO);  

const int trigPin = 2;
const int echoPin = 4;

void setup() {
  Serial.begin(9600);
  display.setBrightness(0x0a);  
}

void loop()
{
  long duration, inches, cm;

  pinMode(trigPin, OUTPUT);
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  pinMode(echoPin, INPUT);
  duration = pulseIn(echoPin, HIGH);

  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);
  
  Serial.print(cm);
  Serial.println();

  display.showNumberDec(cm);
  
  delay(100);
}

long microsecondsToInches(long microseconds)
{
  return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds)
{
  return microseconds / 29 / 2;
}
Oscar Meza

Share
Published by
Oscar Meza
Tags: Arduino

Recent Posts

Cambiar la hora en RedHat 7

Para cambiar la hora en RedHat 7 usamos los siguientes comandos en una pantalla de…

56 años ago

Errores comunes al elegir Hosting (y cómo evitarlos)

Elegir un hosting parece sencillo… hasta que el sitio es lento, se cae o no…

56 años ago

Hosting Barato vs Hosting Premium: ¿cuál conviene realmente?

Elegir un hosting no es solo cuestión de precio. Muchos proyectos empiezan con un Hosting…

56 años ago

Como convertir videos mkv a mp4 en GNU Linux

Para convertir videos de mkv a mp4 en GNU Linux es súper fácil, puedes utilizar…

56 años ago

Permitir conexiones a ssh de ciertas IPs con iptables

Esta es una forma para permitir las conexiones a nuestro servidor ssh solo cuando vienen…

56 años ago

Como salvar las reglas creadas en IPTables en Ubuntu

La forma mas sencilla de salvar todas las reglas que has configurado en IPTables fue…

56 años ago