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);}
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);
}
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!
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:
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/
Abra, leia e tente entender os programas de exemplo que a própria IDE do Arduino tem:
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