Beruflich Dokumente
Kultur Dokumente
Materiales
Arduino UNO
Display de 7 segmentos ctodo comn
7 resistencias 220ohm
Registros de puertos
Es necesario saber que los registros nos permiten una manipulacin ms rpida de los pines de
E/S de nuestro Arduino UNO. Por lo cual el microcontrolador de esta placa tiene tres puertos:
Pin digital de 8-13
Pines de entrada analgica
Pines digitales 0-7
Debido a esto cada uno de estos puertos est controlado por tres registros los cuales se definen
por DDR, PORT y PIN.
Numero insertado 0 0 0 0 1 1 1 1
Pin de Arduino 7 6 5 4 3 2 1 0
Por otra parte si queremos hacerlo en forma decimal solo bastara con 31 y esto sera igual a
activar los primeros cuatro pines como salida DDRD=31 o DDRD=255 si queremos activar todo
el puerto como salida.
Registro PIN
Lee el estado de los pines de entrada establecidos. PIND
Se lee todo el puerto que se ha configurado como entrada. Este registro nos da un 1 si a un pin
del microcontrolador se le est alimentando externamente, y un cero si esta en nivel bajo de
voltaje.
Display 7 segmentos
Puesto que un display de 7 segmentos no son ms que siete LEDs nos sirve para mostrar
nmeros o caracteres encendiendo o apagando cada uno ellos. Por consiguiente a cada uno de
los LEDs se le denomina segmento, los cuales para activarlos basta con conectar el comn a
tierra y voltaje en el segmento que deseemos activar (en este caso que es ctodo comn).
Programa
void setup()
{
DDRD=255; //Se declara todo el puerto como salida
}
void loop()
{
//Al puerto "D" le asignamos los valores obtenidos haciendo una pausa de 1segundo entre cada
numero
PORTD=0x7E; //0
delay(1000);
PORTD=0x30; //1
delay(1000);
PORTD=0x6D; //2
delay(1000);
PORTD=0x79; //3
delay(1000);
PORTD=0x33; //4
delay(1000);
PORTD=0x5B; //5
delay(1000);
PORTD=0x5F; //6
delay(1000);
PORTD=0x70; //7
delay(1000);
PORTD=0x7F; //8
delay(1000);
PORTD=0x7B; //9
delay(1000);
}
SENSOR DE PROXIMIDAD
En este laboratorio aprenderemos el uso del sensor ultrasonidos HC-SR04 (sensores para medir
distancias o superar obstculos, entre otras posibles funciones), Este sensor en concreto tiene
un rango de distancias sensible entre 3cm y 3m con una precisin de 3mm.
En este caso vamos a utilizarlo para la medicin de distancias. Esto lo consigue enviando un
ultrasonido (inaudible para el odo humano por su alta frecuencia) a travs de uno de la pareja
de cilindros que compone el sensor (un transductor) y espera a que dicho sonido rebote sobre
un objeto y vuelva, retorno captado por el otro cilindro.
Qu recibimos en el sensor?
El tiempo que transcurre entre el envo y la recepcin del ultrasonido.
Material
Sensor ultrasonidos HC-SR04 de Electrohobby
El sensor consta de 4 pines: "VCC" conectado a la salida de 5V de la placa, "Trig"
conectado al pin digital de la placa encargado de enviar el pulso ultrasnico, "Echo" al
pin de entrada digital que recibir el eco de dicho pulso y "GND" a tierra.
Placa Arduino UNO
Cables
Cable USB
Protoboard
PROGRAMA
long distancia;
long tiempo;
void setup(){
Serial.begin(9600);
pinMode(9, OUTPUT); /*activacin del pin 9 como salida: para el pulso ultrasnico*/
pinMode(8, INPUT); /*activacin del pin 8 como entrada: tiempo del rebote del ultrasonido*/
}
void loop(){
digitalWrite(9,LOW); /* Por cuestin de estabilizacin del sensor*/
delayMicroseconds(5);
digitalWrite(9, HIGH); /* envo del pulso ultrasnico*/
delayMicroseconds(10);
tiempo=pulseIn(8, HIGH); /* Funcin para medir la longitud del pulso entrante. Mide el
tiempo que transcurrido entre el envo
del pulso ultrasnico y cuando el sensor recibe el rebote, es decir: desde que el pin 12
empieza a recibir el rebote, HIGH, hasta que
deja de hacerlo, LOW, la longitud del pulso entrante*/
distancia= int(0.017*tiempo); /*frmula para calcular la distancia obteniendo un valor
entero*/
/*Monitorizacin en centmetros por el monitor serial*/
Serial.println("Distancia ");
Serial.println(distancia);
Serial.println(" cm");
delay(1000);
}