Sie sind auf Seite 1von 13

UNIVERSIDAD TECNOLÓGICA DEL PERÚ

INGENIERÍA DE SISTEMA Y ELECTRONICA

TEMA:

COMPILACION DE CODIGOS EN UNO

CURSO: ARQUITECTURA DE COMPUTADORA

ALUMNO: MARIBEL VENTURA MORI


ERIK FRANCO CHAVEZ VELASQUEZ
RENÁN SÁNCHEZ CÉSPEDES
ASTORAYME TOVALINO JOSE
ALEJANDRO KEVIN JAVIER AGUILAR

TURNO: NOCHE

LIMA – PERÚ

2019
const int Trigger = 5; //Pin digital 2 para el Trigger del sensor

const int Echo = 6; //Pin digital 3 para el Echo del sensor

#include "DHT.h"

#define DHTPIN 7

#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

//SERVO MOTOR

#include <Servo.h>

Servo myservo; // create servo object to control a servo twelve servo objects can be created on
most boards

Servo myservo1;

int pos = 0; // variable to store the servo position

//MOTOR DC

int PinIN1 = 1;

int PinIN2 = 2;

int PinIN3 = 3;

int PinIN4 = 4;

//PIR

int ledPin = 12; // declaramos el led en el pin 12 del arduino

int sensorPin=11; // declaramos el sensor PIR en el pin 11

int val = 0; //variable para asignar la lectura del sensor PIR

#include <Wire.h>
#include <LCD.h>

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3f,2,1,0,4,5,6,7); // 0x27 is the I2C bus address for an unmodified


backpack

void setup() {

Serial.begin(9600);

pinMode(Trigger, OUTPUT); //pin como salida

pinMode(Echo, INPUT); //pin como entrada

digitalWrite(Trigger, LOW);//Inicializamos el pin con 0

dht.begin();

myservo.attach(9); // attaches the servo on pin 9 to the servo object

myservo1.attach(10); // attaches the servo on pin 9 to the servo object

//MOTOR DC

// configuramos los pines como salida

pinMode(PinIN1, OUTPUT);

pinMode(PinIN2, OUTPUT);

pinMode(PinIN3, OUTPUT);

pinMode(PinIN4, OUTPUT);

//PIR

pinMode(ledPin, OUTPUT); //El pin 12 del arduino lo asignamos como salida para el led

pinMode(sensorPin, INPUT);//El pin 11 lo asignamos como entrada para la señal del sensor

Serial.begin(9600);

for(int i = 0; i > 30; i++) //Utilizamos un for para calibrar el sensor depende del tipo de sensor que
utilicemos va a cambiar el tiempo de calibración

{
delay(1000);

delay(50);

// activate LCD module

lcd.begin (16,2); // for 16 x 2 LCD module

lcd.setBacklightPin(3,POSITIVE);

lcd.setBacklight(HIGH);

void loop(){

temperatura();

delay(2000);

sonido();

delay(2000);

servomotor();

delay(2000);

DC();

delay(2000);

PIR();

delay(2000);

lcd.clear();

void temperatura()

int h = dht.readHumidity();// Lee la humedad

int t= dht.readTemperature();//Lee la temperatura

//////////////////////////////////////////////////Humedad
Serial.print("Humedad Relativa: ");

Serial.print(h);//Escribe la humedad

Serial.println(" %");

delay (1000);

///////////////////////////////////////////////////Temperatura

Serial.print("Temperatura: ");

Serial.print(t);//Escribe la temperatura

Serial.println(" C'");

delay (1000);

///////////////humedad LCD////////////////////////////////////

lcd.home (); // set cursor to 0,0

lcd.print("Humedad:");

lcd.print(h);//Escribe la humedad

lcd.println(" %");

lcd.setCursor (0,1);

delay (1000);

////////////////temperatura lcd////////////////////////////////////

lcd.print("Temperatura:");

lcd.print(t);

lcd.println(" C°");

lcd.setCursor (0,2);

delay (1000);

lcd.clear();

void sonido()

{
long t; //tiempo que demora en llegar el eco

long d; //distancia en centímetros

digitalWrite(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

//////////print lcd////////////////////

lcd.home (); // set cursor to 0,0

lcd.print("Distancia: ");

lcd.print(d); //Enviamos serialmente el valor de la distancia

lcd.print("cm");

delay(1000);

lcd.clear();

/////////fin ultrasonido///////////

void servomotor()

//INICIO DEL SERVO MOTOR

//print "a la izq"

lcd.clear();

lcd.print("SERVO 1 GIRA A");


lcd.setCursor(0,1);

lcd.print("<= LA IZQUIERDA");

for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees in steps of 1 degree

myservo.write(pos); // tell servo to go to position in variable 'pos'

delay(9); // waits 15ms for the servo to reach the position

//print "a la derecha"

lcd.clear();

lcd.print("SERVO 1 GIRA A");

lcd.setCursor(0,1);

lcd.print("=> LA DERECHA");

for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees

myservo.write(pos); // tell servo to go to position in variable 'pos'

delay(9);

//SERVO MOTOR 2

//INICIO DEL SERVO MOTOR

//print "a la izq"

lcd.clear();

lcd.print("SERVO 2 GIRA A");

lcd.setCursor(0,1);

lcd.print("<= LA IZQUIERDA");

for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees in steps of 1 degree

myservo1.write(pos); // tell servo to go to position in variable 'pos'

delay(9); // waits 15ms for the servo to reach the position

//print "a la derecha"


lcd.clear();

lcd.print("SERVO 2 GIRA A");

lcd.setCursor(0,1);

lcd.print("=> LA DERECHA");

for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees

myservo1.write(pos); // tell servo to go to position in variable 'pos'

delay(9);

////fin servomotor//////

//inicio Motoro DC//

void DC() {

MotorHorario();

Serial.println("Giro del Motor en sentido horario");

lcd.print("Horario");

lcd.setCursor(0, 1);

delay(1000);

lcd.clear();

MotorAntihorario();

Serial.println("Giro del Motor en sentido antihorario");

lcd.print("Antihorario");

lcd.setCursor(0, 0);

delay(1000);

lcd.clear();
MotorStop();

Serial.println("Motor Detenido");

delay(1000);

void MotorHorario()

digitalWrite (PinIN1, HIGH);

digitalWrite (PinIN2, LOW);

digitalWrite (PinIN3, HIGH);

digitalWrite (PinIN4, LOW);

void MotorAntihorario()

digitalWrite (PinIN1, LOW);

digitalWrite (PinIN2, HIGH);

digitalWrite (PinIN3, LOW);

digitalWrite (PinIN4, HIGH);

void MotorStop()

{ digitalWrite (PinIN1, LOW);

digitalWrite (PinIN2, HIGH);

digitalWrite (PinIN3, LOW);

digitalWrite (PinIN4, HIGH);

}
////////inicio sensor de movimiento//

void PIR()

val = digitalRead(sensorPin); //Lee el valor de la variable (val)

if (val == HIGH) //Si detecta que hay movimiento manda activar el led que hay conectado en el pin
12 del arduino

digitalWrite(ledPin, HIGH);

Serial.println("Hay Movimiento");

lcd.print("Hay Movimiento");

lcd.setCursor(0, 0);

delay(500);

lcd.clear();

else //Si la condición anterior no se cumple manda apagar el led

digitalWrite(ledPin, LOW);

Serial.println("sin Movimiento");

lcd.print("sin Movimiento");

lcd.setCursor(0, 0);

delay(500);

lcd.clear();

Das könnte Ihnen auch gefallen