SENSOR INFRARROJOS (Línea negra)
#include <Servo.h>//Se le da a Arduino cómo debe funcionar el servomotor.
Servo myservo;
int sensorPin=9;
int zumbador=5;
void setup() {
Serial.begin(9600);//Declaro los pines de salida
pinMode(sensorPin,INPUT);
myservo.attach(7);
pinMode(zumbador,OUTPUT);
}
void loop() {
int value=0;//Introduzco una nueva variable
value=digitalRead(sensorPin);//Declaro dicha variable
if (value==LOW)
{
Serial.println("Aparece negro");
for (int i=0;i<=180;i++)//En esta función declaro cómo se va a mover el servomotor.
{
myservo.write(i);
delay(10);
}
tone(zumbador,4000);
}
else
{
Serial.println("No aparece negro");
myservo.write(0);
noTone(zumbador);
}
delay(1000);
}
SENSOR INFRARROJOS (Radar de tramo)
//Se ponen como variables los tiempos, la velocidad, el zumbador, los sensores y el led.
float tiempo1;
float tiempo2;
float tiempo;
float velocidad;
int zumbador=3;
int verde=7;
int sensor1=11;
int sensor2=9;
void setup() {
Serial.begin(9600);//Declaro los pines como salidas y entradas.
pinMode(sensor1,INPUT);
pinMode(sensor2,INPUT);
pinMode(zumbador,OUTPUT);
pinMode(verde,OUTPUT);
}
void loop() {
int value1=0;//Se introducen 2 nuevas variables y las declaro.
value1 =digitalRead(sensor1);
int value2=0;
value2=digitalRead(sensor2);
if (value1==LOW)//Se introduce la condicionante la cual empezará a contar un tiempo desde cero si detecta un objeto en movimiento.
tiempo1=millis();
}
if (value2==LOW)//Declaro este condicionante para que cuando el objeto pase por el segundo sensor pare de contar el tiempo y calcule la velocidad utilizando la posición y el tiempo desde el primer sensor y el segundo sensor.
{
tiempo2=millis();
tiempo=tiempo2-tiempo1;
velocidad=4/tiempo;
Serial.println(velocidad,4);
if (velocidad>=0.004)//Declaro qué sucederá si un objeto supera la velocidad determinada. El zumbador suena y el led se enciende, si no se cumple, no funcionará nada.
{
tone(zumbador,6000);
digitalWrite(verde,HIGH);
}
else{
noTone(zumbador);
digitalWrite(verde,LOW);
}
}
}
Comentarios
Publicar un comentario