Sensor nivel de liquidos XKC-Y25

Bom dia ao forum, gostaria de pedir a vossa ajuda para um simples projeto para quem sabe. que não é o meu caso.
assim sendo comprei um sensor de nivel sem contacto xkc-y25-12, que se liga ao arduino uno. a minha ideia de projeto é monitorizar um deposito com agua, que quando o nivel de agua baixar, active um rele de 12v.
com ajuda do chatgpt, tentei fazer um codigo, mas dá erro depois de compilar. será que alguem pode ajudar.deve me estar a faltar algo :(.
obrigado a todos
o meu codigo

digite ou cole aqui o código

 * @file  SEN0204.ino
 * @brief  This example is to get liquid level. (Liquid Level Sensor-XKC-Y25-T12V)
 * @copyright  Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
 * @license  The MIT License (MIT)
 * @author  jackli(Jack.li@dfrobot.com)
 * @version  V1.0
 * @date  2016-1-30
 */

const int sensorPin = 5;
const int outputPin = 12;
void setup()
{
  pinMode(5, INPUT);
  pinMode(12, OUTPUT);
  Serial.begin(9600);
}


void loop()
{ int sensorState = 
  digitalRead(5);
if(sensorState == HIGH ) {
  Serial.print("liquido ok= "); 
  digitalWrite(12, HIGH );
} else {
  Serial.println("sem liquido");
  digitalWrite(12,LOW);}
delay(300);}

Olá! Bem vindo ao Forum.

Parabéns por postar o código usando a formatação correta em seu primeiro post.

Seria interessante que você tivesse nos dito qual é a mensagem de erro que aparece depois de compilar o programa. Numa primeira vista eu não achei nada de errado a não ser o cabeçalho, que deveria ter começado com /*. Teste essa versão aqui e veja se funciona (não estou de posse do meu equipamento):

const int sensorPin = 5;
const int outputPin = 12;

void setup() {
  pinMode(5, INPUT);
  pinMode(12, OUTPUT);
  Serial.begin(9600);
}


void loop() {
  int sensorState = digitalRead(5);
  if (sensorState == HIGH ) {
    Serial.print("liquido ok= "); 
    digitalWrite(12, HIGH );
  } else {
  Serial.println("sem liquido");
  digitalWrite(12,LOW);
  }
 delay(300);
}

Sendo esse o seu primeiro post, recomendamos ler o tópico Como obter o melhor desse Forum, caso ainda não tenha lido.

Divita-se! :upside_down_face:

obrigado braz, o erro que me dá é este abaixo

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xf9

obrigado

Olá @land94 !
ChatGPT não é uma fonte confiável para código-fonte...
Sugiro que você siga este tutorial: Controle de Nível com Arduino - Tutoriais - RoboCore
Ele é para dois sensores, mas você pode fazer funcionar perfeitamente com um só.
Abraços e boa sorte!

Muito obrigado Grohlfer

excelente vou seguir , parece muito bem e acho que consigo entender os passos e a logica das coisas funcionar.

Forte abraço
Obrigado

Esse erro não está relacionado ao seu código, mas sim à conexão do seu Arduino com o computador.

Certifique-se de que você selecionou corretamente a sua placa (Uno certo?) e a porta COM. Se o seu Arduino Uno for um clone, pode ser que seja necessário instalar o driver de comunicação com o chip CH340.

boas Brazilino desisti de configurar o sensor de liquidos, ele trabalha para o que preciso sem o arduino. mas mesmo assim queria entender esta linguagem de programação de arduino , mas estou sempre com duvidas.
agora estou a tentar fazer um codigo para simplesmente apagar e acender um led com um botão , podes dar uma ajuda onde está o erro?obrigado

const int ButtonPin = 5;
const int PINO_RELE = 12;
void setup(){
pinMode(5, IMPUT_pullup);
pinMode(12, output);
digitalWrite(5 LOW);
}

void loop()
{
int buttonState =
digitalRead(5);// le o estado do botão
if(buttonState == HIGH) { //está pressionado
digitalWrite(12, HIGH);// liga o besouro
} else {
digitalWrite(12,LOW) ;// desliga o besouro
}
delay(100);

  }
ERRO
Compilation error: 'IMPUT_pullup' was not declared in this scope

A linguagem é basicamente C/C++ com algumas funções criadas especificamente para ajudar na programação do Arduino.

A linguagem C é case sensitive, ou seja, ela diferencia letras maiúsculas de letras minúsculas. Assim, note na linha abaixo

que "IMPUT_pullup" é bem diferente de "INPUT_PULLUP" que é o uso correto.

Três dicas sobre aonde começar:

  1. O site arduino.cc contém um glossário com os principais comandos, variáveis e estruturas que os programas podem usar. Dê uma olhada em https://docs.arduino.cc/programming/

  2. Abra, leia e tente entender os programas de exemplo que a própria IDE do Arduino tem:

  1. Você pode usar programas de simulação como o Wokwi, para testar programas sem precisar necessariamente estar com o Arduino. Aqui está um exemplo de programa de leitura de botão:
    https://wokwi.com/projects/406476386842583041

Fantastico!!já comecei melhor o dia :D, muito obrigado pela disponibilidade.
vou seguir os conselhos.