Comentarios en: Arduino: Cuenta atrás por pantalla https://giltesa.com/2011/08/25/arduino-cuenta-atras-por-pantalla Wed, 25 Mar 2020 11:47:58 +0000 hourly 1 https://wordpress.org/?v=6.3.1 Por: Jose Manuel https://giltesa.com/2011/08/25/arduino-cuenta-atras-por-pantalla#comment-4757 Wed, 25 Mar 2020 11:47:58 +0000 https://giltesa.com/?p=6920#comment-4757 Hola buenas necesito hacer un proyecto donde tengo hacer la cuenta atrás de 10 segundos del despegue de un cohete y que se ilumine un led al finalizar , no tengo ni idea de como hacerlo alguien me podría ayudar .Todo esto lo tengo que hacer en tinkercad

]]>
Por: David https://giltesa.com/2011/08/25/arduino-cuenta-atras-por-pantalla#comment-3986 Mon, 29 Aug 2016 18:06:57 +0000 https://giltesa.com/?p=6920#comment-3986 Muy buenas,gracias por la respuesta.
Esta es la mdificacion que he realizado para poder verlo en una LCD.
Igual el orden no es el correcto pues estoy aprendiendo,pero funciona.

// Se inicializan las constantes (variables cuyo valor no cambiara durante la ejecución del programa) y se le asignan los números de pin.
#include
#include
LiquidCrystal_I2C lcd(0x3F, 16, 2);
const int buzzerPin = 9;
const int ledPin = 13;

void setup()
{
lcd.begin();

// Turn on the blacklight and print a message.
lcd.backlight();
// Se asignan los pines.
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);

// Se ajusta la salida de datos del puerto serie a 9600 baudios.
Serial.begin(9600);
}

void loop()
{
// Se inicializa un array de tipo char (texto/string) con los valores que se mostraran por el puerto serie.
// El asterisco aun no tengo claro que función tiene, pero sin él da error la compilación.
char* cuentaAtras[] = {«Despegue!», «1», «2», «3»};

// Se inicia un bucle que va marcha atrás de modo que a cada vuelta obtenemos que i vale: 3, 2, 1 y 0.
for( int i=3; i>=0; i– )
{
// Se imprime en pantalla el valor del array que corresponda a la vuelta del for.
Serial.println(cuentaAtras[i]);
lcd.print(cuentaAtras[i]);

// Además, cuando el valor del array contenga la palabra «Despegue!» se encenderá el ledPin y a continuación el buzzerPin con sus tiempos correspondientes.
if( cuentaAtras[i] == «Despegue!» )
{
digitalWrite(ledPin, HIGH);
delay(800);
digitalWrite(buzzerPin, HIGH);
digitalWrite(ledPin, LOW);
delay(200);
digitalWrite(buzzerPin, LOW);
}
else
{
delay(1000);
lcd.clear();
}
}
if( int i=1){
while(true);
}
}

]]>
Por: giltesa https://giltesa.com/2011/08/25/arduino-cuenta-atras-por-pantalla#comment-3980 Sun, 28 Aug 2016 11:36:06 +0000 https://giltesa.com/?p=6920#comment-3980 Hola,

Basta con que añadas un while(true); antes de terminar el void loop:

void loop()
{
//El código que quieras.
while(true);
}

Así el loop sólo se ejecutará una vez.

Saludos.

]]>
Por: AceOfAces (@AceOfAces6) https://giltesa.com/2011/08/25/arduino-cuenta-atras-por-pantalla#comment-3979 Sun, 28 Aug 2016 02:31:35 +0000 https://giltesa.com/?p=6920#comment-3979 Hola buenas.
Me ha gustado tu trabajo,necesitaba algo así.
Tengo una duda,¿como hago para parar el bucle despues de despege?
He puesto un break despues del delay,pero se repite el tres,he probado hacer un while y un do while en diferentes sitios con el break,pero no funciona.

]]>