Buenas, estoy realizando un proyecto (arduino uno), en el cual un sensor de movimiento enciende un led, si pasa 1 minuto y sigue detectando a alguien acciona un servo motor (180), pero si no, el servo motor sigue en 0 grados.
Muchas gracias por vuestra ayuda.
[quote="pepelurugbilero, post:1, topic:1073258, full:true"]
Buenas, estoy realizando un proyecto (arduino uno), en el cual un sensor de movimiento enciende un led, si pasa 1 minuto y sigue detectando a alguien acciona un servo motor (180), pero si no, el o motor sigue en 0 grados.
Muchas gracias por vuestra ayuda.
<
const int sensor = 7;
const int led = 8;
int state;
#include<Servo.h> //include the servo library
Servo servo; //create a servo object
int pos = 0; //initial position of the servo
unsigned long time1 = 0;
unsigned long time2 = 0;
void setup() {
time1 = millis();
servo.attach(9); //pin used by the servo
pinMode(sensor, INPUT);
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
}
void loop() {
state = digitalRead(sensor);
time2 = millis();
if(time2 < (time1+10000) && state ==HIGH){
time1 = millis();
digitalWrite(led, HIGH);
servo.write(0);
}
if (time2 >= (time1+5000) && state == HIGH) {
digitalWrite(led, HIGH);
servo.write (180);
}
else {
digitalWrite(led, LOW);
servo.write(0);
}
}
[quote="pepelurugbilero, post:1, topic:1073258, full:true"]
Buenas, estoy realizando un proyecto (arduino uno), en el cual un sensor de movimiento enciende un led, si pasa 1 minuto y sigue detectando a alguien acciona un servo motor (180), pero si no, el o motor sigue en 0 grados.
Muchas gracias por vuestra ayuda.
<
const int sensor = 7;
const int led = 8;
int estado;
#include<Servo.h>
Servo servo;
int pos = 0;
unsigned long tiempo1 = 0;
unsigned long tiempo2 = 0;
void setup() {
tiempo1 = millis();
servo.attach(9);
pinMode(sensor, INPUT);
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
}
void loop() {
estado = digitalRead(sensor);
tiempo2 = millis();
if(tiempo2 < (tiempo1+10000) && estado ==HIGH){
tiempo1 = millis();
digitalWrite(led, HIGH);
servo.write(0);
}
if (tiempo2 >= (tiempo1+5000) && estado == HIGH) {
digitalWrite(led, HIGH);
servo.write (180);
}
else {
digitalWrite(led, LOW);
servo.write(0);
}
}
>
[code]
Hola Surbyte.
Perdona , espero que ahora lo haya subido mejor, me lei las normas e intente subir el codigo . si sigue habiendo algo mas dimelo. Gracias por tu ayuda.