output pin status as a global variable

Someone can help once again about my code

I wants to let my output status as global variable

I did this with status led’s bluetooth but the pin I was not able

My code

// Programa : Liga desliga chuveiro

int pinoBotao_A = 2; // Flip flop que é acionado pelo botão de partida
int flipflop_A = 8; // Flip flop que envia feedback de tempo esgotado desabilitando alimentação do botão de partida

int leitura_A; // Armazena o valor do temporizador
int valor_A = 1; // Variável tempo On que deverá vir através do bluetooth
int contador_A = 0; // inicia contador em 0

int pinoBotao_B = 3; // Flip flop que é acionado pelo botão de partida
int flipflop_B = 7; // Flip flop que envia feedback de acionamentos esgotado
int flopState = LOW; //Here is the variable I wanna to send in my all programa as a global variable

int leitura_B; // Armazena o valor do contador
int valor_B = 1; // Variável de comparação
int contador_B = 0; // inicia contador em 0

// Declaração do LCD e LM35 para tmperatura
#include <LiquidCrystal.h>
// Biblioteca para cristal liquido
LiquidCrystal lcd(12, 11, 17, 16, 15, 14);
float temp; // Variável futuante
int tempPin = 4; // Memória de leitura analógica

int ledPin = 4; // Pino de saída para led que indica by pass ativo
String readString;
int ledPinState = LOW;

void setup()
{
// Declaração para Temporizador On
pinMode(pinoBotao_A, INPUT); // Entrada de pino 2 que recebe acionamento do flipflop botão de partida
pinMode(flipflop_A, OUTPUT); // Saída de pino 8 que desabilita alimentação do flipflop

// Declaração para contador de impulsos
pinMode(pinoBotao_B, INPUT); // Entrada de pino 2 que recebe acionamento do flipflop botão de partida
pinMode(flipflop_B, OUTPUT); // Saída de pino 8 que desabilita alimentação do flipflop

// Declaração para LM35
lcd.begin(16, 2);
lcd.print(“TEMPERATURA”); // Mensagem principal

pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop()
{

TempoOn();
Contador();
LM35 ();
Led_Bluetooth();

}

void Contador()

{
if (ledPinState == HIGH )

{

contador_B = 0;

}

leitura_B = digitalRead(pinoBotao_B);

if (leitura_B == HIGH)

{
contador_B = contador_B++; //Incrementa o valor do contador
Serial.print("Contador_B : ");
Serial.println(contador_B);

if (contador_B == valor_B)
{

digitalWrite (flopState, HIGH);

//delay (500);
// digitalWrite (flipflop_B, LOW);

contador_B = 0;

}

digitalWrite (flopState, flipflop_B);

}

}

void LM35 ()

{

lcd.setCursor(1, 1);
temp = analogRead (tempPin);
temp = temp * 0.48828125;

lcd.print (temp);
lcd.print (" C ");
delay (1000);

}

void Led_Bluetooth()
{
while ( Serial.available() )
{ // Indica que ha dados no buffer de transferencia
delay( 3 );
char c = Serial.read();
readString += c; // Constroi uma string - “on” or “off”

}
if ( readString.length() >0 )
{
Serial.println( readString );
if ( readString == “on” )
{
ledPinState = HIGH;
}
if ( readString == “off” )
{
ledPinState = LOW;
}
readString="";
digitalWrite(ledPin, ledPinState);
}
}

void TempoOn()

{

if (ledPinState == HIGH)

{

contador_A = 0;

}

leitura_A = digitalRead(pinoBotao_A);
if (leitura_A == 1 )
{
contador_A = contador_A++; //Incrementa o valor do contador
Serial.print("Contador_A : ");
Serial.println(contador_A);

if (contador_A == valor_A*60)
{
digitalWrite (flipflop_A, HIGH);
// delay (500);
// digitalWrite (flipflop_A, LOW);
contador_A = 0;

}
}

}

I did this with status led's bluetooth but the pin I was not able

I gather that english isn't your native language. I'm sorry, but this sentence makes absolutely no sense. Can you please give some details about the problem? What happens that isn't supposed to? What doesn't happen that is supposed to?

your code:
int flopState = LOW; // flopState is now 0
later:
digitalWrite (flopState, flipflop_B); // sets pin 0 to equal plipflop_B

Is this what you want to do?

Sorry, let me try to explain

I want to use my output status in my whole programa

So, maybe I have to create a global variable to it ,

Do you agree?/

How can I do

MY SIMPLE CODE

int pinoBotao_A = 2; // Flip flop que é acionado pelo botão de partida
int flipflop_A = 8; // Flip flop que envia feedback de tempo esgotado desabilitando alimentação do botão de partida

int leitura_A; // Armazena o valor do temporizador
int valor_A = 4; // Variável tempo On que deverá vir através do bluetooth
int contador_A = 0; // inicia contador em 0

// Declaração do LCD e LM35 para tmperatura
#include <LiquidCrystal.h>
// Biblioteca para cristal liquido
LiquidCrystal lcd(12, 11, 17, 16, 15, 14);
float temp; // Variável futuante
int tempPin = 4; // Memória de leitura analógica

void setup()
{
// Declaração para Temporizador On
pinMode(pinoBotao_A, INPUT); // Entrada de pino 2 que recebe acionamento do flipflop botão de partida
pinMode(flipflop_A, OUTPUT); // Saída de pino 8 que desabilita alimentação do flipflop

// Declaração para LM35
lcd.begin(16, 2);
lcd.print(“TEMPERATURA”); // Mensagem principal
Serial.begin(9600);
}

void loop()
{

Contador();
if (flipflop_A == HIGH) // HERE IS MY MISTAKE THAT I WANNA TO FIX IT
{

LM35 ();

}

}

void Contador()

{

leitura_A = digitalRead(pinoBotao_A);
if (leitura_A == 1 )
{
contador_A = contador_A++; //Incrementa o valor do contador
Serial.print("Contador_A : ");
Serial.println(contador_A);

if (contador_A == valor_A)
{
digitalWrite (flipflop_A, HIGH);
delay (500);
digitalWrite (flipflop_A, LOW);
contador_A = 0;

}
}

}

void LM35 ()

{

lcd.setCursor(1, 1);
temp = analogRead (tempPin);
temp = temp * 0.48828125;

lcd.print (temp);
lcd.print (" C ");
delay (1000);

}

Can you send me a short example?/

couse my code isn't working yet

sorry!!

int ledPinState = LOW;

You had a global variable.

Instead of explaining what you think you need, try explaining what you want it to do. What is it actually doing? What is the error?

If you're not going to at least try to answer those questions, then you're wasting your time and ours by posting here.

  if (flipflop_A == HIGH) // HERE IS MY MISTAKE THAT I WANNA TO FIX IT

This line of code actually says

 if (8 == HIGH) // HERE IS MY MISTAKE THAT I WANNA TO FIX IT

You probably mean

 if (digitalRead(flipflop_A) == HIGH) // HERE IS MY MISTAKE THAT I WANNA TO FIX IT

Oh, I see. You hid the question in the code. Don't make me hunt for it please.

if (flipflop_A == HIGH) // HERE IS MY MISTAKE THAT I WANNA TO FIX IT

This line has the same problem you had in the last thread. You are trying to compare HIGH to a pin number. The pin number is 8, 8 is not 1, so flipflop_A will never equal HIGH.

Instead, you need to either do a digitalRead on that pin to get it's state (HIGH or LOW) or you need to do just like you did with the ledPin and ledPinState and use a variable to decide where to set it.

No problem man I have been already greatful for your attention

Look my code, I did something like you said

no successful

my whole code

int pinoBotao_A = 2; // Flip flop que é acionado pelo botão de partida
int flipflop_A = 8; // Flip flop que envia feedback de tempo esgotado desabilitando alimentação do botão de partida

int leitura_A; // Armazena o valor do temporizador
int valor_A = 1; // Variável tempo On que deverá vir através do bluetooth
int contador_A = 0; // inicia contador em 0

int pinoBotao_B = 3; // Flip flop que é acionado pelo botão de partida
int flipflop_B = 7; // Flip flop que envia feedback de acionamentos esgotado
int flopState = LOW; // MY OUTPUT STATUS PIN AS A GLOBAL VARIABLE

int leitura_B; // Armazena o valor do contador
int valor_B = 1; // Variável de comparação
int contador_B = 0; // inicia contador em 0

// Declaração do LCD e LM35 para tmperatura
#include <LiquidCrystal.h>
// Biblioteca para cristal liquido
LiquidCrystal lcd(12, 11, 17, 16, 15, 14);
float temp; // Variável futuante
int tempPin = 4; // Memória de leitura analógica

int ledPin = 4; // Pino de saída para led que indica by pass ativo
String readString;
int ledPinState = LOW;

void setup()
{
// Declaração para Temporizador On
pinMode(pinoBotao_A, INPUT); // Entrada de pino 2 que recebe acionamento do flipflop botão de partida
pinMode(flipflop_A, OUTPUT); // Saída de pino 8 que desabilita alimentação do flipflop

// Declaração para contador de impulsos
pinMode(pinoBotao_B, INPUT); // Entrada de pino 2 que recebe acionamento do flipflop botão de partida
pinMode(flipflop_B, OUTPUT); // Saída de pino 8 que desabilita alimentação do flipflop

// Declaração para LM35
lcd.begin(16, 2);
lcd.print(“TEMPERATURA”); // Mensagem principal

pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop()
{

TempoOn();
Contador();
LM35 ();
Led_Bluetooth();

}

void Contador()

{
if (ledPinState == HIGH )

{

contador_B = 0;

}

leitura_B = digitalRead(pinoBotao_B);

if (leitura_B == HIGH)

{
contador_B = contador_B++; //Incrementa o valor do contador
Serial.print("Contador_B : ");
Serial.println(contador_B);

if (contador_B == valor_B)
{

digitalWrite (flopState, HIGH); // variable flopState that I wanna to run
delay (500);
digitalWrite (flopState, LOW);

digitalWrite (flopState, flipflop_B);

contador_B = 0;

}

}

}

void LM35 ()

{

lcd.setCursor(1, 1);
temp = analogRead (tempPin);
temp = temp * 0.48828125;

lcd.print (temp);
lcd.print (" C ");
delay (1000);

}

void Led_Bluetooth()
{
while ( Serial.available() )
{ // Indica que ha dados no buffer de transferencia
delay( 3 );
char c = Serial.read();
readString += c; // Constroi uma string - “on” or “off”

}
if ( readString.length() >0 )
{
Serial.println( readString );
if ( readString == “on” )
{
ledPinState = HIGH;
}
if ( readString == “off” )
{
ledPinState = LOW;
}
readString="";
digitalWrite(ledPin, ledPinState);
}
}

void TempoOn()

{

if (ledPinState == HIGH)

{

contador_A = 0;

}

leitura_A = digitalRead(pinoBotao_A);
if (leitura_A == 1 )
{
contador_A = contador_A++; //Incrementa o valor do contador
Serial.print("Contador_A : ");
Serial.println(contador_A);

// if (contador_A == valor_A*60)

if (flopState == HIGH) //Here is the place that I wanna to use my global variable flopState
{
digitalWrite (flipflop_A, HIGH);
delay (500);
digitalWrite (flipflop_A, LOW);
contador_A = 0;

}
}

}

as you can see, I don’t know why it doesn’t work

I don't know what you mean by "doesn't work". Does it print out the roster for the 86 cubs? Dose it explode? What does it do or not do?

I'm not asking again. If you won't tell what is happening or not happening with that code then you can fix it your damned self. I'm done.

as you can see

It would be much easier to see your code if you put it in code tags.
Please read this before posting a programming question

In your code

  int flopState = LOW;   // MY OUTPUT STATUS PIN AS A GLOBAL VARIABLE

which sets flopState is set to zero

Later you have
      digitalWrite (flopState, HIGH);    // variable flopState that I wanna to run which sets pin 0 HIGH. Which pin did you really mean to write to ?

contador_B = contador_B++; //Incrementa o valor do contador

That statement is still wrong. Unless you want demons to fly out of your nose.

it’s working good but the only mistake is to run the output status in another place in my code

my right code that is working normaly, however , without output status set that I need

int pinoBotao_A = 2; // Flip flop que é acionado pelo botão de partida
int flipflop_A = 8; // Flip flop que envia feedback de tempo esgotado desabilitando alimentação do botão de partida

int leitura_A; // Armazena o valor do temporizador
int valor_A = 1; // Variável tempo On que deverá vir através do bluetooth
int contador_A = 0; // inicia contador em 0

int pinoBotao_B = 3; // Flip flop que é acionado pelo botão de partida
int flipflop_B = 7; // Flip flop que envia feedback de acionamentos esgotado

int leitura_B; // Armazena o valor do contador
int valor_B = 5; // Variável de comparação
int contador_B = 0; // inicia contador em 0

// Declaração do LCD e LM35 para tmperatura
#include <LiquidCrystal.h>
// Biblioteca para cristal liquido
LiquidCrystal lcd(12, 11, 17, 16, 15, 14);
float temp; // Variável futuante
int tempPin = 4; // Memória de leitura analógica

int ledPin = 4; // Pino de saída para led que indica by pass ativo
String readString;
int ledPinState = LOW;

void setup()
{
// Declaração para Temporizador On
pinMode(pinoBotao_A, INPUT); // Entrada de pino 2 que recebe acionamento do flipflop botão de partida
pinMode(flipflop_A, OUTPUT); // Saída de pino 8 que desabilita alimentação do flipflop

// Declaração para contador de impulsos
pinMode(pinoBotao_B, INPUT); // Entrada de pino 2 que recebe acionamento do flipflop botão de partida
pinMode(flipflop_B, OUTPUT); // Saída de pino 8 que desabilita alimentação do flipflop

// Declaração para LM35
lcd.begin(16, 2);
lcd.print(“TEMPERATURA”); // Mensagem principal

pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop()
{

TempoOn();
Contador();
LM35 ();
Led_Bluetooth();

}

void Contador()

{
if (ledPinState == HIGH )

{

contador_B = 0;

}

leitura_B = digitalRead(pinoBotao_B);

if (leitura_B == HIGH)

{
contador_B = contador_B++; //Incrementa o valor do contador
Serial.print("Contador_B : ");
Serial.println(contador_B);

if (contador_B == valor_B)
{

digitalWrite (flipflop_B, HIGH);
delay (500);
digitalWrite (flipflop_B, LOW);

;

contador_B = 0;

}

}

}

void LM35 ()

{

lcd.setCursor(1, 1);
temp = analogRead (tempPin);
temp = temp * 0.48828125;

lcd.print (temp);
lcd.print (" C ");
delay (1000);

}

void Led_Bluetooth()
{
while ( Serial.available() )
{ // Indica que ha dados no buffer de transferencia
delay( 3 );
char c = Serial.read();
readString += c; // Constroi uma string - “on” or “off”

}
if ( readString.length() >0 )
{
Serial.println( readString );
if ( readString == “on” )
{
ledPinState = HIGH;
}
if ( readString == “off” )
{
ledPinState = LOW;
}
readString="";
digitalWrite(ledPin, ledPinState);
}
}

void TempoOn()

{

if (ledPinState == HIGH)

{

contador_A = 0;

}

leitura_A = digitalRead(pinoBotao_A);
if (leitura_A == 1 )
{
contador_A = contador_A++; //Incrementa o valor do contador
Serial.print("Contador_A : ");
Serial.println(contador_A);

if (contador_A == valor_A*60)

{
digitalWrite (flipflop_A, HIGH);
delay (500);
digitalWrite (flipflop_A, LOW);
contador_A = 0;

}
}

}

How about using code tags?

How to use this forum

And please don't report your own post to the moderators, apologizing for your English. Reporting is for spam or abuse.