Professional Documents
Culture Documents
DEPARTAMENTO METAL-MECNICA
ASIGNATURA: SENSORES INTELIGENTES
INGENIERA MECATRNICA
I. Objetivo de la prctica.
MOTOR A PASOS.
Los motores paso a paso son un tipo especial de motores que permiten el movimiento de
su eje en ngulos muy precisos y por pasos, tanto a la izquierda como a la derecha.
Aplicando a ellos una secuencia de pulsos. Cada paso tiene un ngulo muy preciso,
determinado por la construccin del motor lo que permite realizar movimientos exactos.
Son utilizados para generar movimientos precisos, por ejemplo en robots, en equipos con
movimientos X-Y, entre otros.
Motores Unipolares: este tipo de motor tiene dos bobinas en cada uno de los estatores y
cada par de bobinas tienen un punto comn, es decir, tiene 5 6 terminales.
Motores Bipolares: este tipo de motor tiene dos bobinas y no poseen puntos
comunes, es decir tiene cuatro terminales. Para controlar este tipo de motor paso a paso
bipolar es necesaria usar 8 transistores o circuitos integrados especiales.
TABLILLA PROTOBOARD.
B) Buses: Los buses se localizan en ambos extremos del protoboard, se representan por
las lneas rojas (buses positivos o de voltaje) y azules (buses negativos o de tierra) y
conducen de acuerdo a estas, no existe conexin fsica entre ellas. La fuente de poder
generalmente se conecta aqu.
LEDS.
El LED, acrnimo de Light Emitting Diode, o diodo emisor de luz de estado slido (solid
state), constituye un tipo especial de semiconductor, cuya caracterstica principal es
convertir en luz la corriente elctrica de bajo voltaje que atraviesa su chip. Desde el punto
de vista fsico un LED comn se presenta como un bulbo miniaturizado, carente de
filamento o de cualquier otro tipo de elemento o material peligroso, con la ventaja sobre
otras tecnologas que no contamina el medio ambiente.
De acuerdo con las caractersticas de funcionamiento de cada LED, el chip puede operar
con una tensin o voltaje de polarizacin directa entre 1 y 4 V (volt) aproximadamente,
con una corriente que flucta entre 10 y 40 mA (miliampere), que puede variar tambin de
acuerdo con el tamao y color de luz que emite cada uno en particular.
La aplicacin de un voltaje o corriente de trabajo por encima del valor establecido por el
fabricante para cada diodo LED en particular puede llegar a acortar su vida til, o tambin
destruirlo.
ARDUINO ONE.
Arduino (Estados Unidos) (Genuino a nivel internacional hasta octubre 2016), es una
compaa de hardware libre y una comunidad tecnolgica que disea y
manufactura placas computadora de desarrollo de hardware y software, compuesta
respectivamente por circuitos impresos que integran un microcontrolador y un entorno de
desarrollo (IDE), en donde se programa cada placa.
Caractersticas:
Microcontrolador ATmega328.
6 entradas anlogas.
JUMPERS.
Tablilla Protoboard.
Arduino One
Motor a pasos.
5 LEDs (colores a eleccin)
Sensor ultrasnico de distancia HC-SR04
Jumpers
IV. Procedimiento.
El procedimiento de funcionamiento a seguir para la realizacin de la prctica es el
siguiente:
DISTANCIA
Objeto a 10 cm.
Objeto a 20 cm.
(exactos)
(exactos)
Motor a pasos:
Motor a pasos:
Gira a la
Gira a izquierda
derecha
NOTA: Objeto a
cualquier otra
distancia distinta a
las indicadas. Motor
a pasos: Parado
SECUENCIA DE LEDS.
SI GIRA A LA IZQUIERDA:
Enceder el Led menos
significativo hasta llegar al #5.
Despues de eso apagarse
todos y volver a repetir el ciclo
SI GIRA A LA DERECHA:
Encender el Led menos
significativo y apagarlo,
continuar con el segundo y asi
sucesivamente hasta llegar al
ltimo. En esta secuencia nunca
existen dos o ms leds
encendidos a la vez.
V. Cdigo de programacin.
#include <NewPing.h>
#define TRIGGER_PIN 8 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN 13 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters).
Maximum sensor distance is rated at 400-500cm.
void setup() {
Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
}
void loop() {
delay(50); // Wait 50ms between pings (about 20 pings/sec). 29ms
should be the shortest delay between pings.
unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS).
Serial.print("Distancia: ");
Serial.print(uS / US_ROUNDTRIP_CM); // Convert ping time to distance in cm and print
result (0 = outside set distance range)
Serial.println(" cm");
if (uS / US_ROUNDTRIP_CM == 10)
{
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(7,LOW); digitalWrite(3,HIGH); digitalWrite(4,LOW); digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(7,LOW); digitalWrite(3,LOW); digitalWrite(4,HIGH); digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(7,LOW); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(7,LOW); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(7,HIGH); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW);
digitalWrite(6,LOW);
}
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(7,LOW); digitalWrite(3,HIGH); digitalWrite(4,HIGH);
digitalWrite(5,LOW); digitalWrite(6,LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(7,LOW); digitalWrite(3,HIGH); digitalWrite(4,HIGH);
digitalWrite(5,HIGH); digitalWrite(6,LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(7,LOW); digitalWrite(3,HIGH); digitalWrite(4,HIGH);
digitalWrite(5,HIGH); digitalWrite(6,HIGH);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(10);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(10);
digitalWrite(7,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH);
digitalWrite(5,HIGH); digitalWrite(6,HIGH);
}
else
{
digitalWrite(2,LOW); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW);
digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW);
digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW);
}
}
http://arduino.cl/arduino-uno/
https://es.wikipedia.org/wiki/Jumper_(inform%C3%A1tica)
https://electronilab.co/tienda/sensor-de-distancia-de-ultrasonido-hc-sr04/
https://www.zonamaker.com/arduino/modulos-sensores-y-
shields/ultrasonido-hc-sr04
https://es.wikipedia.org/wiki/Arduino
http://www.circuitoselectronicos.org/2007/10/el-protoboard-tableta-de-
experimentacin.html
https://es.wikipedia.org/wiki/Motor_paso_a_paso
https://www.330ohms.com/blogs/blog/85507012-motores-a-pasos-
unipolares-o-bipolares
https://es.wikipedia.org/wiki/Led