Está en la página 1de 7

PRACTICAS EN ARDUINO

LCD Liquid Crystal Display


// Incluímos la libreria externa para poder utilizarla
#include <LiquidCrystal.h> // Entre los símbolos <>
buscará en la carpeta de librerías
configurada
// Definimos las constantes
#define COLS 16 // Columnas del LCD
#define ROWS 2 // Filas del LCD
#define VELOCIDAD 300 // Velocidad a la que se mueve el
texto
// Lo primero is inicializar la librería indicando los
pins de la interfaz
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Textos
String texto_fila = "Programarfacil.com";
void setup() {

// Configuración monitor serie


Serial.begin(9600);
// Configuramos las filas y las columnas del LCD en este
caso 16 columnas y 2 filas
lcd.begin(COLS, ROWS);
}
void loop() {
// Obtenemos el tamaño del texto
int tam_texto=texto_fila.length();
// Mostramos entrada texto por la izquierda
for(int i=tam_texto; i>0 ; i--)
{
String texto = texto_fila.substring(i-1);
// Limpiamos pantalla
lcd.clear();
//Situamos el cursor
lcd.setCursor(0, 0);

// Escribimos el texto
lcd.print(texto);
// Esperamos
delay(VELOCIDAD);
}
// Desplazamos el texto hacia la derecha
for(int i=1; i<=16;i++)
{
// Limpiamos pantalla
lcd.clear();
//Situamos el cursor
lcd.setCursor(i, 0);
// Escribimos el texto
lcd.print(texto_fila);
// Esperamos
delay(VELOCIDAD);
}

// Desplazamos el texto hacia la izquierda en la segunda


fila
for(int i=16;i>=1;i--)
{
// Limpiamos pantalla
lcd.clear();
//Situamos el cursor
lcd.setCursor(i, 1);
// Escribimos el texto
lcd.print(texto_fila);
// Esperamos
delay(VELOCIDAD);
}
// Mostramos salida del texto por la izquierda
for(int i=1; i<=tam_texto ; i++)
{
String texto = texto_fila.substring(i-1);
// Limpiamos pantalla
lcd.clear();

//Situamos el cursor
lcd.setCursor(0, 1);
// Escribimos el texto
lcd.print(texto);
// Esperamos
delay(VELOCIDAD);
}
}

PRACTICA2
CONTROLAR 2 SERVOMOTORES ( DE 0grados a 180grados) CON JOYSTICK
#include <Servo.h>
int valorX = 0; // LECTURA DEL EJE X
int valorY = 0; // LECTURA DEL EJE Y
int pinJX = A0; // PIN ANALOGICO A0 DEL EJE X
int pinJY = A1; // PIN ANALOGICO A1 DEL EJE Y
Servo motor1; // DECLARAR SERVO 1
Servo motor2; // DECLARAR SERVO 2
int grados1 = 0; // GRADOS DEL SERVO 1
int grados2 = 0; // GRADOS DEL SERVO 2
void setup() {
Serial.begin(9600); // ACTIVA LA COMUNICACIÓN CON LAPLACA
BUILD&CODE UNO
motor1.attach (6); // PIN DIGITAL PWM 9 DONDE ESTÁ
//CONECTADO EL SERVO 1
motor1.write (0);
motor2.attach (9); // PIN DIGITAL PWM 10 DONDE ESTÁ
//CONECTADO EL SERVO 2
motor1.write (0);
}
void loop() {
valorX = analogRead (pinJX); // LECTURA DEL PUERTO
//ANALOG. A0 DEL EJE X;
valorY = analogRead (pinJY); // LECTURA DEL PUERTO
//ANALOG. A1 DEL EJE Ygrados1 = map(valorX, 0, 1023, 0,
180);
grados2 = map(valorY, 0, 1023, 0, 180);
motor1.write (grados1); // ENVIAR LOS GRADOS AL SERVO
//1
motor2.write (grados2); // ENVIAR LOS GRADOS AL SERVO
//2
//Imprimimos por pantalla las variables con las que
//trabajamos
Serial.print (valorX); // MOSTRAR POR PANTALLA LOS
//VALORES DEL EJE X DE 0 A 1023
Serial.print("\t");
Serial.print (valorY); // MOSTRAR POR PANTALLA LOS
//VALORES DEL EJE Y DE 0 A 1023
Serial.print("\t");
Serial.print (grados1); // MOSTRAR POR PANTALLA LOS
//GRADOS DEL EJE X DE 0 A 180
Serial.print("\t");
Serial.println(grados2); // MOSTRAR POR PANTALLA LOS
//GRADOS DEL EJE Y DE 0 A 180
}
PRACTICA3
Sensor de Proximidad
const int Trigger = 2; //Pin digital 2 para el Trigger del sensor
const int Echo = 3; //Pin digital 3 para el Echo del sensor
void setup() {
Serial.begin(9600);//iniciailzamos la comunicación
pinMode(Trigger, OUTPUT); //pin como salida
pinMode(Echo, INPUT); //pin como entrada
digitalWrite(Trigger, LOW);//Inicializamos el pin con 0
}v
oid loop()
{
long t; //timepo que demora en llegar el eco
long d; //distancia en centimetrosdigitalWrite(Trigger, HIGH);
delayMicroseconds(10); //Enviamos un pulso de 10us
digitalWrite(Trigger, LOW);
t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso
d = t/59; //escalamos el tiempo a una distancia en cm
Serial.print("Distancia: ");
Serial.print(d); //Enviamos serialmente el valor de la distancia
Serial.print("cm");
Serial.println();
delay(100); //Hacemos una pausa de 100ms
}

También podría gustarte