Hola fibroso28
Si eres nuevo te recomiendo probar cada sensor por aparte.
Te recomiendo los tutoriales en esta pagina:
http://www.tdrobotica.co/tutoriales/arduino
Al estar probando mi Arduino Uno estuve probando varios sensores, que activara dos servomotores, este es el codigo que utilice:
/*
CONTROL DE 2 SERVOMOTOR con reed y ultrasonico
En este ejercicio al accionar el sensor reed, activara el
servomotor a 90° y encendera el LED 10 veces
luego el LED se apagara y el servomotor ira a la posicion 0°
reed = pin 2 //Pin asignado al reed switch + 1 R 1K a +
led= pin 13 //Pin asignado al LED
buzzer= pin 10 //Pin asignado al buzzer
servo1= pin 3 //agisnamos el servo en el pin 3
servo2= pin 5 //agisnamos el servo en el pin 5
trig= pin 9 //Pin asignado al trig del sensor ultrasonico
echo= pin 8 //Pin asignado al echo del sensor ultrasonico
conexion servo:
cafe:GND
rojo:+
naranja:señal(en este caso pin 3 y 5)
Javiertecteos
*/
//--------------------------------------------------
//Declara puertos de entradas y salidas y variables
//--------------------------------------------------
int reed = 2; //Pin asignado al reed switch
int led= 13; //Pin asignado al LED
int buzzer= 10; //Pin asignado al buzzer
#include <Servo.h> //Libreria Servo
Servo servo1; //crea un objeto servo en la libreria Servo.h
Servo servo2; //crea un objeto servo en la libreria Servo.h
//sensor ultrasonico
long distancia;
long tiempo;
//------------------------------------
//Funcion principal
//------------------------------------
void setup() //Se ejecuta cada vez que el Arduino se inicia
{
servo1.attach(3); //agisnamos el servo en el pin 3
servo2.attach(5); //agisnamos el servo en el pin 5
pinMode(reed,INPUT); //El reed switch como una entrada
pinMode(led, OUTPUT); //El LED como una salida
pinMode(buzzer, OUTPUT); //El buzzer como una salida
Serial.begin(9600);
pinMode(9, OUTPUT); /activación del pin 9 como salida: para el pulso ultrasónico/
pinMode(8, INPUT); /activación del pin 8 como entrada: tiempo del rebote del ultrasonido/
}
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() //Esta funcion se mantiene ejecutando
{ //cuando este energizado el Arduino
//sensor ultrasonico
digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
delayMicroseconds(5);
digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
delayMicroseconds(10);
tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
deja de hacerlo, LOW, la longitud del pulso entrante*/
distancia= int(0.017*tiempo); /fórmula para calcular la distancia obteniendo un valor entero/
/Monitorización en centímetros por el monitor serial/
Serial.println(“Distancia”);
Serial.println(distancia);
Serial.println(" cm");
delay(1000);
// Si el iman se acerca al reed switch o el sensor ultrasonico
// detecta algo a menos de 30 cm
if (digitalRead(reed)==LOW || (distancia)<=30){
digitalWrite(buzzer,HIGH); //Apaga el buzzer
servo1.write(180); //Cargamos la funcion con el valor en grados de 0 a 179º
delay(1000); //Retardo entre coordenadas
digitalWrite(buzzer,LOW); //Apaga el buzzer
for(int a=0; a<3; a++){
digitalWrite(led,HIGH); //Prende el LED
servo1.write(90); //Cargamos la funcion con el valor en grados de 0 a 179º
servo2.write(90); //Cargamos la funcion con el valor en grados de 0 a 179º
delay(1000); //Retardo entre coordenadas
digitalWrite(led,LOW); //Apaga el LED
delay(300); //Tiempo
}
// Si el iman esta lejos del reed switch
}else{
digitalWrite(led,LOW); //Mantiene apagado el LED
servo1.write(0); //Cargamos la funcion con el valor en grados de 0 a 179º
servo2.write(180); //Cargamos la funcion con el valor en grados de 0 a 179º
delay(1000); //Retardo entre coordenadas
digitalWrite(buzzer,LOW); //Apaga el buzzer
}
}
//Fin programa
Pero me quedan dudas en tu proyecto, no entiendo cual es el otro sensor y como lo piensas usar.