Código para encender un LED con sensor ultrasónico
// Definición de pines
const int trigPin = 9;
const int echoPin = 10;
const int ledPin = 13;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
long duration;
int distance;
// Enviar pulso de ultrasonido
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Leer pulso de retorno
duration = pulseIn(echoPin, HIGH);
// Calcular distancia en cm
distance = duration * 0.034 / 2;
// Encender LED si la distancia es menor o igual a 5 cm
if (distance <= 5) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
delay(100);
}
Código separado para detectar humedad de la tierra
// Definición de pines
const int humidityPin = A0;
void setup() {
pinMode(humidityPin, INPUT);
Serial.begin(9600);
}
void loop() {
int humidityValue = analogRead(humidityPin);
// Mapear valor de humedad (puedes ajustar según los valores de tu sensor)
if (humidityValue > 700) {
Serial.println(“Tierra seca (1)”);
} else if (humidityValue <= 700 && humidityValue > 300) {
Serial.println(“Tierra mojada (2)”);
}
delay(500);
}
Código combinado (ultrasónico y humedad)
// Definición de pines
const int trigPin = 9;
const int echoPin = 10;
const int ledPin = 13;
const int humidityPin = A0;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(humidityPin, INPUT);
Serial.begin(9600);
}
void loop() {
// Sensado de ultrasonido
long duration;
int distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
if (distance <= 5) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
// Sensado de humedad
int humidityValue = analogRead(humidityPin);
if (humidityValue > 700) {
Serial.println("Tierra seca (1)");
} else if (humidityValue <= 700 && humidityValue > 300) {
Serial.println("Tierra mojada (2)");
}
delay(500);
}
// Define los pines del sensor de humedad y el LED
const int sensorPin = A0; // Pin analógico donde está conectado el sensor de humedad
const int ledPin = 13; // Pin digital donde está conectado el LED
// Valores umbrales para humedad
const int dryThreshold = 600; // Valor umbral para tierra seca (ajusta según tu sensor)
void setup() {
pinMode(ledPin, OUTPUT); // Configura el pin del LED como salida
pinMode(sensorPin, INPUT); // Configura el pin del sensor como entrada
Serial.begin(9600); // Inicializa la comunicación serial para monitorear los valores del sensor
}
void loop() {
int sensorValue = analogRead(sensorPin); // Lee el valor del sensor de humedad
Serial.print(“Humedad del suelo: “);
Serial.println(sensorValue); // Muestra el valor leído en el monitor serial
if (sensorValue > dryThreshold) { // Si la tierra está seca
digitalWrite(ledPin, HIGH); // Enciende el LED
} else {
digitalWrite(ledPin, LOW); // Apaga el LED si la humedad es óptima
}
delay(1000); // Espera 1 segundo antes de la siguiente lectura
}