0% encontró este documento útil (0 votos)
314 vistas3 páginas

Tres Proyectos Ardunio Sensor de Movimiento Pir

Este documento presenta dos proyectos con Arduino. El primero describe un sensor de movimiento PIR conectado a un servomotor y LED para controlar el acceso. El segundo proyecto incluye un sensor ultrasónico para medir distancias y detectar objetos, con LEDs y bocina para alertas de proximidad. También se incluye el código y montaje para un semáforo de 4 direcciones controlado por Arduino.

Cargado por

Quevin Barrera
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
314 vistas3 páginas

Tres Proyectos Ardunio Sensor de Movimiento Pir

Este documento presenta dos proyectos con Arduino. El primero describe un sensor de movimiento PIR conectado a un servomotor y LED para controlar el acceso. El segundo proyecto incluye un sensor ultrasónico para medir distancias y detectar objetos, con LEDs y bocina para alertas de proximidad. También se incluye el código y montaje para un semáforo de 4 direcciones controlado por Arduino.

Cargado por

Quevin Barrera
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

SENSOR DE MOVIMIENTO PIR + SERVOMOTOR CON ARDUINO Y TINKERCAD

Material Utilizado:
* Arduino UNO
* Protoboard o placa de pruebas
* Sensor de movimiento PIR
* 1 Servomotor
* 1 Led
* 1 Resistencia de 330 ohms
* Cables de conexión

CÓDIGO
#include <Servo.h>
Servo puerta; // Nombre asignado al servo
int LED = 5;
int PIR = 4;

void setup()
{
pinMode(LED, OUTPUT);
pinMode(PIR, INPUT);
puerta.attach(7);

void loop()
{
int valorpir = digitalRead(PIR);
if (valorpir == 1) {
digitalWrite(LED, HIGH);
puerta.write(180);
}
else
{
digitalWrite(LED, LOW);
puerta.write(0);
}
delay(300);
}
SENSOR ULTRASÓNICO
// Pines utilizados // Comprueba si hay alguna alerta visual o sonora
#define LEDVERDE 2 void alertas(float distancia)
#define LEDAMARILLO 3 {
#define LEDROJO 4 if (distancia < umbral1 && distancia >= umbral2)
#define TRIGGER 5 {
#define ECHO 6 // Encendemos el LED verde
#define BUZZER 9 digitalWrite(LEDVERDE, HIGH);
// Constantes tone(BUZZER, 2000, 200);
const float sonido = 34300.0; // Vel del sonido en cm/s }
const float umbral1 = 30.0; else if (distancia < umbral2 && distancia > umbral3)
const float umbral2 = 20.0; {
const float umbral3 = 10.0; // Encendemos el LED amarillo
digitalWrite(LEDAMARILLO, HIGH);
void setup() { tone(BUZZER, 2500, 200);
// Iniciamos el monitor serie }
Serial.begin(9600); else if (distancia <= umbral3)
// Modo entrada/salida de los pines {
pinMode(LEDVERDE, OUTPUT); // Encendemos el LED rojo
pinMode(LEDAMARILLO, OUTPUT); digitalWrite(LEDROJO, HIGH);
pinMode(LEDROJO, OUTPUT); tone(BUZZER, 3000, 200);
pinMode(ECHO, INPUT); }
pinMode(TRIGGER, OUTPUT); }
pinMode(BUZZER, OUTPUT); // Calcula la distancia a la que se encuentra un objeto.
// Apagamos todos los LEDs // Devuelve variable tipo float que contiene la distancia
apagarLEDs(); float calcularDistancia()
} {
// pulseIn obtiene el tiempo en cambiar entre estados
void loop() { unsigned long tiempo = pulseIn(ECHO, HIGH);
// Preparamos el sensor de ultrasonidos // Distancia en cm, convertir el tiempo en s está en ms
iniciarTrigger(); // por eso se multiplica por 0.000001
// Obtenemos la distancia float distancia = tiempo * 0.000001 * sonido / 2.0;
float distancia = calcularDistancia(); Serial.print(distancia);
// Apagamos todos los LEDs Serial.print("cm");
apagarLEDs(); Serial.println();
// Alerta si estamos dentro del rango de peligro delay(500);
if (distancia < umbral1) return distancia;
{ }
// Lanzamos alertas // Inicia la secuencia del Trigger para comenzar a medir
alertas(distancia); void iniciarTrigger()
} {
} // Pon el Triiger en estado bajo y esperamos 2 ms
// Apaga todos los LEDs digitalWrite(TRIGGER, LOW);
void apagarLEDs() delayMicroseconds(2);
{ // Pin Trigger a estado alto y esperamos 10 ms
// Apagamos todos los LEDs digitalWrite(TRIGGER, HIGH);
digitalWrite(LEDVERDE, LOW); delayMicroseconds(10);
digitalWrite(LEDAMARILLO, LOW); // Comenzamos poniendo el pin Trigger en estado bajo
digitalWrite(LEDROJO, LOW); digitalWrite(TRIGGER, LOW);
} }
MONTAJE ULTRASONICO
SEMÁFORO

CODIGO SEMÁFORO

void setup(){
for(int i=2;i<14;i=i+1){ digitalWrite(10,HIGH); // tercer semaforo verde
pinMode(i,OUTPUT); digitalWrite(8,LOW); // OFF el rojo 3
} delay(2000); // espero
} digitalWrite(9,HIGH); // ON el 3erdo amarillo
void loop(){ delay(500); // espero
/*2 verde2 - 3 amarillo2 - 4 rojo2 digitalWrite(9,LOW); // apago ambos
digitalWrite(10,LOW);
5 verde1 - 6 amarillo1 - 7 rojo1 digitalWrite(8,HIGH);

8 rojo3 - 9 amarillo3- 10 verde3 digitalWrite(11,HIGH); // cuarto semaforo verde


digitalWrite(13,LOW);
11 verde4 - 12 amarillo4 - 13 rojo4*/ delay(2000); // espero
digitalWrite(12,HIGH); // ON el 4to amarillo
for(int i=2;i<14;i=i+1){ // todo este apagado delay(500); // espero
digitalWrite(i,LOW); digitalWrite(11,LOW); // OFF ambos
} digitalWrite(12,LOW);
digitalWrite(13,HIGH);
digitalWrite(5,HIGH); // enciendo el primer verde
digitalWrite(4,HIGH); // Enciendo los demas rojos }
digitalWrite(8,HIGH);
digitalWrite(13,HIGH);
delay(2000); // espero
digitalWrite(6,HIGH); // enciendo el amarillo
delay(500); //espero
digitalWrite(5,LOW); //apagar el verde y el amarillo
digitalWrite(6,LOW);
digitalWrite(7,HIGH);

digitalWrite(2,HIGH); // segundo semaforo verde


digitalWrite(4,LOW); // OFF el rojo 2
delay(2000); // espero
digitalWrite(3,HIGH); //ON el 2do amarillo
delay(500); // espero
digitalWrite(2,LOW); // apago ambos
digitalWrite(3,LOW);
digitalWrite(4,HIGH); // enciendo el rojo

SENSOR DE MOVIMIENTO PIR + SERVOMOTOR CON ARDUINO Y TINKERCAD 
Material Utilizado:  
* Arduino UNO 
* Protoboard o placa
SENSOR ULTRASÓNICO 
// Pines utilizados 
#define LEDVERDE 2 
#define LEDAMARILLO 3 
#define LEDROJO 4 
#define TRIGGER 5
SEMÁFORO 
 
CODIGO SEMÁFORO 
 
void setup(){ 
  for(int i=2;i<14;i=i+1){ 
   
pinMode(i,OUTPUT); 
  } 
} 
void loop(){ 
/

También podría gustarte