Loading...
Pages: [1]   Go Down
Author Topic: por favor suplico su ayuda con mi trabajo  (Read 66 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

porfavor ayúdenme con mi trabajo  smiley-cry smiley-cry smiley-cry no logro poder hacerlo porfavor ayúdenme esto es lo que tengo que hacer
 
El proyecto consiste en controlar las luces de una casa como se describe a
continuación:
1. El primer led se controlará mediante un pushButton así:
1. Al presionar una vez, el led se encenderá mediante 30 segundos.
2. Si el botón se presiona una segunda vez en un periodo de 50
milisegundos, el led permanecerá encendido 90 segundos.
3. Si el botón se presiona una segunda vez después de 50 milisegundos,
el led se apagará.
4. Si se recibe una 'A' por el puerto serial, el led se encenderá por 30
segundos.
5. Si se recibe una 'B' por el puerto serial, el led se encenderá por 90
segundos.
6. Si se recibe una 'C' por el puerto serial, el led se apagará.
2. El segundo y el tercer led se controlan así:
1. Mediante dos botones, donde al presionar cualquiera de los dos
botones, se encenderán los dos leds y permanecerán encendidos 30
segundos.
2. Si el mismo botón que se presiono para encender los leds, se presiona
una segunda vez en un periodo de 50 milisegundos, los leds
permanecerán encendidos por 90 segundos.
3. Si el mismo botón se presiona una tercera vez en el mismo periodo de
50 milisegundos, los dos led encenderán de manera intermitente, uno a
la vez por 250 milisegundos y por un periodo de 15 segundos.
4. Si por el puerto serie se recibe una 'D' se realiza la actividad 1 de este
inciso.
5. Si se recibe una 'E' por el puerto serie, se realiza la segunda actividad
descrita en este inciso.
6. Si se recibe por el puerto serie una 'F' , se realiza la actividad 3 de este
inciso
7. Si se recibe una 'G', se apagan los dos leds.
3. Si cualquier botón permanece apretado por 100 milisegundos, todos los
leds encenderán al mismo tiempo de manera intermitente, con una
duración de 75 milisegundos encendidos y 650 milisegundos apagados,
esta acción permanecerá así por un minuto o hasta que se presione
cualquier botón por un periodo de 100 milisegundos.
4. El punto 3 se realizara también si se recibe por el puerto seria la letra 'T',
con lo cual los leds parpadearan como se describió y si se recibe otra 'T',
la actividad terminará.

esto es lo que llevo lo que me causa problemas son los tiempos los cuales no se como hacerlos  porfavor ayudenme
Code:
int led = 9;
int led1 = 10;
int led2 = 11;
int boton = 12;
int boton1 = 13;
int boton2 = 8;
int x = 0;
int y = 0;
int z = 0;
int estado = 0;
int estado1 = 0;
int estado2 = 0;
char val;

long actual;
long tinicio =0;


int ledStatus = false;
int buttonState = 0;
int lastButtonState = 0;
int lastButtonState2 = LOW;
int reading;
long lastDebounceTime = 0;
long debounceDelay = 200;


int input;




void parpa(){
 for(int i =0; i<5; i++);{
  digitalWrite(led2, LOW);
  digitalWrite(led1, HIGH);
  delay(50);
  digitalWrite(led1, LOW);
  digitalWrite(led2, HIGH);
  delay(50);
 
   }
}


void setup() {
  pinMode(boton, INPUT);
  pinMode(boton1, INPUT);
  pinMode(boton2, INPUT);
  pinMode(led, OUTPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  Serial.begin(9600);
}

void loop(){
 
 estado = digitalRead(boton2);
  if(estado == HIGH){
    delay(90);                         
     x++;
    if(x > 4){
      x = 1;
    }
  }
  if (x == 1 ){
  actual=millis();
  if((actual -tinicio)/100>5){
     digitalWrite(led, HIGH);
   }
  }
  if (x == 2 ){
   digitalWrite(led, HIGH);
   delay(500);
   digitalWrite(led, LOW);
  }
  if ( x == 3){
  digitalWrite(led, LOW);
  }
 
 
 
 
  if(Serial.available()){
   val = Serial.read();
   Serial.print(val);
  }
   
    if( val == 'a' ){
    digitalWrite(led, HIGH);//activa el LED
    delay(300);

      }
   
    if( val == 'b' ){
    digitalWrite(led, HIGH);
    delay(100);
 
    }

    if( val == 'c' ){
    digitalWrite(led, LOW);
   
    }
   
   
   
   
   
 
   
  if (Serial.available()>0){
  input=Serial.read();
  if (input=='1'){
  digitalWrite(led, HIGH);
  delay(30000);
  }
 
  else{
  digitalWrite(led, LOW); }
  }

   
  estado1 = digitalRead(boton1);
  if(estado1 == HIGH){
    delay(90);                         
     y++;
    if(y > 3){
      y = 1;
    }
  }
  if (y == 1 ){
   digitalWrite(led1, HIGH);
   digitalWrite(led2, HIGH);
   delay(2);
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
  }

  if (y == 2 ){
   digitalWrite(led1, HIGH);
   digitalWrite(led2, HIGH);
   delay(30);
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
  }
  if ( y == 3){
  void parpa();
  }
 
 
  estado2 = digitalRead(boton);
  if(estado2 == HIGH){
    delay(90);                         
     y++;
    if(y > 3){
      y = 1;
    }
  }
  if (y == 1 ){
   digitalWrite(led1, HIGH);
   digitalWrite(led2, HIGH);
   delay(2);
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
  }
  if (y == 2 ){
   digitalWrite(led1, HIGH);
   digitalWrite(led2, HIGH);
   delay(30);
  }
  if ( y == 3){
  void parpa();
  }
 
   
   
   if( val == 'g' ){
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
   }
   
    if( val == 'b' ){
    digitalWrite(led, HIGH);
    delay(100);
 
    }

    if( val == 'c' ){
    digitalWrite(led, LOW);
   
    } 
   
}

Logged

Spain
Offline Offline
God Member
*****
Karma: 16
Posts: 827
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buf... ese codigo no tiene ni pies ni cabeza...

me extraña que funcione siquiera.

Te aconsejo empieces a leerte lo basico de arduino, las funciones case, los bucles y la definicion de funciones.

Luego puedes mirar las librerias de tiempo para no emplear delays muy largos.

Hasta que no sepas lo basico de arduino poco vas a poder adelantar...

Un saludo.

Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

En diseño te tienen que gustar más las preguntas que las respuestas [.Jray.]


Si estas empezando:
1- Comienza a usar Arduino
2- Guías de iniciación a Arduino
3- Ejemplos
4- Referencia del Lenguaje
5- Conceptos básicos
6- Guia de usuario de arduino

Pages: [1]   Go Up
Print
 
Jump to: