Bomba de agua controlada remotamente

Basicamente estou fazendo um programa que interpreta se o nível da água está alto ou baixo e manda a bomba ligar ou desligar a partir dessa informação, porem, como ela é controlada remotamente por um controle remoto de portão funciona mandando apenas um sinal que liga e desliga bomba. A minha principal dúvida é porque o meu código não está funcionando perfeitamente, sou iniciante na programação, mas estou a horas tentando fazer esse código funcionar e ele não funciona. Alguém pelo amor de Deus me ajuda.

unsigned long agora = 0;

void setup() {
  pinMode(2,INPUT_PULLUP);
  pinMode(3,OUTPUT);
  int bomba = 0;
  Serial.begin(9600);
}

void loop() {
 while (digitalRead(2) == HIGH ) {
  delay(200);
  if (int bomba = 1);
    {
  digitalWrite(3, HIGH); // pressiona botão.
  delay(200);
  digitalWrite(3, LOW); // despressiona botão.
   int bomba = 0;
    }
 } 
  if (digitalRead(2) == LOW)
   {
   digitalWrite(3, HIGH); // pressiona botão.
   int bomba = 1;
   delay(2000);
   digitalWrite(3, LOW); // despressiona botão.
   agora = millis();
   while(millis() < agora + 3000) {}
   }
/* else (digitalRead(2) == HIGH);
    {
   digitalWrite(3, HIGH);
   delay(200);
   digitalWrite(3, LOW);
 }
*/
}
digite ou cole o código aqui

Ola @rehehh
primeiramente leia a diretrizes que recomendam como você deve usar o fórum.
Uma das regras recomendadas é que códigos e impressões devem ser postados usando as tags </>.
ArduinoForum
Recomendo você refazer o seu poste inicial colocando o seu código entre as tags.

Sobre o seu código.
Além de uns erros de formatação e de definição de escopo de variais parece que ele tem algumas incompatibilidades com o seu descritivo inicial.
Estou anexando o seu código com as correções que consegui identificar.
Você fala de uso de controle remoto :

mas não consegui identificar esta parte no código que você postou.

unsigned long agora = 0;
int bomba = 0;        // Variavel global
//----------------------------------------------------------
void setup() {
  pinMode(2, INPUT_PULLUP);
  pinMode(3, OUTPUT);
  //int bomba = 0;                 // Variavel local
  Serial.begin(9600);
}
//----------------------------------------------------------
void loop() {
  while (digitalRead(2) == HIGH ) {
    delay(200);
    //if (int bomba = 1);     // Tem e erros nesta linha
    if ( bomba == 1)
    {
      digitalWrite(3, HIGH); // pressiona butão.  ????    Liga motor?
      delay(200);
      digitalWrite(3, LOW); // despressiona butão.????   Desliga motor?
      //int bomba = 0;                    // Nova variavel local
      bomba = 0;
    }
  }
  if (digitalRead(2) == LOW)
  {
    digitalWrite(3, HIGH); // pressiona butão. ????    Liga motor?
    //int bomba = 1;                   // +1  variavel local
    bomba = 1;
    delay(2000);
    digitalWrite(3, LOW); // despressiona butão.????   Desliga motor?
    agora = millis();
    while (millis() < agora + 3000) {}
  }
  /* else (digitalRead(2) == HIGH);
    {
    digitalWrite(3, HIGH);
    delay(200);
    digitalWrite(3, LOW);
    }
  */
}

Se entendi bem o seu problema, tente o seguinte:

bool bomba;

void setup() {
  pinMode(2, INPUT_PULLUP);
  pinMode(3, OUTPUT);  
}

void loop() {
  if (digitalRead(2) == LOW && bomba == 0 ) {
    digitalWrite(3, HIGH); // pressiona butão.
    delay(200);
    digitalWrite(3, LOW); // despressiona butão.
    bomba = 1;
  }
  if (digitalRead(2) == HIGH && bomba == 1 ) {
    digitalWrite(3, HIGH); // pressiona butão.
    delay(2000);
    digitalWrite(3, LOW); // despressiona butão.
    bomba = 0;
  }
}

Saudações.

A parte do controle remoto seria o pinMode(3, OUTPUT); pois a ligação do arduino com o controle remoto será feita através de um cabo, que sairá do pin 3 e se conectará diretamente ao botão do controle remoto da bomba. Então no caso, o comando digitalWrite funciona como alguém mecanicamente apertando o botão do controle remoto, a parte HIGH seria o botão apertado e a parte LOW seria o botão solto, explicando melhor a lógica, oque eu tentei fazer foi um código que interpretasse o nível de água da caixa d'água através da boia (pin2), funcionando com um pushbutton que ligaria/desligaria a bomba apertando o botão no controle remoto da mesma(pin3).
Tenho apenas 15 anos e comecei a estudar o arduino a pouco tempo, mas já estou tentando fazer esse projeto dar certo, kk, desde já agradeço muito a sua ajuda.

Obrigado, mas não adiantou :sleepy: , o seu código funcionou sim, mas eu não consegui explicar direito o objetivo do meu código kk, acabei de explicar melhor oque eu queria fazer na resposta acima, se você pode-se dar uma olhada ficaria muito grato.

Eu entendi bem o problema desde o começo , lO que não está claro por quanto tempo o botão deve ser pressionado, 200 ou 2.000 milissegundos?

Ah sim. Como sou iniciante, esse foi o meio que eu achei de apertar o botão por um tempo e soltar, no caso, 200ms. E os 2000ms foi um erro kkk, era pra ser 200 tbm.