Está en la página 1de 16

Escuela profesional de ingeniería mecánica, mecánica –

eléctrica y mecatrónica

Control y automatización
“MANEJO DE SENSORES CON ARDUINO – TINKERCAD”

Presentada por:
Bautista Vera Robert, Christian
Gonzales Aldana, Eyner
Carpio Ayaqui, Freddy Jesus
Ramírez Melo, Matías
Salazar Pamo, Adriana Yomila

Asesor:
Ing. Fernando David Siles Nates

Arequipa – Perú
2023
1. OBJETIVOS:
 Manejar sensores con ARDUINO en tinkercad.
 Implementar un sensor de ultrasonido y con este controlar los movimientos de un
servomotor, de forma virtual utilizando la herramienta tinkercad.
 Verificar el comportamiento del sensor PIR, sensor de movimiento infrarrojo pasivo.
 Reconocer las tres conexiones del conector sensor tipo PIR, las cuales son señal,
potencia y tierra.
 Reconocer las características del sensor ultrasónico HC-SR04 emitiendo ondas
elásticas fuera del espectro audible y disponer de un emisor y un receptor.
2. MARCO TEORICO:

SENSOR ULTRASÓNICO:

Es un pequeño radar que permite medir distancia hasta obstáculos. Emite un pulso de
sonido a una alta frecuencia no audible por el oído humano y mide el tiempo que tarda el
sonido en llegar al obstáculo, rebotar y volver al sensor. Como conocemos la velocidad del
sonido en el aire (343,2 m/s) podemos calcular la distancia con e = v * t.
El rango de medida de los sensores suele ir desde algunos centímetros a varios metros.
Los sensores pueden ser de 4 pines o de 3 pines. En ambos casos, dos de ellos son para
alimentación (Vcc y GND). En los de 4 pines, como el HC-SR04, los otros
dos pines son el trigger y el echo. Durante el tiempo que activamos desde Arduino el trigger
(disparo) se emite el pulso de sonido. Una vez recibido el sonido reflejado por el obstáculo,
el sensor emite por el pin echo (eco) un pulso (HIGH) de la misma duración que el tiempo
empleado en ir y venir del sonido desde el sensor al obstáculo.
En los de 3 pines, como el TS601P01, el mismo pin actúa como entrada y salida, por lo que
hay que estar cambiándole el modo del pin en cada medida con la instrucción pinMode() de
Arduino.Se usan menos que los de 4 pines.

Servomotor:

Un servomotor es un tipo especial de motor que permite controlar la posición del eje en
un momento dado. Esta diseñado para moverse determinada cantidad de grados y luego
mantenerse fijo en una posición. Creo que todos a muchos de nosotros cuando éramos
pequeños nos gustaba jugar con motorcitos de esos de los que traían ciertos juguetes y
que funcionaban con un par de baterías. En mi caso muchos de mis juguetes terminaron
siendo víctimas de autopsias con el único propósito de extraer el órgano encargado de
brindarles vida (movimiento), es decir, el motor.

Sensor tipo PIR:

En los sensores de movimiento, el sensor PIR consta en realidad de 2 elementos detectores


separados, siendo la señal diferencial entre ambos la que permite activar la alarma de
movimiento. En el caso del HC-SR501, la señal generada por el sensor ingresa al circuito
integrado BISS0001, el cual contiene amplificadores operacionales e interfaces electrónicas
adicionales.

Ajuste de parámetros: mediante 2 potenciómetros, el usuario puede modificar tanto la


sensibilidad como la distancia de detección del PIR.

Detección automática de luz (esta función no está disponible al adquirir el sensor de


fábrica): por medio de una foto resistencia CdS (Sulfuro de Cadmio), se deshabilita la
operación del sensor en caso que exista suficiente luz visible en el área. Esta función es
utilizada en caso de sensores que enciendan lámparas en lugares poco iluminados durante
la noche, y especialmente en corredores ó escaleras.
3. PROCEDIMIENTO:

Ejercicio 1
Codigo
int trig=2;
int echo=3;
int tiempo;
int distancia;

void setup()
{
Serial.begin(9600);
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
}

void loop()
{
digitalWrite(trig, HIGH);
delay(1);
digitalWrite(trig, LOW);
tiempo=pulseIn(echo,HIGH);
distancia=tiempo/58.2;
Serial.println(distancia);
delay(500);
}
Ejercicio 2

Codigo

int led=13;
int pir=7;
int pirdato;

void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
pinMode(pir, INPUT);
}

void loop()
{
pirdato=digitalRead(pir);
if (pirdato == HIGH)
{
digitalWrite(led, HIGH);
}
else
{
digitalWrite(led, LOW);
}
delay(10);
}
Ejercicio 3

int LED=7;
int TMP=0;
int POT=1;

float temperatura=0;
float potenciometrotemp=0;
void setup()
{
pinMode(LED, OUTPUT);

Serial.begin(9600);
}

void loop()
{
temperatura=map(analogRead(TMP), 0, 1023, -5000, 45000);
temperatura=temperatura/100.00;

potenciometrotemp=map(analogRead(POT),0, 1023, -5000, 45000);


potenciometrotemp=potenciometrotemp/100.00;

Serial.print("Temperatura=");
Serial.println(temperatura);

Serial.print("Temperatura Potenciometro Referencia =");


Serial.println(potenciometrotemp);

if(temperatura>=potenciometrotemp)
{
digitalWrite(LED, HIGH);
}

else
{
digitalWrite(LED, LOW);
}
delay(10);
}
ASIGNACION 1:

Código:

#define Pecho 6
#define Ptrig 7
#define ECHO 12
#define buzzer 10 //define el puerto de salida del buzzer
#define minima 30 //define la distancia minima a la que el buzzer emite sonido
#define maxima 40 //define la distancia maxima a la que el buzzer emite sonido
long duracion,distancia;
void setup(){
Serial.begin(9600); //inicialia el puerto seria a 9600 baudios
pinMode(Pecho,INPUT); //define el pin 6 como entrada (echo)
pinMode(Ptrig,OUTPUT); //define el pin 7 como salida(triger)
pinMode(Ptrig,OUTPUT); //Define el pin 10 como salida
}
void loop(){
digitalWrite(Ptrig,LOW);
delayMicroseconds(2);
digitalWrite(Ptrig,HIGH); //genera el pulse de triger por 10 ms
delayMicroseconds(10)=;
digitalWrite(Ptrig,LOW);
duracion=pilseIn(Pecho,high)
int duration;
int distance;
long DO=523.25, //definimos las frecuencias de las notas
RE=587.33,
MI=659.26,
FA=698.46,
SOL=783.99,
LA=880,
SI=987.77;
{

}
void loop()
{

ASIGNACION 2:
Código

// C++ code
//Willington Valeriano Lope
//CODIGO: 195910

//pines de control display led


#define LCD_1 10
#define LCD_2 2

//pines de conexon distintos segmentos del display led


#define SEG_A 4
#define SEG_B 3
#define SEG_C 5
#define SEG_D 6
#define SEG_E 7
#define SEG_F 8
#define SEG_G 9

//entrada analogica sensor de temperatura


#define TMP36 0
//matriz de codificacion
byte led_7s[10][7]={
{1,1,1,1,1,1,0},//=0
{1,0,1,0,0,0,0},//=1
{1,1,0,1,1,0,1},//=2
{1,1,1,1,0,0,1},//=3
{1,0,1,0,0,1,1},//=4
{0,1,1,1,0,1,1},//=5
{1,1,1,1,1,0,1},//=6
{1,1,1,0,0,0,0},//=7
{1,1,1,1,1,1,1},//=8
{1,1,1,0,0,1,1},//=9
};
byte temperatura;
float voltaje;
void setup()
{
pinMode(LCD_2, OUTPUT);
pinMode(LCD_1, OUTPUT);
//config segmento display
pinMode(SEG_A, OUTPUT);
pinMode(SEG_B, OUTPUT);
pinMode(SEG_C, OUTPUT);
pinMode(SEG_D, OUTPUT);
pinMode(SEG_E, OUTPUT);
pinMode(SEG_F, OUTPUT);
pinMode(SEG_G, OUTPUT);
}

void loop()
{
//lectura de voltaje TMP36
voltaje=analogRead(TMP36)*5.0/1024;
//conveertimos voltaje a temperatura: 10mC/ºC
//desplazamiento 500mV
temperatura =(voltaje*100.0)-50;
//mostramos digito mas significativo
visualiza_digi(LCD_1, temperatura/10);
//mostramos digito menos significativo
visualiza_digi(LCD_2, temperatura%10);
}
void visualiza_digi(byte pos, byte digi)
{
byte segmento=SEG_B;
for (byte contador = 0; contador <7; ++contador)
{
digitalWrite(segmento, led_7s[digi][contador]);
++segmento;
}
digitalWrite(pos, HIGH);
delay(10); // espera visualizar digito
digitalWrite(pos, LOW);//desactivamos digito
}
:

4. CONCLUSIONES:
 Manejamos sensores con ARDUINO en tinkercad.
 Implementamos un sensor de ultrasonido y con este controlar los movimientos de
un servomotor, de forma virtual utilizando la herramienta tinkercad.
 Verificamos el comportamiento del sensor PIR, sensor de movimiento infrarrojo
pasivo.
 Reconocemos las tres conexiones del conector sensor tipo PIR, las cuales son señal,
potencia y tierra.
 Reconocemos las características del sensor ultrasónico HC-SR04 emitiendo ondas
elásticas fuera del espectro audible y disponer de un emisor y un receptor.
5. BIBLIOGRAFIA:

 Función de transferencia — Teoría de control con Matlab. (s. f.).


https://elc.github.io/control-theory-
withmatlab/chapters/ELC02_Funcion_de_transferencia.html
 Funciones de transferencia con MATLAB. (s. f.).
https://utemecatronica.blogspot.com/2014/02/funciones-de-transferencia-con-
matlab.html
 Funciones de transferencia - MATLAB & Simulink - MathWorks América Latina. (s.
f.). https://la.mathworks.com/help/control/ug/transfer-functions.html

También podría gustarte