Tarea 3 - Grupo 3 I&P2024-1
De Casiopea
Título | Tarea 3 - Grupo 3 I&P2024-1 |
---|---|
Asignatura | Interacción y Performatividad |
Del Curso | Interacción y Performatividad 2024-1 |
Carreras | Diseño |
Nº | 3 |
Alumno(s) | Angelica Andueza, Fernanda Farías, Emilia Sporman, Belen Briones |
Arduino de humedad
Arduino en uso en tinkerkad
Ejemplo de video en uso
Código
// C++ code // int moisture = 0; void setup() { pinMode(A0, OUTPUT); pinMode(A1, INPUT); Serial.begin(9600); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); } void loop() { // Apply power to the soil moisture sensor digitalWrite(A0, HIGH); delay(10); // Wait for 10 millisecond(s) moisture = analogRead(A1); // Turn off the sensor to reduce metal corrosion // over time digitalWrite(A0, LOW); Serial.println(moisture); digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW); if (moisture < 200) { digitalWrite(12, HIGH); } else { if (moisture < 400) { digitalWrite(11, HIGH); } else { if (moisture < 600) { digitalWrite(10, HIGH); } else { if (moisture < 800) { digitalWrite(9, HIGH); } else { digitalWrite(8, HIGH); } } } } delay(100); // Wait for 100 millisecond(s) }
Explicación código
Este código es un programa en C++ diseñado para un microcontrolador, posiblemente Arduino, que controla un sensor de humedad del suelo y activa diferentes salidas dependiendo del nivel de humedad detectado. La explicación línea por línea:
- int moisture = 0;: Declara una variable llamada moisture de tipo entero e inicializa su valor en 0. Esta variable se utilizará para almacenar el valor de lectura del sensor de humedad.
- void setup() { ... }: Esta es una función especial en Arduino que se ejecuta una vez al inicio del programa para realizar configuraciones iniciales.
- pinMode(A0, OUTPUT);: Configura el pin A0 como una salida. Este pin probablemente está conectado al control de encendido/apagado del sensor de humedad.
- pinMode(A1, INPUT);: Configura el pin A1 como una entrada. Este pin está conectado al sensor de humedad y se utilizará para leer su valor analógico.
- Serial.begin(9600);: Inicia la comunicación serial a una velocidad de 9600 baudios. Esto permite enviar datos desde el Arduino a una computadora para su visualización y depuración.
- pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT);: Configura los pines 8, 9, 10, 11 y 12 como salidas. Estos pines probablemente están conectados a dispositivos que se activarán en función del nivel de humedad.
- void loop() { ... }: Esta es otra función especial en Arduino que se ejecuta continuamente después de que setup() haya terminado.
- digitalWrite(A0, HIGH);: Aplica alimentación al sensor de humedad estableciendo el pin A0 en alto.
- delay(10);: Espera 10 milisegundos para que el sensor se estabilice.
- moisture = analogRead(A1);: Lee el valor analógico del pin A1, que está conectado al sensor de humedad, y lo almacena en la variable moisture.
- digitalWrite(A0, LOW);: Apaga el sensor de humedad estableciendo el pin A0 en bajo para reducir la corrosión de los metales.
- Serial.println(moisture);: Imprime el valor de humedad en el monitor serial.
- digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW);: Apaga todas las salidas conectadas a los pines 8, 9, 10, 11 y 12. El bloque condicional if-else que sigue compara el valor de humedad (moisture) con ciertos umbrales y enciende una salida correspondiente según el nivel de humedad detectado.
- delay(100);: Espera 100 milisegundos antes de volver a iniciar el bucle. Esto ayuda a mantener una velocidad de muestreo controlada del sensor de humedad.