Вы находитесь на странице: 1из 29

PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE IBARRA

ESCUELA DE INGENIERÍA

SISTEMA DE CALIFICACIÓN DE SERVICIOS

INTEGRANTES:

ROBERTO COLLAGUAZO

CRISTIAN PILLAJO

ULISES CUESACA

GRUPO 1

INGENIERÍA EN SISTEMAS

DISEÑO DE COMPUTADORAS

TERCER SEMESTRE

ABRIL - AGOSTO 2018

IBARRA - ECUADOR
Objetivo general

Elaborar, programar y solucionar un problema de la vida real, realizando un dispositivo

calificador de servicios implementando una comunicación a larga distancia utilizando módulos de

radio frecuencia, que nos ayude a conocer la satisfacción de los usuarios sobre los laboratorios de

computación de la escuela de ingeniería edificio 3, piso 2.

Objetivos específicos

 Poner en práctica los conocimiento ya adquiridos en el curso de diseño de computadoras

y también recordar lo del curso de circuitos lógicos y electrología.

 Conseguir un dispositivo funcional, amigable con el usuario y administrador, que logre

evaluar la satisfacción de los estudiantes de la PUCE-SI.

 Elaborar asi mismo una interfaz utilizando en un ID de programación donde se pueda

observar los resultados obtenidos.

 Calcular el porcentaje de satisfacción de los estudiantes, mediante la generación de

reportes con los resultados guardándolos en un archivo de texto en nuestro ordenador.

Introducción

Este proyecto es un calificador de servicios inalámbrico, el cual implementa tres módulos

nrf24l01, uno funciona como receptor y dos funcionan como emisores. “El nRF24L01+ es un

circuito altamente integrado, de ultra bajo consumo (ULP), transceptor de RF de 2Mbps para la

banda ISM de 2,4 GHz” (Orlando, 2014). Se ha programado su uso para que sea fácil de usar sin

ninguna complicación. Su funcionamiento es simple, califica los servicios de un área de trabajo a

través de cuatro botones (Excelente, Bueno, Regular, Malo), por ejemplo, la calificación de

servicios del personal de una biblioteca. Este sistema de calificación de servicios tiene la capacidad

de tener hasta 6 emisores para situar estos en áreas específicas donde los usuarios puedan calificar
los servicios de una forma cómoda. Tras realizar las calificaciones al personal, se tiene una interfaz

en la cual se muestra todas las calificaciones almacenadas, las cuales se enviarán a una base de

datos para no perderse, así mismo esta interfaz permite seleccionar varias áreas de trabajo, sacar

los reportes de todas estas áreas, mostrar únicamente los reportes de un trabajador en específico y

también mostrar si el trabajador seleccionado o toda el área seleccionada necesita observaciones.

La interfaz de este proyecto funciona bajo Visual C# debido a que ya tiene incorporado el puerto

serial para conectar la placa Arduino, y esto facilita el uso entre ambos.

Materiales

Hardware

Placa Arduino (Uno, Mega): es una placa la cual, mediante lógica de programación, permite

al programador realizar configuraciones con materiales electrónicos que se adapten a las

necesidades del momento. “Es una placa electrónica basada en el micro controlador ATmega.

Cuenta con 14 entradas/salidas digitales, de las cuales 6 se pueden utilizar como salidas PWM

(Modulación por ancho de pulsos) y otras 6 son entradas analógicas.” (JADIAZ, 2016).

Figura 1: Placa Arduino UNO.


Fuente: (JADIAZ, 2016).

Módulos nrf24l01: son módulos que sirven para usarlos tanto de emisor como de receptor, es

decir, son transceptores. Estos módulos facilitan el uso inalámbrico ya que su librería es muy fácil

de usar, su consumo es muy bajo y soportan desde 30m hasta 1000m de distancia.
Figura 2: Módulo nrf24l01.

Fuente: (Paredes, 2015).

Leds: son diodos emisores de luz, los cuales sirven para prenderse y apagarse en determinados

momentos.

Figura 3: Partes de un led.


Fuente: (Escobar, 2013).
Resistencias: Las resistencias son uno de los tipos básicos de componentes electrónicos. Tienen

dos terminales y un semiconductor, está formada por carbón y otros elementos resistivos.

Figura 4: Resistencias de 330 ohm


Fuente: http://www.geekbotelectronics.com/producto/resistencia-330-ohm-1-w-2/

Protoboard: Son pequeñas tablas con perforaciones en toda su área, en las cuales se colocan

diversos componentes electrónicos, se distinguen por tener filas y columnas con lo que se puede
saber en qué ubicación posicionar cada pieza, también cuentan con 2 rieles a los lados, los cuales

se usaran como las líneas Positivas y Negativas de nuestro circuito. (Ingeniería electrónica, 2015)

Figura 5: Protoboard
Fuente: https://ingenieriaelectronica.org/definicion-de-protoboard-y-como-utilizarlo/

Botones: sirven para activar y desactivar un componente electrónico, dependerá de la conexión

que se haga en el circuito para conocer su estado. Si está conectado a GND, su estado empieza en

LOW, y si está conectado a Vcc, su estado empezará en HIGH.

Figura 6: Botones.
Fuente: (Butonlar, 2009).
Cables de protoboard.

Figura 7: cables de protoboard.


Fuente: (Chuga, 2018)
Cartón Prensado.

Figura 8: carton prensado.


Fuente: elaboracion propia.
Vinil.

Figura 9: Vinil
Fuente: https://articulo.mercadolibre.com.mx/MLM-569817482-vinil-automotriz-fibra-de-carbono-naranja-3d-
autoelite-_JM
Pistola de silicona.

Figura 10: Pistola de silicona.


Fuente: (Chuga, 2018)
Software

Arduino IDE: Es un entorno de desarrollo y en él se realiza la programación de cada una de las

placas de Arduino, la programación se la realiza en lenguaje C. (Chuga, 2018)

IDE C#: plataforma de desarrollo de pago, es muy funcional con el IDE de Arduino ya que al

ser de pago tiene implementado la comunicación serial, haciendo más fácil a la hora de desarrollar

proyectos con interfaz.

Figura 11: Ventana de inicio de Microsoft Visual .NET


Fuente: Elaboración propia.

Métodos de desarrollo

La idea para la elaboración de nuestro dispositivo, nos lo dio nuestro tutor de la materia de

Diseño de Computadoras. De ahí se investigó los materiales necesario, el costo de ellos mismo, la

forma de conectar el modulo y la debida configuración del uso que se le iba a dar a cada uno,

mientras se investigaba se encontró también un tutorial en donde enseñaban con utilizar los

módulos de radio frecuencia, en donde encendían un par de leds a larga distancia, de aquí se

empezó a hacer validaciones para que se pueda implementar a nuestra solución requerida. El
tutorial se extrajo de la siguiente página en línea: https://miarduinounotieneunblog.blogspot.com,

del siguiente link https://miarduinounotieneunblog.blogspot.com/2016/10/comunicacion-

unidireccional-entre.html.

En cuanto a costo de los materiales se realizó el siguiente avaluó:

Descripción Precio

Arduino 12

NRF24L01 18

Cables 5

Cartón prensado 2

Leds 2

Resistencias 1

Pulsadores 4

Otros gastos 15

Total 59

Tabla 1: avaluó de los gastos.


Fuente: elaboración propia.
Es importante mencionar que para la presentación a borrador se utilizó cartulina ilustración, y

para la presentación final se mejoró la presentación forrando las cajitas con vinil, en el vinil se

implementó un diseño realizado en un local de diseño gráfico lo cual tuvo sus respectivos costos.

Etapas de realización del proyecto

Etapa 1

Una vez ya aprobado las expectativas del proyecto se dispuso con los integrantes del grupo,

buscar los módulos de radio frecuencia, en la ciudad de Ibarra se encontró lo siguiente:


Figura 12: Módulos RF 433MHz.
Fuente: (Ahadmin, 2018).
Estos módulos fueron probados con acorde a un tutorial encontrado en línea en el cual

trabajaban con ellos, asi mismo encendiendo un par de leds, cabe mencionar que no se pudo

obtener un resultado factible para el tipo de proyecto que se deseaba realizar, ya que en cuanto a

distancia no sobrepasaba los 15 cm.

Figura 13: Funcionamiento de los módulos RF 433MHz.


Fuente: Creación propia.
Etapa 2

Tras los fallidos resultados de los módulos RF 433MHz decidimos realizar otra investigación

para buscar otro módulo de radiofrecuencia, y tras realizar la búsqueda encontramos el módulo de

radio frecuencia NRF24L01, el cual es un módulo que funciona tanto de emisor como de receptor
y en caso que se lo configure como receptor, soporta hasta 6 emisores al mismo tiempo. También

este módulo nos llamó la atención debido a que tienen un bajo consumo de energía en suspensión.

Figura 14: Módulo Nrf24l01.


Fuente: Creación propia.
Etapa 3

Una vez conseguidos los módulos procedimos a realizar pruebas con los módulos para verificar

su funcionamiento, encendiendo un led para comprobar la comunicación y la distancia. Para

programar estos módulos en Arduino IDE utilizamos la librería <SPI.h> que nos sirve para la

comunicación SPI. “El SPI es un protocolo síncrono que trabaja en modo full duplex para recibir

y transmitir información, permitiendo que dos dispositivos pueden comunicarse entre sí al mismo

tiempo utilizando canales diferentes o líneas diferentes en el mismo cable.” (Navarro, 2014). Una

vez concluidas las pruebas se procedió a realizar un planteamiento de cómo se necesita el usuario

poder usar esta herramienta para que sea útil, fácil y cómoda a la vez.
Figura 15: Pruebas del módulo nrf24l01.
Fuente: Creación propia.
Etapa 4

Una vez concluido el planteamiento, realizamos la programación debida junto con la interfaz

de borrador para que el proyecto funcione. Este borrador se presentó en clases el día 19 de julio

para realizar correcciones y obtener recomendaciones tanto del profesor como de nuestros

compañeros. En esta etapa descubrimos que lo que realmente queremos como grupo es realizar

una herramienta que se pueda implementar en un futuro de una manera económica.

Primer borrador de la presentación (Interfaz, Dispositivo)

Figura 16: Interfaz de borrador presentado en clases.


Fuente: Creación propia.
Dispositivos de borrador

Figura 17: Proyecto armado para presentación de borrador en clase.


Fuente: Creación propia.
Etapa 5

Presentado el primero borrador, se procedió a corregir los errores de presentación que tenía el

prototipo anterior, para lo cual se realizó unos pasos de mejo ración similares a la presentación del

borrador:
Paso 1:

Como el material en el que se presentó el borrador no era tan agradable se procedió a utilizar el

cartón prensado armando asi unas nuevas cajas fijándolas con silicona y realizando los detalles de

cada caja con ayuda de un estilete, cautín, regla y la creatividad de uno mismo:

Figura 18: Elaboracion de las nuevas cajas.


Fuente: elaboracion propia.
Paso 2:

Realizadas las nuevas cajas para la presentación final, acudimos donde un especialista en

diseñar logos en vinil, esto fue con la intención de tener una mejor presentación en cuanto a

visualización de lo que realiza cada dispositivo presentado, teniendo en cuenta los detalles de cada

cajita nos presentaron el siguiente diseño:


Figura 19: diseño de las cajas.
Fuente: Diseñador Particular.
Paso 3:

Una vez que nos entregaron las cajas pegado el vinil con el diseño realizado, procedimos a

colocar los respectivos botones, realizando las conexiones necesarias fijando ya todas las partes

que van en ella para poder tener una mejor fijación de los implementos que llevan cada dispositivo.

Figura 20: colocacion de leds.


Fuente: elaboracion propia.
Figura 21: realizando ajustes para colocar botones.
Fuente: elaboracion propia.

Figura 22: implementacion de los botones.


Fuente: elaboracion propia.

Figura 23: fijando las cajas con silicona.


Fuente: elaboracion propia.
Etapa 6

En esta etapa concluimos el desarrollo del proyecto dejándolo de una forma presentable para

una exposición, así mismo, se cumplió con el diagrama de flujo final del proyecto, el cual, para

poder adaptarlo tuvimos que realizar modificaciones a la interfaz del proyecto para hacer que el

programa funcione de la forma que nos planteamos desde un principio.

Figura 24: Proyecto final armado.


Fuente: Creación propia.

Figura 25: Interfaz Final desarrollado en C#.


Fuente: Creación propia.
Descripción de funcionamiento

El dispositivo presentado cumple la función de conocer la satisfacción de los estudiantes de la

PUCE-SI, este dispositivo consta de 4 botones, cada uno indica un rango de satisfacción que puede

ser digitada por las personas, al pulsar un botón cualesquiera, este emite una señal de radio por

medio del módulo de radio frecuencia NRF24L01 configurado como emisor, en otro lado por

medio de un canal de confirmación, tenemos un segundo módulo de radio frecuencia configurado

como receptor, este recibe la onda enviada por el modulo emisor, donde entra a unas condiciones

programadas para saber que botón se presionó en el emisor, al comparar y encontrar una

validación correcta del dato recibido, este envía, por medio de la comunicación serial de los puerto

del arduino, envía un dato hacia el IDE de C#, donde se visualiza la calificación enviada desde el

modulo emisor.

Figura 26: diagrama de proceso funcionamiento.


Fuente: Elaboración propia.

Los datos recibidos se contabilizan, generando asi reportes con porcentaje de evaluación que

se guardan en un archivo de texto en nuestro ordenador, los datos de visualización están siempre

trabajando con los dispositivos siempre y cuando el puerto se encuentre conectado. Esto permite

ver los lugares que necesitan atención o remodelación por parte de la escuela.
Funcionamiento de los módulos NRF24L01

Cada pin de nuestro modulo desempeña una sola única función, a la vista se puede observar

que el modulo consta con ocho pines, dos de los cuales se los reconoce porque ya vienen en todos

los integrados, estos son:

Voltaje y tierra, en la imagen que vamos a ver a continuación, indicamos los pines que tiene el

módulo, es importante mencionar que el modulo funciona muy bien con un voltaje de 3.3V, y es

así como los tutoriales también lo siguieren, ya que es un módulo de muy bajo consumo de energía

y si se lo expone a 5V podríamos dañar el circuito del módulo.

Figura 27: DataSheet módulo NRF24L01


Fuente: elaboración propia.
Voltaje (V+) = 2
Tierra (GND) = 1
CE = 3
CSN = 4
SCK = 5
MOSI = 6
MISO = 7
IRQ = 8
CE.- que significa Chip Enable, quiere decir el pin que activa el chip con sus funciones tanto

de salida como de entrada (habilita Tx y Rx, Transmisión y Recepción), estos tienes muchos

circuitos lógicos que son activados.

CSN.- es el pin en donde selecciona un solo chip determinado de entre todos los chips que

vienen en un módulo (microprocesador). (Informatica y telecomunicaciones, 2016)


SCK.- reloj de la interfaz SPI, estándar de comunicación, este pin permite transferir la

información entre en circuitos integrados mientras este acepte un flujo de bits serie regulado por

reloj.

MOSI.- este pin está dirigido principalmente es para el flujo de datos maestro, quiere decir que

este recibirá la señal.

MISO.- similar al anterior, pero este pin hace el flujo de datos esclavo, es decir, este enviara la

señal hacia el maestro y lo procesara. Por lo tanto, en nuestro sistema de calificación de servicios,

utilizamos dos módulos NRF24L01, configuramos uno de emisor y el otro de receptor.

Posee una antena para ampliar el rango de alcance, el alcance llega en campo sin obstáculos

aproximadamente 1000 metros, probándolo dentro de la instalación nos dios un alcance

aproximado de 50 metros, esto dio utilizando el canal que venía en el tutorial del módulo.

IRQ.- este pin es para generar una interrupción en la transmisión o recepción de los datos, es

decir que se podría activar el modulo o desactivarlo, para por ejemplo, apagarlo o bloquearlo.

Librerías

Librería SPI (# include <SPI.h>)

La librería SPI es un protocolo de en serie síncrono (intercambio de información en tiempo

real), utilizado por micro controladores para una comunicación más rápida con uno o varios

dispositivos en ciertas distancias. Las líneas comunes para que esto sea posible son los pines

MISO, MOSI y SCK de nuestro modulo.

Librería NRF24L01 (# include <nRF24L01.h> #include <RF24.h>)

Es una librería propia que tiene el modulo, aunque se puede trabajar con otras, pero para este

proyecto se llegó a utilizar esta librería y explicaremos los métodos que principalmente estamos

ocupando. Primero, con esta librería se declara un tipo de dato, en donde se enumera dos pines del
arduino que sirven para hacer conexión con el módulo de radio frecuencia. Segundo, una vez

creado los pines se crea un objeto de tipo RF24, que es con el que vamos a trabajar para la

utilización de los métodos de la librería nRF24L01.h. Tercero, luego definimos un canal, este canal

servirá como contraseña de comunicación, controlando así que no hay interferencia de otras

señales ajenas a lo que se está realizando, este canal se lo usa tanto en el código del emisor como

en el código del receptor este canal para nuestro caso será un código hexadecimal.

Conclusiones

 Luego de ensamblas dos emisores y un receptor comprobamos que el receptor si recibe

señal de los dos emisores, pero este no hace la calificación de distinto lugar, si no que

evalúa un mismo lugar ubicado en otra lugar, mas no se logró evaluar dos lugares al

mismo tiempo.

 El rango de alcance fue muy satisfactorio en cuanto a los anteriores módulos probados,

estos nos generaron un alcance de 70 metros aproximadamente, lo cuela es muy factible

para nuestra escuela.

 Existe un porcentaje mínimo de rebotes, los cuales a veces distorsionan la calificación,

esto es debido a que los pulsadores son muy sensibles ya que al presionarlos se mueven

mucho lo cual genera los dobles rebotes, es un problema de hardware mas no de

software.

 Los reportes generados son 100% validos, ya que en los cálculos se cuidó mucho y se

utilizó un poco de estadística para generar los porcentajes, además de métodos que

controlaban los decimales para que no generen números infinitos en decimales.

 En el desarrollo del proyecto se logró comprender que muchas de las cosas no nos

enseñan en la universidad, hay muchas cosas que se aprenden por cuenta de uno mismo,
lo cual es muy favorable ya que alimenta nuestra curiosidad en resolver problemas o

generar dispositivos que ayuden mucho a las personas hoy en dia.

Recomendaciones

 Si se va a realizar un proyecto vendible para una empresa, es importante en la primera

presentación no se expongan nuestras debilidades, además de llevar ya un prototipo

agradable desde el primer momento en que se desarrolla, ya que al no tener en cuenta

eso podremos perder el financiamiento para nuestro proyectos en el futuro.

 Si se trabaja en equipo es importante compartir las ideas, errores y los bugs que se

pueden presentar en el desarrollo del proyecto, asi se podrá entre todos buscar una

solución rápida y optima que ayude a concluir es desarrollo del proyecto.

 Realizar siempre un análisis a fondo de lo que se va a realizar, haciendo un diagrama de

procesos antes de echarse al código, ya que esto ayuda a saber con exactitud lo que se

desea implementar y ayuda también a reducir el trabajo innecesario que se puedo

generar al no tener un plan con el que empezar.

 Trabajar con el IDE de C#, ya que es un software de desarrollo de pago, viene ya con

unas facilidades al momento de implementar interfaces para la realización de proyectos

electrónicos.

 Realizar un cronograma de actividades, aunque no se las siga al pie de la letra, por lo

menos se tiene claro lo que se debe hacer en el calendario y asi no retrasarse y tampoco

dejar todo a última hora.

Anexos

Flujograma del módulo emisor


Diagrama de flujo del módulo receptor
Circuito y código del módulo emisor

Figura: forma de cómo se conectó el arduino emisor.


Fuente: elaboración propia mediante Fritzing.
// Incluimos las librerías necesarias
#include <SPI.h> // Librería para la comunicación SPI
// Librerías para el funcionamiento del módulo NRF24L01
#include <nRF24L01.h>
#include <RF24.h>
// Declaramos los pines de control del módulo NRF24L01
#define CE 9
#define CSN 10
// Se crea el objeto tipo RF24
RF24 radio(CE, CSN);
// Se declara el canal (64 bits en hexadecimal) para transmisión RF
const uint64_t canal = 0xE8E8F0F0E1LL;
// Variable que enviamos mediante RF
unsigned int estado_pulsador[4];
int pulsador = 7; // Pin digital 7 para el pulsador
int pulsador2 = 6; // Pin digital 6 para el pulsador
int pulsador3 = 5; // Pin digital 5 para el pulsador
int pulsador4 = 4; // Pin digital 4 para el pulsador
// Inicializamos las variables internas para el pulsador
void setup()
{
pinMode(pulsador, INPUT); // Pin digital del pulsador como entrada
pinMode(pulsador2, INPUT); // Pin digital del pulsador como entrada
pinMode(pulsador3, INPUT); // Pin digital del pulsador como entrada
pinMode(pulsador4, INPUT); // Pin digital del pulsador como entrada
radio.begin(); // Inicialización de la comunicación RF
radio.openWritingPipe(canal); // Se abre el canal para escritura
}
void loop()
{
//Lectura de los pulsadores
if(digitalRead(pulsador)==1 && digitalRead(pulsador2)==0 &&
digitalRead(pulsador3)==0 && digitalRead(pulsador4)==0)
{
estado_pulsador[0] = 1;
estado_pulsador[1] = 0;
estado_pulsador[2] = 0;
estado_pulsador[3] = 0;
}else{
estado_pulsador[0] = 0;
estado_pulsador[1] = 0;
estado_pulsador[2] = 0;
estado_pulsador[3] = 0;
}
//Controlamos rebotes
while(digitalRead(pulsador)==1 && digitalRead(pulsador2)==0 &&
digitalRead(pulsador3)==0 && digitalRead(pulsador4)==0){
}
if(digitalRead(pulsador)==0 && digitalRead(pulsador2)==1 &&
digitalRead(pulsador3)==0 && digitalRead(pulsador4)==0)
{
estado_pulsador[0] = 0;
estado_pulsador[1] = 1;
estado_pulsador[2] = 0;
estado_pulsador[3] = 0;
}
while(digitalRead(pulsador)==0 && digitalRead(pulsador2)==1 &&
digitalRead(pulsador3)==0 && digitalRead(pulsador4)==0){
}
if(digitalRead(pulsador)==0 && digitalRead(pulsador2)==0 &&
digitalRead(pulsador3)==1 && digitalRead(pulsador4)==0)
{
estado_pulsador[0] = 0;
estado_pulsador[1] = 0;
estado_pulsador[2] = 1;
estado_pulsador[3] = 0;
}
while(digitalRead(pulsador)==0 && digitalRead(pulsador2)==0 &&
digitalRead(pulsador3)==1 && digitalRead(pulsador4)==0){
}
if(digitalRead(pulsador)==0 && digitalRead(pulsador2)==0 &&
digitalRead(pulsador3)==0 && digitalRead(pulsador4)==1)
{
estado_pulsador[0] = 0;
estado_pulsador[1] = 0;
estado_pulsador[2] = 0;
estado_pulsador[3] = 1;
}
while(digitalRead(pulsador)==0 && digitalRead(pulsador2)==0 &&
digitalRead(pulsador3)==0 && digitalRead(pulsador4)==1){
}
// Se envía el valor de la variable estado_pulsador[0] a través de RF
radio.write(estado_pulsador, sizeof(estado_pulsador));//(variable a enviar , tamaño del
vector)
}

Circuito y código del módulo receptor

Figura: Circuito del arduino receptor.


Fuente: Elaboración propia, diseñado con Fritzing.

// Incluimos las librerías necesarias


#include <SPI.h> // Librería para la comunicación SPI
// Librerías para el funcionamiento del módulo NRF24L01
#include <nRF24L01.h>
#include <RF24.h>
// Declaramos los pines de control del módulo NRF24L01
#define CE 9
#define CSN 10
// Se crea el objeto tipo RF24
RF24 radio (CE, CSN);
// Se declara el canal (64 bits en hexadecimal) para transmisión RF
const uint64_t canal = 0xE8E8F0F0E1LL;
// Variable que enviamos mediante RF
unsigned int estado_pulsador[4];
int LED = 7; // Pin digital 7 para el LED
int LED2 = 6; // Pin digital 6 para el LED
int LED3 = 5; // Pin digital 5 para el LED
int LED4 = 4; // Pin digital 4 para el LED
void setup()
{
Serial.begin(9600);
radio.begin(); // Inicialización de la comunicación RF
radio.openReadingPipe(1, canal); // Se abre el canal para lectura
radio.startListening(); // Comienza a escuchar por el canal abierto para lectura
pinMode(LED, OUTPUT); // Pin digital 7 como salida
digitalWrite(LED, LOW); // Inicialmente el LED se apaga
pinMode(LED2, OUTPUT); // Pin digital 6 como salida
digitalWrite(LED2, LOW); // Inicialmente el LED2 se apaga
pinMode(LED3, OUTPUT); // Pin digital 5 como salida
digitalWrite(LED3, LOW); // Inicialmente el LED3 se apaga
pinMode(LED4, OUTPUT); // Pin digital 4 como salida
digitalWrite(LED4, LOW); // Inicialmente el LED4 se apaga
}
void loop()
{
// Siempre que haya información disponible vía RF...
while(radio.available())
{
// Se recibe el valor de la variable estado_pulsador[0] a través de RF
radio.read(estado_pulsador, sizeof(estado_pulsador));
}
// Si el valor de la variable estado_pulsador[0] es igual a "1" se enciende el LED
if (estado_pulsador[0] == 1 && estado_pulsador[1] == 0 && estado_pulsador[2] == 0
&&estado_pulsador[3] == 0 )
{
Serial.println("EXCELENTE");//Enviamos por el serial una palabra para poder
consumirla o utilizarla en c#
digitalWrite(LED, HIGH);//Encendemos el led
delay(100);//esperamos unos segundos
digitalWrite(LED, LOW);// Apagamos el led
}

if (estado_pulsador[0] == 0 && estado_pulsador[1] == 1 && estado_pulsador[2] == 0


&&estado_pulsador[3] == 0 )
{
Serial.println("BUENO");
digitalWrite(LED2, HIGH);
delay(100);
digitalWrite(LED2, LOW);
}

if (estado_pulsador[0] == 0 && estado_pulsador[1] == 0 && estado_pulsador[2] == 1


&&estado_pulsador[3] == 0 )
{
Serial.println("REGULAR");
digitalWrite(LED3, HIGH);
delay(100);
digitalWrite(LED3, LOW);
}

if (estado_pulsador[0] == 0 && estado_pulsador[1] == 0 && estado_pulsador[2] == 0


&&estado_pulsador[3] == 1 )
{
Serial.println("MALO");
digitalWrite(LED4, HIGH);
delay(100);
digitalWrite(LED4, LOW);
}
}

Bibliografía

Ahadmin. (16 de 07 de 2018). arduinohobby. Obtenido de arduinohobby:

http://www.arduinohobby.com/rendimiento-los-modulos-rf-433mhz/

Butonlar, Y. (13 de 04 de 2009). solmazsan. Obtenido de solmazsan:

http://www.solmazsan.com.tr/urunler/13-plastik-gode-buton-ve-switchler

Chuga, R. (2018). Informe final Candy Machine. Ibarra: Pucesi.

Escobar, J. (15 de 06 de 2013). Circuitos Básicos Uno. Obtenido de Circuitos Básicos Uno:

https://circuitosbasicosuno.wordpress.com/2013/06/15/circuitos-basicos-en-un-

protoboard/

Informatica y telecomunicaciones. (22 de Octubre de 2016). Obtenido de Informatica y

telecomunicaciones: https://glosarios.servidor-alicante.com/electronica-informatica-

telecomunicaciones_en/chip-select

Ingeniería electrónica. (08 de 08 de 2015). Obtenido de Definición de Protoboad:

https://ingenieriaelectronica.org/definicion-de-protoboard-y-como-utilizarlo/
JADIAZ. (21 de 01 de 2016). iescamp. Obtenido de iescamp:

http://www.iescamp.es/miarduino/2016/01/21/placa-arduino-uno/

Navarro, K. (15 de 10 de 2014). panamahitek. Obtenido de panamahitek:

http://panamahitek.com/como-funciona-el-protocolo-spi/

Orlando. (25 de 04 de 2014). Hetpro. Obtenido de Hetpro: https://hetpro-

store.com/TUTORIALES/nrf24l01-con-arduino/

Paredes, J. (15 de 02 de 2015). prometec. Obtenido de prometec: https://www.prometec.net/wp-

content/uploads/2015/02/pinout_nrf24l01.jpg

Вам также может понравиться