Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRACTICA 2
Integrantes:
Matricula: Nombre:
1599382 Ortiz Rivas Adrian Alejandro
1622746 Hernández Sánchez Bryan leonardo
1666951 Cadena Madrigal Larissa
1617534 Regalado Tobías Andrea Leticia
1630782 Cardona Rojas Jared Gerardo
1460657 Núñez López Javier
1633260 Patiño Espinosa Juan Antonio
1730980 Rocha Arrambide Aldo Rodolfo
1615032 Pérez de Lara Rodríguez Sofia Catalina
INTRODUCCION
Las redes neuronales artificiales (también conocidas como sistemas conexionistas)
son un modelo computacional vagamente inspirado en el comportamiento
observado en su homólogo biológico1. Consiste en un conjunto de unidades,
llamadas neuronas artificiales, conectadas entre sí para transmitirse señales. La
información de entrada atraviesa la red neuronal (donde se somete a diversas
operaciones) produciendo unos valores de salida.
Cada neurona está conectada con otras a través de unos enlaces. En estos enlaces
el valor de salida de la neurona anterior es multiplicado por un valor de peso. Estos
pesos en los enlaces pueden incrementar o inhibir el estado de activación de las
neuronas adyacentes. Del mismo modo, a la salida de la neurona, puede existir una
función limitadora o umbral, que modifica el valor resultado o impone un límite que
se debe sobrepasar antes de propagarse a otra neurona. Esta función se conoce
como función de activación.
En esta los datos los sacas con la tabla de valores obtenida en Excel
de cada sensor sobre capas ocultas
CIRCUITO
INTERFACE
REFERENCIAS
https://sites.google.com/site/mayinteligenciartificial/unidad-4-redes-neuronales
https://sites.google.com/site/mayinteligenciartificial/unidad-4-redes-neuronales
CODIGO
#include <WiFi.h>
#include <Servo.h>
#include <DHT.h>
Servo myservo;
#define DHTPIN 23
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
float h = 0;
float t = 0;
float ilum = 0;
int puls = 0;
float cala = 0;
void setup() {
Serial.begin(115200);
dht.begin();
// Initialize the output variables as outputs
pinMode(led_1, OUTPUT);
pinMode(led_2, OUTPUT);
pinMode(led_3, OUTPUT);
pinMode(led_4, OUTPUT);
pinMode(led_5, OUTPUT);
pinMode(buzzer, OUTPUT);
myservo.attach(33);
pinMode(DHTPIN, INPUT);
// Set outputs to LOW
digitalWrite(led_1, LOW);
digitalWrite(led_2, LOW);
digitalWrite(led_3, LOW);
digitalWrite(led_4, LOW);
digitalWrite(led_5, LOW);
digitalWrite(buzzer, LOW);
void loop() {
WiFiClient client = server.available(); // Listen for incoming clients
if (client) { // If a new client connects,
Serial.println("New Client."); // print a message out in the serial port
String currentLine = ""; // make a String to hold incoming data from the
client
while (client.connected()) { // loop while the client's connected
if (client.available()) { // if there's bytes to read from the client,
char c = client.read(); // read a byte, then
Serial.write(c); // print it out the serial monitor
header += c;
if (c == '\n') { // if the byte is a newline character
// if the current line is blank, you got two newline characters in a row.
// that's the end of the client HTTP request, so send a response:
if (currentLine.length() == 0) {
// HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
// and a content-type so the client knows what's coming, then a blank line:
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println("Connection: close");
client.println();
float h = dht.readHumidity();
float t = dht.readTemperature();
delay(100);
ilum = analogRead(35);
ilum = (100 * ilum) / 4096;
delay(100);
puls = analogRead(34);
puls = (130 * puls) / 4096;
if ( puls < 60)
{
puls = 60;
}
delay(100);
cala = analogRead(32);
cala = (100 * cala) / 4096;
cala = 100 - cala;
delay(100);
x[0] = t;
x[1] = h;
x[2] = ilum;
x[3] = cala;
x[4] = puls;
x[5] = 1;
s = 0;
for (n = 0; n <= 9; n++)
{
s = s + N[n] * o[n];
}
if ( y >= 8 )
{
digitalWrite(13, HIGH);
delay(100);
digitalWrite(13, LOW);
}
if ( y < 3 )
{
digitalWrite(26, HIGH);
digitalWrite(25, HIGH);
myservo.write(180);
delay(1000);
myservo.write(0);
delay(1000);
digitalWrite(25, LOW);
digitalWrite(26, LOW);
}
client.println("<div style='text-align:center;'>");
client.println("<h2 align='center'>Condicion de Salud</h2>");
if ( y >= 7.5 )
{
client.println("Su condicion es: ");
client.println("<br />");
client.println("EXCELENTE");
}
if ( y >= 4 && y < 7.5 )
{
client.println("Su condicion es: ");
client.println("<br />");
client.println("REGULAR");
}
if ( y < 4 )
{
client.println("Su condicion es: ");
client.println("<br />");
client.println("M A L A");
}
client.println("<br />");
client.println("<br />");
client.println("Salida Y = ");
client.println(y);
client.println("<br />");
client.println("</div>");
client.println("<div style='text-align:center;'>");
client.println("<h2 align='center'>Sensores</h2>");
client.println("Temperatura: ");
client.println(t);
client.println("*C");
client.println("<br />");
client.println("Humedad: ");
client.println(h);
client.println("%");
client.println("<br />");
client.println("Iluminacion: ");
client.println(ilum);
client.println("%");
client.println("<br />");
client.println("Calidad del Aire: ");
client.println(cala);
client.println("%");
client.println("<br />");
client.println("Pulso Cardiaco: ");
client.println(puls);
client.println("<br />");
client.println("</div>");
client.println("</body>");
client.println("</html>");