Professional Documents
Culture Documents
Título:
EXAMEN TERCER PARCIAL
Realizado por:
Ricardo Barriga
Dennis Martinez
Esteban Yerovi
Profesor:
Ing. Gustavo Moreno
Periodo académico:
Para lograr este tipo de control se han inventado diversos sistemas, si bien la
idea de control no ha cambiado, las implementaciones para este fin si lo han
hecho. Así, los primeros sistemas de control consistían en elementos digitales
discretos, pero la necesidad de ahorro de espacio y dinero llevaron al desarrollo
de dispositivos cada vez más pequeños, llegando a crearse sistemas integrados
de control, los llamados microcontroladores. Dichos microcontroladores, cada
vez más capaces y más pequeños, son los responsables del control de la
mayoría de los procesos que ocurren dentro de los aparatos modernos, estando
presentes en cosas tan inimaginables como en el sistema de frenos de un
automóvil o el control de temperatura de un horno. Así, poco a poco los estos
pequeños dispositivos toman más fuerza y ganan más terreno dentro de la
tecnología actual, llegando a que en un mundo moderno la idea de un
mecanismo complejo que no utilice microcontroladores se hace impensable.
MARCO TEORICO
MICROCONTROLADOR
Un microcontrolador es un circuito integrado que incluye en su interior las tres
unidades funcionales de una computadora: unidad central de procesamiento,
memoria y periféricos de entrada y salida. La memoria del programa en forma de
flash ROM a menudo se incluyen en el chip, así como una pequeña cantidad de
RAM . Estos son diseñados para aplicaciones embebidas, en contraste con los
microprocesadores utilizados en computadoras personales u otras aplicaciones
de propósito general.
ARDUINO.
PROBLEMA
MÉTODO
Como Primero se realiza las conexiones eléctricas en el protoboard, luego
continuamos con la programación en arduino y la creación de la grafica de
datos mediante processing.
CODIGO ARDUINO
#include <EEPROM.h>
int a = 0;
int b = 30;
int valor1;
int valor2;
int save;
int pr;
int cl;
int maximo1 = 0;
int maximo2 = 0;
int minimo1 = 0;
int minimo2 = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
save = digitalRead(11);
pr = digitalRead(10);
cl = digitalRead(9);
if (save == 1) {
valor1 = analogRead(A0);
if (valor1 > maximo1) {
maximo1 = valor1;
Serial.println("grabando");
}
}
if (pr == 1) {
valor1 = EEPROM.read(a + 1) * 256 + EEPROM.read(a) + 10000;
valor2 = EEPROM.read(b + 1) * 256 + EEPROM.read(b) + 20000;
//Serial.print(a);
//Serial.print("\t");
Serial.println(valor1);
//Serial.print(b);
//Serial.print("\t");
Serial.println(valor2);
a = a + 2;
b = b + 2;
if (a == 60) {
a = 0;
Serial.println("valor maximo sensor1: ");
Serial.println(maximo1);
Serial.println("valor maximo sensor2: ");
Serial.println(maximo2);
Serial.println("valor minimo sensor1: ");
Serial.println(minimo1);
Serial.println("valor minimo sensor2: ");
Serial.println(minimo2);
}
delay(800);
if (b == 120) {
b = 60;
}
delay(800);
}
if (cl == 1){
for (int a = 0; a < 60; a++){
EEPROM.update(a, 0);
}
for (int b = 60; b < 120; b++){
EEPROM.update(b, 0);
}
}
}
CODIGO PROCESSING
import processing.serial.*;
Serial myPort;
float xPos = 0;
int pfp = 1000;
float y1;
float y2 = height / 2;
float y3;
float y4 = height / 2;
float inByte1 = 0;
float inByte2 = 0;
void setup () {
// set the window size:
size(800,600);
println(Serial.list());
String arduinoPort = Serial.list()[0];
print("Arduino Port is",arduinoPort);
myPort = new Serial(this, arduinoPort, 9600);
print("port available");
print(myPort.available());
myPort.bufferUntil('\n');
void draw () {
stroke(14, 4, 116);
strokeWeight(2);
line(0, 0, 800,0);
line(0, height / 2, 800, height / 2);
line(0, height - 60, 800, height - 60);
line(0, height - 120, 800, height - 120);
line(0, height - 180, 800, height - 180);
line(0, height - 240, 800, height - 240);
line(0, height - 300, 800, height - 300);
line(0, height - 360, 800, height - 360);
line(0, height - 420, 800, height - 420);
line(0, height - 480, 800, height - 480);
line(0, height - 540, 800, height - 540);
line(0, height - 600, 800, height - 600);
textSize(10);
text("1000ºC", 3, 10);
fill(0);
textSize(10);
text("900ºC", 3, 70);
fill(0);
textSize(10);
text("800ºC", 3, 130);
fill(0);
textSize(10);
text("700ºC", 3, 190);
fill(0);
textSize(10);
text("600ºC", 3, 250);
fill(0);
textSize(10);
text("500ºC", 3, 310);
fill(0);
textSize(10);
text("400ºC", 3, 370);
fill(0);
textSize(10);
text("300ºC", 3, 430);
fill(0);
textSize(10);
text("200ºC", 3, 490);
fill(0);
textSize(10);
text("100ºC", 3, 550);
fill(0);
textSize(10);
text("0ºC", 3, 590);
fill(0);
stroke(82,191,240);
strokeWeight(2);
line(xPos, y1, xPos, y2);
y1 = y2;
y2 = height - inByte1;
stroke(76,247,20);
strokeWeight(4);
line(xPos, y3, xPos, y4);
y3 = y4;
y4 = height - inByte2;
if (inString != null) {
inString = trim(inString);
float inByt = float(inString);
println(inByt);
if (inByt < 20000){
inByte1 = inByt - 10000;
println("sensor 1",inByte1);
inByte1 = map(inByte1, 0, 1023, 0, height);
}
else {
inByte2 = inByt - 20000;
println("sensor 2",inByte2);
inByte2 = map(inByte2, 0, 1023, 0, height);
}
}
}
RESULTADOS
DISCUSIÓN
CONCLUSIÓN
RECOMENDACIONES
BIBLIOGRAFIA