Start ignição de foguetes (revisao)

//Start foguete com tempo de 30 e 60 segundos
//versao 1.5 28-11-2019 (revisao)
//versao 1.4 31-08-2018
//versao 1.3 23-02-2018
//pedroluand@gmail.com

#define pulso 12
#define botao 8
#define botao2 7
#define sensor 11
#define chave 10
#define som 9
#define led 13
#define led2 2
#define led3 3

void setup(){
    Serial.begin(9600);
    pinMode(pulso, OUTPUT);
    pinMode(botao, INPUT_PULLUP);
    pinMode(botao2, INPUT_PULLUP);
    pinMode(sensor,INPUT_PULLUP);
    pinMode(chave,INPUT_PULLUP);
    pinMode(som, OUTPUT);
    pinMode(led, OUTPUT);
    pinMode(led2, OUTPUT);
    pinMode(led3, OUTPUT);
    tone(9,500,100);
    Serial.println("SISTEMA AGUARDANDO COMANDO PARA INICIO DO LANCAMENTO!");
    digitalWrite(led,HIGH);
    }

void loop(){
start();
    }

void autorizacao(){
int val = digitalRead(chave); //le o valor do sensor no pino 10
    if (val == HIGH)
    {
    Serial.println("ERRO AUTORIZACAO: O MOTOR NAO ACENDEU!");
    Serial.println("ERRO AUTORIZACAO: LANCAMENTO NAO AUTORIZADO!");
    tone(9,500,800);
    delay(500);
    tone(9,400,1500);
    delay(500);
    Serial.println("********************");
    delay(100);
    result(); //verifica se houve ignicao e o motor nao acendeu
    setup();
    }
    else
    {
    digitalWrite(pulso,HIGH);
    delay(100);
    digitalWrite(pulso,LOW);
    delay(100);
    Serial.println("SUCESSO!");
    Serial.println("********************");
    }
    }

void result(){
  int val = digitalRead(sensor); //le o valor do sensor no pino 11
    if (val == HIGH)
    {
// Serial.println("IGNICAO EFETUADA COM SUCESSO!");
    }
    else
    {
    Serial.println("ERRO IGNICAO: MOTOR NAO ACENDEU!");
    Serial.println("ERRO IGNICAO: FALHA NA IGNICAO!");
    tone(9,700,1000);
    delay(1100);
    Serial.println("********************");
    delay(100);
    setup();
}
}
void start(){
    int val = digitalRead(botao); //le o valor de entrada do pino 8
    if (val == LOW)
        {
        digitalWrite (led2,HIGH);
        Serial.println("SISTEMA ARMADO!");
        Serial.println("30 SEGUNDOS...");
        tone(9,600,300);
        delay(20000);
        digitalWrite(led2,LOW);
        Serial.println("INICIANDO CONTAGEM!");
        tone(9,600,300);
        Serial.println("9");
        digitalWrite(led2,HIGH);
        delay(100);
        digitalWrite(led2,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("8");
        digitalWrite(led2,HIGH);
        delay(100);
        digitalWrite(led2,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("7");
        digitalWrite(led2,HIGH);
        delay(100);
        digitalWrite(led2,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("6");
        digitalWrite(led2,HIGH);
        delay(100);
        digitalWrite(led2,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("5");
        digitalWrite(led2,HIGH);
        delay(100);
        digitalWrite(led2,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("4");
        digitalWrite(led2,HIGH);
        delay(100);
        digitalWrite(led2,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("3");
        digitalWrite(led2,HIGH);
        delay(100);
        digitalWrite(led2,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("2");
        digitalWrite(led2,HIGH);
        delay(100);
        digitalWrite(led2,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("1");
        digitalWrite(led2,HIGH);
        delay(100);
        digitalWrite(led2,LOW);
        delay(900);
        tone(9,600,1000);
        delay(1000);
        Serial.println("IGNICAO!");
    // digitalWrite (led2,LOW);
        result();//verifica status do sensor no pino 11
        autorizacao();//verifica status da chave no pino 10
        }
        int valor = digitalRead(botao2); //le o valor de entrada do pino 7
    if (valor == LOW)
    {
        digitalWrite (led3,HIGH);
        Serial.println("SISTEMA ARMADO!");
        Serial.println("60 SEGUNDOS...");
        tone(9,600,300);
        delay(50000);
        digitalWrite(led3,LOW);
        Serial.println("INICIANDO CONTAGEM!");
        tone(9,600,300);
        Serial.println("9");
        digitalWrite(led3,HIGH);
        delay(100);
        digitalWrite(led3,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("8");
        digitalWrite(led3,HIGH);
        delay(100);
        digitalWrite(led3,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("7");
        digitalWrite(led3,HIGH);
        delay(100);
        digitalWrite(led3,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("6");
        digitalWrite(led3,HIGH);
        delay(100);
        digitalWrite(led3,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("5");
        digitalWrite(led3,HIGH);
        delay(100);
        digitalWrite(led3,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("4");
        digitalWrite(led3,HIGH);
        delay(100);
        digitalWrite(led3,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("3");
        digitalWrite(led3,HIGH);
        delay(100);
        digitalWrite(led3,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("2");
        digitalWrite(led3,HIGH);
        delay(100);
        digitalWrite(led3,LOW);
        delay(900);
        tone(9,600,300);
        Serial.println("1");
        digitalWrite(led3,HIGH);
        delay(100);
        digitalWrite(led3,LOW);
        delay(900);
        tone(9,600,1000);
        delay(1000);
        Serial.println("IGNICAO!");
     // digitalWrite (led3,LOW);
        result();//verifica status do sensor no pino 11
        autorizacao();//verifica status da chave no pino 10
        }
        }
   

Comentários

Postagens mais visitadas deste blog

Amplificador de 6W para módulos PLL FM, usando transistores C1970 e C1971 - Versão final 04-04-2022

Amplificador de RF 350mW com BD135 para modulos pll

Antena dipolo para transmissores FM