Tutorial Arduino – Radar giratorio con LCD Deja un comentario

ar7El siguiente montaje tiene una dificultad superior a todos los anteriores. Vamos a usar:

  • LCD
  • HC-SR04 (sensor ultrasónico)
  • M35SP-9 (motor paso-paso) o un servomotor
  • Soldador y alicates

MONTAJE:

Untitled Sketch_bb

VÍDEO DE FUNCIONAMIENTO:

[youtube=http://www.youtube.com/watch?v=0XQ90UGqRHY&w=770]

MODIFICACIÓN AL STEPPER:

IMG_1094

Soldamos patillas a los bornes para pincharlas en protoboard.

Para saber el orden en que debemos conectar los polos de nuestro motor prodecemos de la siguiente forma:

  1. Conectamos gnd al negativo de una fuente de alimentacion.
  2. Vamos probando con el positivo en los distintos pines hasta que consigamos que avance sin retroceder al tocar alguno de ellos.

MODIFICACIÓN AL HC-SR04:

Sin título

Lo más cómodo es utilizar un conector VGA.

Utilizamos conectores más finos para el sensor ya que el motor paso a paso no tiene suficiente fuerza para vencer la fuerza de unos cables gruesos.

CÓDIGO:

//Variables LCD
#include
LiquidCrystal lcd(9, 8, 5, 4, 3, 2);

//Variables ULTRASONIDOS
#include “Ultrasonic.h”
Ultrasonic ultrasonic(6,7);
int dist;

//Variables STEPPER
int DelayTime=50;
int MP[] = {10, 11, 12, 13};
int n=0;
int NP;
int i;

//DIBUJOS DEL LCD+++++++++++++++++++++++++++++++++++++++++++++++++
byte CERO[8] = {
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000
};

byte UNO[8] = {
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B11111
};

byte DOS[8] = {
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B11111,
B11111
};

byte TRES[8] = {
B00000,
B00000,
B00000,
B00000,
B00000,
B11111,
B11111,
B11111
};

byte CUATRO[8] = {
B00000,
B00000,
B00000,
B00000,
B11111,
B11111,
B11111,
B11111
};

byte CINCO[8] = {
B00000,
B00000,
B00000,
B11111,
B11111,
B11111,
B11111,
B11111
};

byte SEIS[8] = {
B00000,
B00000,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111
};

byte SIETE[8] = {
B00000,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111
};

byte OCHO[8] = {
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++

void setup() {
lcd.createChar(0,CERO);
lcd.createChar(1,UNO);
lcd.createChar(2,DOS);
lcd.createChar(3,TRES);
lcd.createChar(4,CUATRO);
lcd.createChar(5,CINCO);
lcd.createChar(6,SEIS);
lcd.createChar(7,SIETE);
lcd.createChar(8,OCHO);
lcd.begin(16, 2);

//pines del stepper
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}

void loop() {

//GIRA HACIA UN LADO
for(i=0;i400) lcd.write(8);

//el cursor se desplaza a la derecha
lcd.setCursor(i,0);
}
n=0;
}

//GIRA HACIA EL OTRO LADO
for(i=0;i-1){
NP=MP[n];
digitalWrite(NP,HIGH);
delay(DelayTime);
digitalWrite(NP,LOW);
delay(DelayTime);
n-=1;

//lectura ultrasonido
dist=ultrasonic.Ranging(CM);

//imprime byte
if (dist400) lcd.write(8);

//el cursor se desplaza a la derecha
lcd.setCursor(i,0);
}
n=3;
}
}

github

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Enviar Whatsapp
Hola 👋
¿En qué podemos ayudarte?