domingo, 11 de agosto de 2019

ARDUINO TUTORIAL LCD Y SENSOR DE DISTANCIA ULTRASÓNICO HC-SR04


 https://roboticaytecnologia.com/inicio/chappie-el-robot-con-sentimientos/

ARDUINO TUTORIAL LCD Y SENSOR DE DISTANCIA ULTRASÓNICO HC-SR04


 El sensor emite un ultrasonido a 40,000 Hz, que viaja a través del aire y que choca con el objeto que tenga en frente, una vez choque con el objeto, regresa al sensor. Considerando el tiempo en que regresa y la velocidad del sonido, podemos calcular la distancia.

Objetivo:

 Crear un sensor capaz de medir que tan lejos se encuentra un objeto

    Mostrar la distancia en el Serial Monitor o en el LCD



Material utilizado:




    (1) Sensor de Distancia Ultrasónico HC-SR04

    (1) Protoboard

    (20) Cables Jumper

    (1) Display LCD 16x2 (Opcional)

    (1) Potenciómetro (Opcional)


Lo primero, es armar el circuito, en el protoboard insertaremos el Sensor HC-SR04 y realizaremos las siguientes conexiones:




    Trig= Arduino pin digital 9

    Echo= Arduino pin digital 8

//https://ingenieriaiktronic.com
//https://jlizarazurocha.com
//https://roboticaytecnologia.com
#include <LiquidCrystal.h> // Cargar biblioteca de cristal líquido

LiquidCrystal LCD(10, 9, 5, 4, 3, 2);  // Crear objeto de cristal líquido llamado LCD

int myCounter=0;   // declara tu variable myCounter y establece en 0



void setup() {

LCD.begin(16,2);  // Dile a Arduino que inicie su LCD de 16 columnas y 2 filas

LCD.setCursor(0,0);  // Establezca el cursor LCD en la esquina superior izquierda, columna 0, fila 0

LCD.print("Mi temporizador:"); // Imprimir mensaje en primera fila

}


void loop() {

  for (myCounter=1; myCounter<=10; myCounter=myCounter+1) {

     LCD.setCursor(0,1); // Ir a la primera columna (columna 0) y a la segunda fila (fila 1)

     LCD.print(myCounter);

     LCD.print(" Segundos");

     delay(1000);

    }


  for (myCounter=10;myCounter>=0;myCounter=myCounter-1) {

     LCD.setCursor(0,1); // Ir a la primera columna (columna 0) y a la segunda fila (fila 1)

     LCD.print(myCounter);

     LCD.print(" Segundos");

     delay(1000);

  }

}

Ahora, mire el contador contar hacia arriba y hacia abajo cuidadosamente. Debes notar algo peculiar ya que el contador cuenta hacia atrás. ¿Qué ves que no es bueno? Lo que debe ver es que a medida que cuenta regresivamente del 10 al 9, termina con una "s" adicional en la palabra "Segundos". Terminas con "Segundos". Este es un problema molesto que ocurre casi cada vez que intenta usar una pantalla LCD. La razón es que cuando pasa de 10 a 9, la impresión del número pasa de necesitar dos dígitos a un dígito. Luego, cuando imprime "Segundos", se desplaza a la izquierda por un carácter, y todavía le quedan las últimas "s" de la vez anterior en que imprimió "Segundos". Por lo tanto, te quedas con un desastre.

Hay dos formas de aclarar esto. Una forma sería establecer específicamente el cursor en una posición correcta antes de imprimir "Segundos". Esto lo pondría en el mismo lugar cada vez y aliviaría el problema. La otra posibilidad es imprimir una línea en blanco cada vez a través del bucle para borrar la segunda línea de la pantalla LCD. Esto es algo con lo que debe jugar y comprender, porque parece aparecer cada vez que intento usar una pantalla LCD. Mire este código e inténtelo, y asegúrese de comprender por qué soluciona el problema.
si quieres aprehender mas has clic aquí: