elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica
| | |-+  AYUDA en crear un código más corto.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: AYUDA en crear un código más corto.  (Leído 5,606 veces)
Inter-ard

Desconectado Desconectado

Mensajes: 48


Ver Perfil
AYUDA en crear un código más corto.
« en: 22 Febrero 2014, 01:52 am »

Buenas noches amig@s, espero se encuentren bien.
En esta ocasión les escribo para solicitarles ayuda sobre un código que ya tengo elaborado, sin embargo quiero hacerlo más corto.

Saludos atentos y bendiciones.


En línea

xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: AYUDA en crear un código más corto.
« Respuesta #1 en: 22 Febrero 2014, 03:02 am »

Sería un detalle que subieras el código...

Un saludo.


En línea

Inter-ard

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: AYUDA en crear un código más corto.
« Respuesta #2 en: 22 Febrero 2014, 03:24 am »

este es el código amigo:
la funcion de el es hacer que al presionar un pulsador aumente, y al presionar otro disminuya (la cuenta).

Código
  1. int a=2; //segmentos del display
  2. int b=3;
  3. int c=4;
  4. int d=5;
  5. int e=6;
  6. int f=7;
  7. int g=8;
  8. int botincremento=9;//boton de incremento
  9. int botdecremento=10;//boton de decremento
  10. int timeAntirebote=15;
  11.  
  12. int cuenta=0;//lleva la cuenta
  13. int estadobotincremento;
  14. int estadobotdecremento;
  15. int estadobotantincremento;
  16. int estadobotantdecremento;
  17.  
  18. boolean antirebote(int pin){
  19.  int contador=0;
  20.  boolean estado; //guarda el estaado del boton
  21.  boolean estadoAnterior;//guarda el ultimo estado del boton
  22.  
  23. do {
  24.   estado=digitalRead(pin);
  25.   if (estado != estadoAnterior){
  26.     contador=0;
  27.     estadoAnterior = estado;//reiniciamos el contador
  28.   }
  29.  else{
  30.    contador = contador + 1;//aumentamos el contador en 1
  31.  }
  32.  delay(1);
  33. }while(contador < timeAntirebote);
  34.  
  35. return estado;
  36. }
  37.  
  38. void setup(){
  39.  Serial.begin(9600);
  40.   pinMode(a, OUTPUT);//los declaramos como salidas
  41.   pinMode(b, OUTPUT);
  42.   pinMode(c, OUTPUT);
  43.   pinMode(d, OUTPUT);
  44.   pinMode(e, OUTPUT);
  45.   pinMode(f, OUTPUT);
  46.   pinMode(g, OUTPUT);
  47.   pinMode(botincremento,INPUT);//los botones los declaramos como salidas
  48.   pinMode(botdecremento,INPUT);
  49. }  
  50.  
  51. void actualizarNumero(){
  52.  switch(cuenta){//pregunta por el valor de una variable que nosotros le digamos.
  53.  
  54.   case 0:
  55.   digitalWrite(a, HIGH);
  56.   digitalWrite(b, HIGH);
  57.   digitalWrite(c, HIGH);
  58.   digitalWrite(d, HIGH);
  59.   digitalWrite(e, HIGH);
  60.   digitalWrite(f, HIGH);
  61.   digitalWrite(g, LOW);
  62.   break;//de no tener break, seguirá realziando todas las funciones.
  63.   case 1:
  64.   digitalWrite(a, LOW);
  65.   digitalWrite(b, HIGH);
  66.   digitalWrite(c, HIGH);
  67.   digitalWrite(d, LOW);
  68.   digitalWrite(e, LOW);
  69.   digitalWrite(f, LOW);
  70.   digitalWrite(g, LOW);
  71.   break;
  72.   case 2:
  73.   digitalWrite(a, HIGH);
  74.   digitalWrite(b, HIGH);
  75.   digitalWrite(c, LOW);
  76.   digitalWrite(d, HIGH);
  77.   digitalWrite(e, HIGH);
  78.   digitalWrite(f, LOW);
  79.   digitalWrite(g, HIGH);
  80.   break;
  81.  
  82.   case 3:
  83.   digitalWrite(a, HIGH);
  84.   digitalWrite(b, HIGH);
  85.   digitalWrite(c, HIGH);
  86.   digitalWrite(d, HIGH);
  87.   digitalWrite(e, LOW);
  88.   digitalWrite(f, LOW);
  89.   digitalWrite(g, HIGH);
  90.   break;
  91.   case 4:
  92.   digitalWrite(a, LOW);
  93.   digitalWrite(b, HIGH);
  94.   digitalWrite(c, HIGH);
  95.   digitalWrite(d, LOW);
  96.   digitalWrite(e, LOW);
  97.   digitalWrite(f, HIGH);
  98.   digitalWrite(g, HIGH);
  99.   break;
  100.   case 5:
  101.   digitalWrite(a, HIGH);
  102.   digitalWrite(b, LOW);
  103.   digitalWrite(c, HIGH);
  104.   digitalWrite(d, HIGH);
  105.   digitalWrite(e, LOW);
  106.   digitalWrite(f, HIGH);
  107.   digitalWrite(g, HIGH);
  108.   break;
  109.  case 6:
  110.   digitalWrite(a, HIGH);
  111.   digitalWrite(b, LOW);
  112.   digitalWrite(c, HIGH);
  113.   digitalWrite(d, HIGH);
  114.   digitalWrite(e, HIGH);
  115.   digitalWrite(f, HIGH);
  116.   digitalWrite(g, HIGH);
  117.   break;
  118.   case 7:
  119.   digitalWrite(a, HIGH);
  120.   digitalWrite(b, HIGH);
  121.   digitalWrite(c, HIGH);
  122.   digitalWrite(d, LOW);
  123.   digitalWrite(e, LOW);
  124.   digitalWrite(f, LOW);
  125.   digitalWrite(g, LOW);
  126.   break;
  127.  
  128.   case 8:
  129.   digitalWrite(a, HIGH);
  130.   digitalWrite(b, HIGH);
  131.   digitalWrite(c, HIGH);
  132.   digitalWrite(d, HIGH);
  133.   digitalWrite(e, HIGH);
  134.   digitalWrite(f, HIGH);
  135.   digitalWrite(g, HIGH);
  136.   break;
  137.   case 9:
  138.   digitalWrite(a, HIGH);
  139.   digitalWrite(b, HIGH);
  140.   digitalWrite(c, HIGH);
  141.   digitalWrite(d, LOW);
  142.   digitalWrite(e, LOW);
  143.   digitalWrite(f, HIGH);
  144.   digitalWrite(g, HIGH);
  145.   break;
  146.  }
  147. }
  148.  
  149. void loop()  {
  150.   estadobotincremento=digitalRead(botincremento);//leemos el boton
  151.   if(estadobotincremento !=estadobotantincremento){//si hay cambio respecto al estado anterior
  152.     if(antirebote(botincremento)){//vemos si esta presionado
  153.       cuenta++;//aumentamos la cuenta
  154.       if(cuenta>9){
  155.         cuenta=0;
  156.       }
  157.     }
  158.   }
  159.   estadobotantincremento = estadobotincremento;//guardamos el estado del boton
  160.   estadobotdecremento=digitalRead(botdecremento);//leemos el estado del boton
  161.   if(estadobotdecremento != estadobotantdecremento){
  162.     if(antirebote(botdecremento)){
  163.       cuenta--;//disminuimos la cuenta
  164.       if(cuenta<0){
  165.         cuenta=9;
  166.       }
  167.     }
  168.   }
  169.   estadobotantdecremento = estadobotdecremento;
  170.   actualizarNumero();
  171. }
  172.  
  173.  
  174.  
  175.  
  176.  

En línea

Meta


Desconectado Desconectado

Mensajes: 3.499



Ver Perfil WWW
Re: AYUDA en crear un código más corto.
« Respuesta #3 en: 22 Febrero 2014, 05:45 am »

Hola:

Al menos di que es Arduino, la gente no es adivina. Lo se porque esstoy metido en ello.

Creal al menos un esquema para saber de que va. Piedes simplificar código, parace que está muy bien estructurado.

Saludo.
En línea

Inter-ard

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: AYUDA en crear un código más corto.
« Respuesta #4 en: 22 Febrero 2014, 06:42 am »

disculpa si se me paso decir que era arduino gracias por la observación...a que te refieres con crear un esquema para ver por lo menos de que va?
En línea

Meta


Desconectado Desconectado

Mensajes: 3.499



Ver Perfil WWW
Re: AYUDA en crear un código más corto.
« Respuesta #5 en: 22 Febrero 2014, 21:04 pm »

Hola:

Esquema electrónico, diagrama de flujo, en qué consiste.

Para que en manejar display de 7 segmentos, en este caso.

Saludo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda para crear un codigo
Programación C/C++
carwen 2 3,139 Último mensaje 22 Octubre 2011, 02:34 am
por carwen
Ayuda con este codigo. ( crear checkboxes dinamicamente dentro de un div)
PHP
70N1 1 2,085 Último mensaje 12 Septiembre 2012, 15:15 pm
por 70N1
Ayuda con este codigo js. Crear style dinamicamente.
Programación General
70N1 0 1,852 Último mensaje 18 Julio 2013, 10:09 am
por 70N1
ayuda creo placa en corto
Hardware
raborda 1 2,051 Último mensaje 11 Agosto 2015, 22:56 pm
por Randomize
Ayuda, Camino mas corto
Programación C/C++
RRjavier21 1 1,492 Último mensaje 22 Diciembre 2018, 12:09 pm
por CalgaryCorpus
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines