/*
**** NodeMCU pins *****
const int trigPin = D5;
const int echoPin = D6;
const int redPin = D1;
const int greenPin = D2;
const int bluePin = D3;
*/
const int trigPin = 4;
const int echoPin = 16;
const int redPin = 15;
const int greenPin = 2;
const int bluePin = 0;
void setup() {
Serial.begin(115200);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
// --- Medir distancia ---
digitalWrite(trigPin, LOW);
delayMicroseconds(4);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
float distance = duration * 0.034 / 2; // en cm
Serial.print("Duración: ");
Serial.print(duration);
Serial.println(" us");
Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");
// --- Prueba de colores ---
digitalWrite(redPin, HIGH);
delay(500);
digitalWrite(redPin, LOW);
digitalWrite(greenPin, HIGH);
delay(500);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, HIGH);
delay(500);
digitalWrite(bluePin, LOW);
}