0% encontró este documento útil (0 votos)
20 vistas18 páginas

TP Arduino Adc - LTT - Grupo 9

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas18 páginas

TP Arduino Adc - LTT - Grupo 9

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 18

Trabajo Práctico

Universidad Argentina de la Empresa (UADE)

Asignatura: Arquitectura de computadores

Día - Turno: Lunes - Tarde

Docente: Prieto, Leonardo Javier

Integrantes: Ceresetto, Valentino; Gandini Martin,


Lucas; Gribaudo, Luca; Muller, Tiago

Fecha de presentación: lunes 4 de noviembre de 2024


Presentación del tema:
Arduino es una plataforma de hardware libre basada en una simple
placa con microcontrolador y un entorno de desarrollo integrado (IDE) que
facilita la creación de proyectos electrónicos. Vamos a desglosar su
arquitectura y relevancia en el contexto de la arquitectura de computadores:

Relevancia en el Contexto de la Arquitectura de Computadores:

Arduino representa una plataforma de desarrollo accesible y versátil que


introduce conceptos fundamentales de la arquitectura de computadores. Al
trabajar con Arduino, los usuarios aprenden sobre la relación entre el hardware
y el software, la manipulación de datos a nivel de bit, la gestión de recursos
limitados (como memoria y ciclos de CPU) y la comunicación entre dispositivos.

Además, su carácter de hardware libre permite la experimentación y


personalización, algo que puede no ser tan accesible con computadores
personales tradicionales. Esto fomenta la innovación y el aprendizaje práctico,
crucial para cualquier ingeniero o aficionado a la tecnología.

Así Arduino es una puerta de entrada a la arquitectura de computadores,


brindando una plataforma tangible para aprender y aplicar principios de diseño
y funcionamiento de sistemas embebidos.

Paralelismo con la materia

En la arquitectura de computadoras, la CPU (Unidad Central de


Procesamiento) es el cerebro del computador que ejecuta instrucciones. En
una placa Arduino, el microcontrolador (como el ATmega328P en el Arduino
Uno) actúa como la CPU.

Justificación de la Elección:

Elegimos desarrollar este informe sobre Arduino, ya que este software


permite realizar proyectos sencillos de entender y realizar con un nivel de
programación y conectividad similar a los temas dados en clase. Este proyecto
permite que su análisis a nivel de hardware y software pueda ser desglosado
con los temas de la arquitectura de computadoras. Su importancia en la
actualidad es que es un software libre donde todas las personas pueden
compartir sus proyectos y dudas con la comunidad, también al no ser de alto
grado de dificultad permite la enseñanza de software y hardware de una
manera más tangible y atractiva al público.

Objetivos del Trabajo:


Nuestro objetivo es que nuestros compañeros puedan ver un ejemplo
tangible y funcional de lo visto en la materia, que los temas no queden en
palabras y dibujos sino también que se pueda ver cómo estos temas
(compuertas, tablas, memorias, entradas/salidas) unidos forman un sistema o
un proyecto.
Descripción de la Arquitectura:

Componentes de Arduino:

Microcontrolador: El núcleo de una placa Arduino es un


microcontrolador (como los modelos ATmega de la familia AVR) que incluye
una CPU, memoria y periféricos en un solo chip. Dependiendo del modelo,
podrías encontrarte con un ATmega328, ATmega2560, entre otros.

Entradas y Salidas (I/O): Pines digitales y analógicos que permiten la


interacción con una variedad de sensores y actuadores. Los digitales permiten
leer o enviar señales digitales (on/off) y los analógicos permiten leer señales
analógicas que pueden tener un rango de valores.

Conectividad: Algunas placas incluyen módulos de comunicación como


WiFi, Bluetooth y Ethernet. Esto permite que Arduino se integre en redes de
computadores

Fuente de Alimentación: Puede ser alimentado mediante USB o una


fuente de alimentación externa.

Memoria: Incluye memoria flash (para el almacenamiento del código),


SRAM (para datos en tiempo de ejecución) y EEPROM (para datos que debes
mantener guardados incluso después de apagar el dispositivo.).

IDE y Lenguaje de Programación: El entorno de desarrollo Arduino


IDE utiliza una variante simplificada de C++.

Interfaces de Comunicación: Como UART, SPI y I2C para comunicarte


con otros dispositivos.

Historia y Evolución:

Arduino se originó en 2005 en el Interaction Design Institute Ivrea (IDII)


en Italia. Fue creado por un grupo de cinco estudiantes: Massimo Banzi, David
Cuartielles, Tom Igoe, Gianluca Martino y David Mellis. Su objetivo era
desarrollar una plataforma de prototipado de hardware accesible y fácil de usar.

El primer modelo de Arduino, conocido como Arduino 1.0, se lanzó en


2005. Este modelo se basaba en el microcontrolador ATmega128 y utilizaba el
lenguaje de programación Wiring, lo que simplifica la programación de
microcontroladores.

Relacionando con memorias, Arduino tiene diferentes tipos de memoria:


Flash (para almacenar el programa), SRAM (memoria de acceso aleatorio
estática para datos temporales) y EEPROM (memoria de solo lectura
programable y borrable eléctricamente para almacenamiento persistente).

La arquitectura de Arduino incluye numerosos pines de entrada y salida


digitales y analógicos que permiten la comunicación con sensores y
actuadores. El manejo de I/O en Arduino es una aplicación práctica de los
conceptos de buses de datos, las interrupciones y la programación de puertos.

Arduino puede manejar interrupciones externas, lo cual es fundamental


en sistemas embebidos y en la arquitectura de computadoras. Esto es clave
sobre cómo los sistemas operativos y los microprocesadores gestionan las
tareas en tiempo real.

Los periféricos en Arduino, como los temporizadores, los ADC


(convertidores analógico-digital) y las interfaces de comunicación (como UART,
SPI, I2C), son componentes relacionados a periféricos y controladores

También nosotros relacionamos los temas de tablas de verdad y


compuertas lógicas para representar los circuitos

Evolución de las Placas

A lo largo de los años, Arduino ha lanzado varias versiones mejoradas


de sus placas, cada una con nuevas características y mejoras:

● Arduino Duemilanove (2009): Introdujo mejoras en la comunicación


USB y la capacidad de programación.
● Arduino Uno (2010): Se convirtió en una de las placas más populares,
con un microcontrolador ATmega328P que aumentaba la capacidad de
memoria y el rendimiento.
● Arduino Leonardo (2012): Incluyó un microcontrolador ATmega32u4
que permitía funciones de teclado y ratón emulados a través del puerto
USB.
● Arduino Due (2012): Marcó la introducción de placas basadas en ARM,
utilizando un microcontrolador ARM Cortex-M3.
● Arduino Yun (2013): Combinaba la potencia de Arduino con
conectividad Wi-Fi, permitiendo la creación de proyectos IoT.
● Arduino Zero (2014): Presentó el microcontrolador SAMD21 de 32 bits,
ofreciendo un mayor rendimiento y capacidades de programación
avanzadas.

Impacto y Comunidad

Arduino ha tenido un impacto significativo en la democratización de la


electrónica y la programación. Su plataforma de hardware libre ha permitido a
una amplia comunidad de entusiastas, estudiantes y profesionales crear
prototipos y proyectos de manera accesible y efectiva. Hasta la fecha, se han
vendido más de diez millones de unidades de la famosa placa Arduino Uno.

Arduino ha revolucionado la forma en que las personas interactúan con


la tecnología, facilitando el aprendizaje y la innovación en el campo de la
electrónica y la programación.
Aplicaciones y Usos Actuales

Arduino se ha convertido en una herramienta increíblemente versátil y


popular en una amplia variedad de aplicaciones y usos actuales.

Automatización del Hogar por ejemplo en el Control de luces y


electrodomésticos: se puede programar Arduino para controlar luces,
cerraduras y otros dispositivos del hogar, creando un hogar inteligente.
También en el ámbito de sistemas de seguridad se pueden Implementar
alarmas, cámaras de seguridad y sensores de movimiento para mejorar la
seguridad del hogar.
Con respecto a la robótica se puede Crear robots que puedan moverse y
realizar tareas específicas
En la agricultura, (tema que usamos nosotros) se pueden crear Sistemas
de riego automatizados que utilizan sensores de humedad en el suelo y con
Arduino controlan los sistemas de riego, optimizando el uso del agua.
O también se puede monitorear cultivos implementando sensores para
monitorear condiciones ambientales y salud de los cultivos.
El principal uso hoy en día sería en la educación, hoy en día en algunas
escuelas se utiliza Arduino en aulas para enseñar conceptos de electrónica,
programación y robótica.
Con respecto al arte y entretenimiento se pueden crear exposiciones y
obras de arte interactivas que responden a la entrada del usuario. o Diseñar y
construir instrumentos musicales innovadores utilizando Arduino.

Comparación con otras Tecnologías:

Arduino vs. Raspberry Pi:

El propósito de Arduino es que está diseñado principalmente para el


control de hardware simple y la automatización, mientras que Raspberry Pi es
una microcomputadora completa, ideal para proyectos que requieren sistemas
operativos, como Linux. Arduino es más sencillo para quienes recién
comienzan en la electrónica, ya que su entorno de programación es más
directo y su lenguaje es más accesible para principiantes. Raspberry Pi, en
cambio, es más complejo pero ofrece más flexibilidad en proyectos que
requieren procesamiento de datos o interfaces de usuario. En términos de
conectividad Raspberry Pi tiene una ventaja en conectividad con Wi-Fi,
Bluetooth y puerto Ethernet integrados, mientras que Arduino necesita módulos
adicionales para estas funciones.
Arduino vs. Micro:

En facilidad de uso y orientación educativa el BBC Micro. Está


especialmente diseñado para estudiantes y principiantes en programación.
Tiene un entorno de programación visual, como MakeupCode, que lo hace
accesible para niños y principiantes. Arduino, aunque fácil de usar, está
orientado a usuarios con un nivel de habilidad ligeramente superior.

Micro viene con sensores incorporados (acelerómetro, magnetómetro) y


conectividad Bluetooth. En cambio, Arduino es más flexible en la variedad de
sensores que se pueden conectar, pero requiere añadirlos manualmente.

Micro incluye comunicación Bluetooth, lo que facilita la creación de


proyectos interactivos sin módulos adicionales, mientras que en Arduino, la
conectividad inalámbrica requiere un módulo Bluetooth o Wi-Fi adicional.

Datos técnicos de la memoria arduino

Memoria arduino

La memoria de Arduino es la parte del sistema que almacena datos


binarios en grandes cantidades. Las memorias semiconductoras están
formadas por matrices de elementos de almacenamiento que pueden ser
latches o condensadores.

Memoria RAM arduino

Las RAM es una memoria de Arduino de lectura-escritura en las que los


datos se pueden escribir o leer en cualquier dirección seleccionada en
cualquier orden.

Cuando se escriben los datos en una determinada dirección de la RAM,


los datos almacenados previamente son reemplazados por la nueva unidad de
datos.

Cuando una unidad de datos se lee de una determinada dirección de la


RAM, los datos de esa dirección permanecen almacenados y no son destruidos
por la operación de lectura.

Esta operación no destructiva de lectura se puede entender como una


copia del contenido de una dirección, dejando dicho contenido intacto.

Dentro de estas memorias tenemos dos categorías:

● RAM estática (SRAM): utilizan flip-flops como elementos de


almacenamiento y, por lo tanto, pueden almacenar datos de forma
indefinida siempre que se aplique una alimentación continua. Es la más
rápida para leer los datos. Esta memoria es de uso exclusivo para el
programa en ejecución.
La memoria SRAM de Arduino es muy pequeña, por lo que
debemos optimizar nuestros programas al máximo y no abusar de
variables de tipo char muy grandes. Hay que tener en cuenta que cada
carácter de una variable char utiliza un byte. En el microcontrolador
ATmega168 el tamaño de la memoria SRAM es de 1024 bytes, para el
caso de un chip ATmega328 (como el que incorpora Arduino UNO) el
tamaño es de 2 KB (2048 bytes).

Si la SRAM se queda sin espacio, el programa de Arduino fallará


de forma imprevista, aunque se compile y se suba a Arduino
correctamente la aplicación no se ejecutará o se ejecutará de manera
extraña.

● RAM dinámica (DRAM): utilizan condensadores como elemento de


almacenamiento y no pueden mantener los datos mucho tiempo sin
recargar los condensadores mediante el proceso de refresco. Puede
almacenar muchos más datos que las SRAM para un tamaño físico y
coste, ya que cada celda es mucho más sencilla y por lo tanto puede
incluir más celdas en el mismo tamaño que una SRAM.

Memoria ROM arduino

La ROM o memoria de Arduino de solo lectura almacena datos que se


utilizan repetidamente en las aplicaciones como instrucciones programadas
para la inicialización y el funcionamiento de un sistema. Mantienen los datos
almacenados cuando se desconecta la alimentación. Para este tipo de
memorias disponemos de varios tipos:

● ROM: los datos se almacenan permanentemente en la memoria durante


el proceso de fabricación para proporcionar funciones estándar de uso
extendido.
● PROM o ROM programable: el usuario, con ayuda de equipos
especializados, almacena eléctricamente los datos. Se utiliza algún tipo
de mecanismo de fundición para almacenar bits, donde un «hilo» de
memoria (fusible) se funde o queda intacto para representar un 0 o un 1.
El proceso de fundición es irreversible, una vez que una PROM ha sido
programada no puede cambiarse.
● EPROM o PROM borrable: es una memoria PROM pero borrable. Este
tipo de memorias pueden ser reprogramadas si antes se borra el
programa existente. Almacena cargas eléctricas en sus celdas durante
un periodo de tiempo indefinido. La presencia o ausencia de esta carga
representan los bits de datos. Los dos tipos fundamentales de estas
memorias son las UV EPROM y las EEPROM:
● UV EPROM: este tipo de memorias se pueden borrar aplicándole una
exposición de luz ultravioleta durante un periodo de varios minutos.
● EEPROM o PROM borrable eléctricamente: A diferencia de la anterior,
se puede borrar en unos pocos milisegundos. Se realiza a través de
impulsos eléctricos y se pueden reprogramar dentro del propio circuito
final, lo que permite reconfigurar cualquier sistema.
● EEPROM: es un espacio de memoria que puede ser utilizado por los
programadores para almacenar información a largo plazo. Este tipo de
memoria es no volátil, por lo que los datos guardados en ella
permanecerán, aunque Arduino pierda la alimentación. Esta memoria
puede ser usada para guardar valores si es necesario. Más adelante
explicaremos cómo guardar y leer valores de esta memoria.

Las memorias se dividen en posiciones o huecos y cada una puede


almacenar un byte lo que quiere decir que cada posición puede almacenar un
número de 8-bit (un número de 0 a 255). La capacidad de la memoria
EEPROM depende del microcontrolador incluso hay microcontroladores que no
disponen de memoria EEPROM como le sucede al ESP8266.

La memoria EEPROM tiene una vida limitada. En Arduino su vida es de


100.000 ciclos de escritura por cada posición de memoria, es decir, la posición
1 solo se podrá escribir o actualizar un valor 100.000 veces.

Cómo se almacenan los datos en una memoria EEPROM

La memoria EEPROM está dividida en huecos. Cada hueco representa


un byte. Es la unidad mínima que puede almacenar cada hueco. Recordar que
1 byte es un número entre 0 y 255.

En el caso de Arduino UNO, el microcontrolador ATmega328 tiene 1024


bytes, es decir, 1024 posiciones de memoria.
Ejemplo EEPROM:

Para el ejemplo se necesita conectar Arduino al PC y disponer del IDE


de desarrollo de este. En este caso, se muestra un ejemplo sencillo para
escribir 1024 valores en la memoria EEPROM de Arduino UNO, paso a paso:

Memoria Flash

La memoria Flash (espacio del programa) es donde Arduino almacena el


sketch. Un sketch es el nombre que usa Arduino para un programa. Es la
unidad de código que se sube y ejecuta en la placa Arduino. Esta memoria es
no volátil, sí Arduino deja de ser alimentado eléctricamente los datos que haya
en esta memoria permanecerán.

Código Arduino desglosado


En Arduino, disponemos de los siguientes operadores lógicos:

● && Operador lógico AND


● || Operador lógico OR
● ! Operador lógico NOT
● & Operador de referencia AND
● | Operador de referencia OR
● ^ Operador Lógico XOR
● ~ Operador negador bit a bit
Para realizar esta práctica se necesita de una protoboard, un led RGB,
un portapilas, sensor de humedad, controlador de motores y bomba de agua.

Este código controla un sistema de riego automático utilizando un sensor


de humedad de suelo, una bomba de agua y un LED RGB para indicar el
estado de humedad del suelo. A continuación, se explica cómo funciona cada
parte:

1. Definición de Pines y Variables

● Se definen los pines para el sensor de humedad (pinSensorHumedad),


la bomba de agua (pinBomba1 y pinBomba2) y los LEDs de color rojo,
verde y azul (pinLedRojo, pinLedVerde y pinLedAzul).
● Se establecen los umbrales de humedad del suelo:
○ humedadSeco: representa el límite para cuando el suelo está
seco.
○ humedadHumedo: límite para suelo húmedo.
○ valorMaximo: representa el máximo valor de humedad.

2. Función setup()

● Configura los pines como entrada o salida.


● Inicializa la bomba y los LEDs apagados.
● Inicia la comunicación serie a 9600 baudios, permitiendo monitorear el
valor de humedad en el monitor serie.

3. Función loop() (Ciclo Principal)

● Lectura del Sensor de Humedad: Lee el valor de humedad en el pin


pinSensorHumedad y lo imprime en el monitor serie.
● Condiciones de Humedad:
○ Si la humedad es menor o igual a humedadSeco, indica que el
suelo está seco:
■ Enciende el LED en color rojo.
■ Activa la bomba llamando a la función activarBomba(true).
○ Si la humedad está entre humedadSeco y humedadHumedo, el
suelo está en un nivel adecuado:
■ Enciende el LED en color verde.
■ Apaga la bomba llamando a activarBomba(false).
○ Si la humedad es mayor que humedadHumedo pero menor que
valorMaximo, el suelo está muy húmedo:
■ Enciende el LED en azul.
■ Apaga la bomba.
● La lectura de humedad y control de la bomba se actualizan cada 2
segundos con delay(2000).
4. Funciones de Control

● activarBomba(bool estado): Controla el encendido o apagado de la


bomba. Cuando estado está en true, enciende la bomba usando el pin
pinBomba1. Si es false, apaga la bomba.
● encenderLedRGB(int rojo, int verde, int azul): Controla el color del
LED RGB ajustando los valores de intensidad en rojo, verde y azul.
● apagarLedRGB(): Apaga el LED RGB configurando todas las
intensidades a 0.

Resumen del Comportamiento

Este sistema usa un sensor de humedad para determinar el estado del


suelo. Dependiendo de la lectura de humedad:

● Enciende la bomba si el suelo está seco (LED rojo).


● La apaga si el suelo está adecuadamente húmedo (LED verde).
● Si el suelo está demasiado húmedo, apaga la bomba y enciende el LED
en azul.

Este código permite mantener el suelo en condiciones de humedad


óptimas sin intervención manual.

Tabla de Verdad, Ecuación Lógica y Circuito Lógico


De la siguiente forma es como hemos interpretado el código de nuestro
circuito para poder extrapolarlo a una tabla de verdad, y así, realizar la
ecuación y el circuito lógicos. Para esto interpretamos los distintos niveles del
sensor analógico como dos valores digitales que representan el nivel de
humedad.
Nuestra lógica sigue la idea de que, cuando los dos valores son 0, es el
nivel más bajo y cuando los dos valores son 1, se encuentra en el valor más
alto. Teniendo en cuenta lo anterior, pensamos los códigos correspondientes a
los cuales responderá de distintas maneras.
Dado a lo que se estipula en el código, cuando la tierra está seca
(Código 0), se encenderá la bomba y el pin rojo del LED RGB. Cuando la tierra
está húmeda, en un estado óptimo, la bomba no se encenderá y el LED RGB
encenderá su pin verde. En el momento que la tierra ya esté muy húmeda, y la
planta esté sobrepasada de agua, se encenderá el LED azul y, en caso de
continuar encendida la bomba, se apagará.
En la siguiente imágen, se pueden apreciar claramente los
Entradas y salidas de Arduino UNO

En Arduino, el manejo de entradas y salidas es esencial para interactuar


con el mundo físico y es uno de los conceptos fundamentales para cualquier
proyecto. Las entradas y salidas permiten que el microcontrolador reciba
información del entorno, como la lectura de sensores o botones, y realice
acciones en consecuencia, como activar luces, motores o emitir sonidos.
Con este sistema, podemos configurar ciertos pines como entradas
(para recibir señales) y otros como salidas (para enviar señales), permitiendo
desarrollar aplicaciones desde las más básicas, como encender un LED, hasta
sistemas avanzados de control y automatización. Este tema, entonces, es clave
para entender cómo controlar diferentes dispositivos electrónicos usando
Arduino.
En nuestro caso, usamos una placa de Arduino UNO (la más vendida y
popular de la marca), aunque existen otras tarjetas para distintos usos. Los
componentes de entrada de esta son:
1) Pines analógicos: Estos pueden detectar señales análogas como
por ejemplo la Luz o la Temperatura, estos sensores poseen un segmento de
voltaje de funcionamiento desde cero (0) a Cinco (5) Voltios. A través de estos
se pueden medir aspectos del entorno o del mundo real, como por ejemplo, la
temperatura.

2) Pines digitales: estos detectan si el valor lógico es igual a cero (0) o


igual a uno (1). Se utilizan para pulsaciones de botones o dispositivos que
mandan o reciben información digital.

Los Pines que contiene una línea ondulada (los pines 3, 5, 6, 9, 10 y 11)
soportan PWM (Power o Pulse-Width Modulation es decir, Modulación por
ancho de Pulso), usado para el control de intensidad, por ejemplo de luz a
través de un potenciómetro.
3) Pines de poder: a través de estos se pueden alimentar componentes
que requieran poca alimentación, como 3.3 o 5 voltios.

4) Puerto o conector USB: este permite conectar la placa Arduino al


computador, cargar el código y suministrar energía a la tarjeta.
5) Alimentación: permite alimentar la tarjeta con voltaje de corriente
continua de 7 a 12 voltios.

6) Botón y Pin de Reinicio: el botón de reinicio está directamente


conectado al Pin número uno (1) del Microcontrolador conocido como “Clear” ó
“Master Clear”, este necesita sus 5V para correr el programa, al presionar el
botón interrumpe el voltaje a 0V y detiene el programa que el Arduino está
ejecutando y vuelve a ejecutar el programa desde su inicio.

El pin de reinicio o Reset permite hacer lo mismo que el botón pero a


través de un circuito individual.

7) GND, Pin Cero Voltios o Tierra: es la contraparte del positivo (5V),


es lo que permite cerrar el círculo de alimentación.

Componentes externos
Estos son los componentes principales de la placa de Arduino UNO.
Ahora, haremos foco en detallar los componentes externos empleados en el
proyecto, como el sensor de agua HW-038, la bomba de agua de 5V en
corriente continua, un portapilas para la bomba, el LED RGB, el controlador de
motores L9110 y la protoboard. Cada uno cumple una función específica que
permite ampliar las capacidades del sistema y facilita la integración de múltiples
funcionalidades.
Esta imagen, representa el circuito integrado que realizamos como
proyecto:

Aclaración: el sensor de agua no es el mismo que utilizamos, pero cumplen


la misma función. Además, el motor DC representa a la bomba de agua

Circuito armado:
Dispositivos de entrada y salida

1. Sensor de humedad HW-038:


El sensor está conectado al pin A0 como una entrada analógica
en el microcontrolador, lo que permite medir la cantidad de agua o la
humedad en el suelo. Gracias a esta entrada, el sistema puede leer los
datos de humedad y, en función de ellos, decidir si es necesario activar
la bomba de agua. Además, estos valores de humedad, se muestran en
el Monitor Serie del Arduino IDE, teniendo una frecuencia, establecida
en el código, de actualización de un segundo.
2. Bomba de agua de 5V (corriente continua):
La bomba de agua se controla mediante los pines digitales 9 y 10.
Cuando el sensor de agua indica que la humedad está por debajo del
nivel necesario, el microcontrolador envía una señal de salida a estos
pines, lo que permite activar o desactivar la bomba automáticamente
según los niveles de humedad (bajo, moderado y alto).
3. Controlador de motores L9110:
Este controlador se conecta a los pines digitales 9 y 10 del
microcontrolador, ya que es el que establece la conexión entre la placa
de Arduino y la bomba de agua, permitiendo así su control, en este caso,
de prendido o de apagado, pero también se podría regular la intensidad
del bombeo o velocidad del motor de esta. Al ser el que maneja la
bomba de agua, este también es un dispositivo de salida.
4. LED RGB (Red, Green, Blue):
El LED RGB utiliza tres salidas PWM (siglas en inglés de
Modulación por Ancho de Pulso) para controlar cada color: el pin 3 para
el rojo, el pin 5 para el verde y el pin 6 para el azul. Mediante señales
PWM, se ajusta la intensidad de cada color, permitiendo que el LED
muestre diferentes combinaciones según el estado del sistema. En este
caso, si el nivel de humedad es bajo, el LED se prende automáticamente
en rojo; si el nivel de humedad es medio o adecuado, se prende
automáticamente en verde; y, por último, si el nivel de humedad es alto,
se prende automáticamente en azul.

También podría gustarte