Sunteți pe pagina 1din 27

CONEXIN DE 2 ARDUINOS

Paso 1

El primer paso es colocar dos leds del color que se desee


en el protoboard, Tal y como se muestra en la siguiente
imagen.

Paso 2

Despus de colocar los leds se colocaran dos


resistencias de 2200 a cada led. Conectando las
resistencias una en cada una de las patitas de los
leds.

Paso 3

En el siguiente paso se conectara mediante cables el


protoboard con nuestro arduino, el primer cable ira en
una de las terminales de la resistencia y se colocara en
el pin digital 7, y el segundo cable se colocara en la
terminal de la segunda resistencia y al pin digital -3.

Observar la imagen.

Paso 4

Despus de haber conectado los cables al arduino se


pondr un cable como puenteo entre los leds, as como
se mira el cable naranja con blanco, despus se utilizara
otra clave en esta caso es el cable azul, que est
conectado en GND del arduino y del otro lado conectado
al protoboard. Este es uno de los arduinos pero lo
tomaremos como el segundo arduino. As debe de
quedar armado el circuito.

Paso 5
Despus de haber terminado un circuito, se procede a armar el circuito principal, de igual manera se
necesitara otro protoboard y el segundo arduino, colocando los materiales de la siguiente manera.
Primero colocaremos el botn.

Despus de conectar el botn, uniremos el arduino con el protoboard


utilizando un cable y colocndolo en GND del arduino que se utiliz
en el primer circuito as como se muestra en la imagen donde se logra
observar que alado del cable que conectamos ya existe otro cable
conectado tambin en GND.

Paso 6

En este paso se conectara un cable que unir el protoboard


al segundo arduino, el cable debe ir conectado en el pin
analgico de 5 V, y el otro lado con una de las entradas del
botn.

Paso 7

En este paso conectaremos un cable en el protoboard uniendo


al arduino conectado en el pin GND. En nuestro caso utilizamos
un cable de color verde como se aprecia en la imagen.

Paso 8

Ahora colocaremos una resistencia de 2200 una patita


en la terminal del botn y la otra en el cable verde que
est unido con tierra del arduino. Esto para proteger
nuestros materiales.

Paso 9

Despus utilizaremos una segunda resistencia igual de 2200,


esta se conectara en serie con la primer resistencia.
Paso 10

Ahora procedemos a colocar nuestro led como el ltimo elemento


de nuestro circuito para despus poder probar si funciona.

Observe la imagen.

paso 11

En este ltimo paso observaremos como se miran


nuestros dos arduinos conectados listos para ver si
funcionan.
Circuito
En este diagrama podemos observar con ms
claridad como est conectado nuestro circuito para
que pueda haber comunicacin entre ellos
Cdigos para la comunicacin de
los Arduino
Arduino 1
Arduino 2
SENSOR ULTRASNICO
En esta prctica se utilizar un sensor ultrasnico, el cual medir la distancia de un
objeto frente a el y la lanzar hacia la pantalla LCD, teniendo 3 rangos donde el
mensaje cambia.
Si est entre 20 y 15 cm, el mensaje dir EST CERCA
Si est entre 14 y 10 cm el mensaje ser EST MS CERCA
Si est entre 9 y 5cm el mensaje ser EST MUY CERCA
Si est a menos de 5 cm el mensaje ser DELANTE DEL SENSOR
La conexin sera de la siguiente manera:

*La funcin del potencimetro sera regular el contraste en la pantalla LCD.


*Todos los componentes se alimentan con 5V.
La codificacin quedara de la siguiente manera.
include<LiquidCrystal.h> // Incluye la librera para el LCD
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // Define los pines de Arduino que se van a usar con el LCD
#define Pecho 9 // Define los pines de Arduino que se van a usar con el Sensor HC-SR04
#define Ptrig 8

long duracion, distancia;


//leds

void setup() {

pinMode(Pecho, INPUT); // Define el pin 6 como entrada (echo)


pinMode(Ptrig, OUTPUT); // Define el pin 7 como salida (triger)
lcd.begin (16, 2); // Inicializa el LCD como 2 filas de 16 caracteres
lcd.setCursor(0,0); // Escribir en primera linea
lcd.print(" ");
lcd.print("SENSOR HC-SR04"); // Inicio o presentacion
lcd.print(" ");
lcd.setCursor(0,1); // Escribir en segunda linea
lcd.print(" ");
lcd.print("ULTRASONIDOS");
lcd.print(" ");
delay(2000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.print("PRECISION");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.print("90%");
lc

d.print(" ");
delay(2000);

void loop() {

digitalWrite(Ptrig, LOW);
delayMicroseconds(2);
digitalWrite(Ptrig, HIGH); // genera el pulso de triger por 10ms
delayMicroseconds(10);
digitalWrite(Ptrig, LOW);

duracion = pulseIn(Pecho, HIGH); // Recibe serial de Triger


distancia = (duracion/2) / 29; // Calcula la distancia en centimetros

if (distancia >= 500 || distancia <= 0){ // Si la distancia es mayor a 500cm o menor a 0cm
lcd.setCursor(0,0); // Determina dnde escribir (segunda lnea)
lcd.print(" ");
lcd.print("FUERA DE RANGO"); // No mide nada, enva mensaje de fuera de rango, o no hay sensor
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("O NO HAY SENSOR!!");
delay(1500);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.print("ACERQUESE");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("O CONECTE SENSOR");
delay(2000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.print("LUEGO REINICIE");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
delay(1500);
}
else {
lcd.setCursor(0,0); // Determina donde escribir (primera linea)
lcd.print("------"); // Decoracion
lcd.print(distancia); // Envia el valor de la distancia por el LCD
lcd.print("cm"); // Pone "cm" al lado del valor
lcd.print("------"); // Decoracion
lcd.setCursor(0,1);
lcd.print(" "); // Segunda linea vacia (Necesario, porque sino se quedaria escrito alguno de los textos
de mas adelante)
delay(500);
}

if (distancia <= 20 && distancia >= 15){


lcd.setCursor(0,1);
lcd.print("ESTA CERCA"); // envia texto a LCD (segunda linea)
delay(500);
}
if (distancia <= 14 && distancia >= 10){
lcd.setCursor(0,1);

lcd.print("ESTA MAS CERCA"); // envia texto a LCD (segunda linea)


delay(500);
}
if (distancia <= 9 && distancia >= 5){
lcd.setCursor(0,1);

lcd.print("ESTA MUY CERCA"); // envia texto a LCD (segunda linea)


delay(500);
}
if (distancia <= 4 && distancia >= 1){
lcd.setCursor(0,1);
lcd.print("DELANTE SENSOR"); // envia texto a LCD (segunda linea)
delay(250);
}

}
SENSOR ULTRASNICO CON LUCES
Esta prctica es un anexo a la practica anterior del sensor ultrasnico, lo nico que se
va a agregar son luces LED (verde amarillo y rojo) que indiquen de una manera ms
llamativa si el objeto que est leyendo el sensor est cerca o lejos. Para esto vamos a
tomar los intervalos de distancias mencionados en la prctica anterior.
Esta prctica en estructura es lo mismo que la anterior, todo lo que se agregue o sea
extra se marcar en negrita.
Si est entre 20 y 15 cm, encender la luz verde.
Si est entre 14 y 10 cm, encender la luz amarilla.
Si est a menos de 9 cm, encender la luz roja.
El texto en la pantalla LCD permanecer igual. Tomamos la conexin anterior y le
agregamos los LEDS, conectando todos a Tierra el lado negativo, utilizando una
resistencia de 330 para controlar la corriente. y cada LED a un pin en el Arduino para
recibir el comando.
La estructura de la codificacin queda igual, solo declarando los nuevos LEDS conectados a
los pines en los que fueron conectados, y agregndolos justo en medio de las condicionales
que se usaban para marcar la distancia en el LCD.
include<LiquidCrystal.h> // Incluye la librera para el LCD
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // Define los pines de Arduino que se van a usar con el LCD
#define Pecho 9 // Define los pines de Arduino que se van a usar con el Sensor HC-SR04
#define Ptrig 8

long duracion, distancia;


//leds

void setup() {
pinMode(11,OUTPUT); //verde
pinMode(12,OUTPUT); // amarillo
pinMode(13,OUTPUT);//rojo
pinMode(Pecho, INPUT); // Define el pin 6 como entrada (echo)
pinMode(Ptrig, OUTPUT); // Define el pin 7 como salida (triger)
lcd.begin (16, 2); // Inicializa el LCD como 2 filas de 16 caracteres
lcd.setCursor(0,0); // Escribir en primera lnea
lcd.print(" ");
lcd.print("SENSOR HC-SR04"); // Inicio o presentacin
lcd.print(" ");
lcd.setCursor(0,1); // Escribir en segunda lnea
lcd.print(" ");
lcd.print("ULTRASONIDOS");
lcd.print(" ");
delay(2000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.print("PRECISION");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.print("90%");
lcd.print(" ");
delay(2000);

void loop() {

digitalWrite(Ptrig, LOW);
delayMicroseconds(2);
digitalWrite(Ptrig, HIGH); // genera el pulso de triger por 10ms
delayMicroseconds(10);
digitalWrite(Ptrig, LOW);

duracion = pulseIn(Pecho, HIGH); // Recibe seal de Triger


distancia = (duracion/2) / 29; // Calcula la distancia en centimetros

if (distancia >= 500 || distancia <= 0){ // Si la distancia es mayor a 500cm o menor a 0cm
lcd.setCursor(0,0); // Determina dnde escribir (segunda lnea)
lcd.print(" ");
lcd.print("FUERA DE RANGO"); // No mide nada, enva mensaje de fuera de rango, o no hay sensor
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("O NO HAY SENSOR!!");
delay(1500);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.print("ACERQUESE");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("O CONECTE SENSOR");
delay(2000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.print("LUEGO REINICIE");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
delay(1500);
}
else {
lcd.setCursor(0,0); // Determina dnde escribir (primera lnea)
lcd.print("------"); // Decoracin
lcd.print(distancia); // Enva el valor de la distancia por el LCD
lcd.print("cm"); // Pone "cm" al lado del valor
lcd.print("------"); // Decoracin
lcd.setCursor(0,1);
lcd.print(" "); // Segunda lnea vaca (Necesario, porque sino se quedara escrito algno de los textos de ms
adelante)
delay(500);
}

if (distancia <= 20 && distancia >= 15){


lcd.setCursor(0,1);
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
digitalWrite(13,LOW);
lcd.print("ESTA CERCA"); // envia texto a LCD (segunda lnea)
delay(500);
}
if (distancia <= 14 && distancia >= 10){
digitalWrite(12,HIGH);
digitalWrite(13,LOW);
digitalWrite(11,LOW);
lcd.setCursor(0,1);

lcd.print("ESTA MAS CERCA"); // envia texto a LCD (segunda lnea)


delay(500);
}
if (distancia <= 9 && distancia >= 5){
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
lcd.setCursor(0,1);

lcd.print("ESTA MUY CERCA"); // envia texto a LCD (segunda lnea)


delay(500);
}
if (distancia <= 4 && distancia >= 1){
lcd.setCursor(0,1);
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
lcd.print("DELANTE SENSOR"); // envia texto a LCD (segunda lnea)
delay(250);
}

}
PRCTICA DE TRANSFERENCIA DE ARCHIVOS
Se realiz una prctica para revisar el desgaste de la memoria al mover muchos
archivos pesados a la vez. Se transfiri una carpeta con 47 archivos, con un peso total
de 14.7 GB.

El archivo se transfiri de la siguiente manera:


De un Disco Duro de 1TB hacia la PC
De la PC al Disco Duro de 1TB
De la PC a una memoria de 32 GB

A continuacin mostramos el rendimiento del PC sin ningn programa abierto y con 10


minutos despus de encendida:

A continuacin se muestra el rendimiento de la PC antes de la transferencia:

DURANTE LA TRANSFERENCIA, EL RENDIMIENTO SE PRESENT DE LA


SIGUIENTE MANERA, DEMOSTRANDO QUE LOS DISCOS EXTERNOS ESTABAN
AL MXIMO DE SU RENDIMIENTO, TRABAJANDO AL MXIMO.
Durante la transferencia la computadora se mostr demasiado lenta, el mouse se
retrasaba demasiado, con poco movimiento se empezaba a trabar, las ventanas tardan
una eternidad para maximizarse o minimizarse. Tratando de abrir un programa tambin
se tarda siglos y en el mayor de los casos ni si quiera se abre (esto fue probado con
Word, Adobe After Effects, Cinema 4D, Adobe Audition, PowerPoint y Excel)

DESPUS DE LA TRANSFERENCIA LA COMPUTADORA SIGUI PRESENTANDO


LENTITUD Y TRABADURASSE ESTABILIZ DESPUS DE APROXIMADAMENTE
7 MINUTOS
4 LEDS CON POTENCIOMETRO
En esta prctica se ver cmo manipular a qu LED se le proporciona energa girando
un potencimetro. Para esto se necesitan
4 LEDs de cualquier color
4 Resistencias de 330 Ohms
1 Potenciometro de 10k
Arduino UNO
Cables
Primero se distribuye la conexin de la siguiente manera:

Todo es alimentado por 5V, y podemos ver que el potencimetro est conectado a la
entrada Anloga. Los leds por el contrario estn conectados a la salida Digital que es
por donde recibirn el comando de encenderse o apagarse segn el valor de el
potencimetro. Es decir:
Si los valores del potencimetro estn entre 0 y 255, enciende el LED 1
Si los valores del potencimetro estn entre 256 y 511, enciende el LED 2
Si los valores del potencimetro estn entre 512 y 767, enciende el LED 3
Si los valores del potencimetro estn entre 768 y 1023, enciende el LED 4

La codificacin quedara de la siguiente manera:


long valor;

//declara pins
int LED_1 = 12;
int LED_2 =11;
int LED_3 =10;
int LED_4 =9;

void setup() {
//INICIAMOS SERIAL
Serial.begin(9600);

//escribimos porel monitor serie mensaje de inicio


Serial.println("Inicio de Sketch - valores de potenciometro");
}

void loop() {
//leemos del pin a0 valor
valor=analogRead(A0);
//MONITOR SERIE
Serial.print("El valor es= ");
Serial.println(valor);

if(valor >=0 && valor <=255)


{
digitalWrite(LED_1,HIGH);
digitalWrite(LED_2,LOW);
digitalWrite(LED_3,LOW);
digitalWrite(LED_4,LOW);
}
if(valor >=256 && valor <=511)
{
digitalWrite(LED_1,LOW);
digitalWrite(LED_2,HIGH);
digitalWrite(LED_3,LOW);
digitalWrite(LED_4,LOW);
}

if(valor >=512 && valor <=767)


{
digitalWrite(LED_1,LOW);
digitalWrite(LED_2,LOW);
digitalWrite(LED_3,HIGH);
digitalWrite(LED_4,LOW);
}
if(valor >=768 && valor <=1023)
{
digitalWrite(LED_1,LOW);
digitalWrite(LED_2,LOW);
digitalWrite(LED_3,LOW);
digitalWrite(LED_4,HIGH);
}
}
PRACTICA TEXTO EN UN LCD

En esta prctica conectaremos un LED sencillo utilizando un potencimetro para


regular el contraste, adems de que le imprimiremos Texto simple. Se necesita un
LCD con 16 entradas y se conectar de la siguiente manera.

Todo alimentado por 5 volts.

La codificacin quedara de la siguiente manera

/incluye la libreria
#include <LiquidCrystal.h>
//inicializa la libreria con los numeros de las interfaces de los pines
LiquidCrystal lcd (12,11,5,4,3,2);

void setup () {
//configura en el LCD numero de columnas y filas
lcd.begin (16, 2);
//Imprime un mensaje en la LCD
lcd.print ("Arquitectura");
}

void loop() {
// Poner el Cursor en la Columna 0 linea 1
//nota: la linea 1 es la Segunda Fila)
lcd.setCursor(0, 1);
///imprime nombre
lcd.print (Ivn, Naty, Dona, Lalo);

}
CONTADOR EN PANTALLA LCD
Esta prctica es en estructura similar a la anterior, con la diferencia de que en la parte
de abajo vendr un contador aumentando 1 cada segundo. Para eso cambiaremos la
impresin de abajo por un contador dentro del loop utilizando milisegundos, divididos
entre 1000 para darnos segundos.

La conexin es exactamente la misma:

El cambio en la codificacin es mostrado en negritas:

/incluye la libreria
#include <LiquidCrystal.h>
//inicializa la libreria con los numeros de las interfaces de los pines
LiquidCrystal lcd (12,11,5,4,3,2);

void setup () {
//configura en el LCD numero de columnas y filas
lcd.begin (16, 2);
//Imprime un mensaje en la LCD
lcd.print ("Arquitectura");
}

void loop() {
// Poner el Cursor en la Columna 0 linea 1
//nota: la linea 1 es la Segunda Fila)
lcd.setCursor(0, 1);
///imprime cantidad en segundos
lcd.print (millis ()/1000);
}
LETRAS EN MOVIMIENTO LCD
En esta prctica se busca mover las letras de un texto en un LCD de un lado a otro,
dado que a veces las cadenas de texto son muy grandes y no pueden mostrarse
completos en un solo momento en la pequea pantalla. Por lo tanto utilizaremos el
comando autoscroll para que el texto se mueva de un lado a otro mostrando los
caractres que faltan. La conexin queda de la siguiente manera:
La codificacin quedara as:

#include <LiquidCrystal.h>
LiquidCrystal lcd (12,11,5,4,3,2);

void setup() {
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Arquitectura de Computadora");
lcd.setCursor(1,1);
lcd.print("Ivan,Naty,Donal,Lalo");
// put your setup code here, to run once:

void loop() {
lcd.setCursor(16,1);
lcd.autoscroll();
lcd.print(" ");
delay(700);
// put your main code here, to run repeatedly:

}
BOTN

En esta prctica aprenderemos a utilizar un lanzador de membranas de cuatro

pines, el cual utilizaremos para poder contar cuantas veces presionamos nuestro

lanzador; al presionar nuestro lanzador este generara una pulsacin la cual

nuestro Arduino identificara.

1.- Primero colocamos el pulsador en el protoboard, para poder empezar con la

elaboracin del circuito. El pulsador tiene cuatro pines, de los cuales dos de cada

uno de ellos estn

conectados entre s, por lo tanto esto nos

servir para poder conectar el pulsador al

Arduino y la energa.

La cual ser controlada mediante

pulsaciones, es decir, el pulsador es un

interruptor.

Comprendido esto continuaremos

con la construccin de nuestro

circuito.
2.- Continuaremos colocando una resistencia en una de las lneas que ya tiene el
lanzador.

Como podemos apreciar en la imagen la

resistencia est conectada al pulsador, y

de ah se conecta a la lnea Azul del

protoboard, la cual es Negativa (-).

Con la finalidad de proteger nuestro

circuito y no llevarnos algn imprevisto.

3.- prosiguiendo con la dichosa elaboracin de nuestro circuito, tenemos que conectar el

pulsador a la energa y lo aremos de la siguiente forma. Pondremos un cable en la lnea

siguiente del pulsador,

este cable ira conectado a la

lnea Roja del protoboard la

cual es positiva (+).

Como se muestra en la imagen

que podemos apreciar.


4.- conectamos el protoboard con el Arduino, el cual ira en el Pin nmero 2, y conectamos
el otro

extremo del cable en la

misma lnea en donde

conectamos la resistencia

anterior mente.

Colocamos en el Arduino en

los pines 13 y 15 un LED el

cual se prendera despus de

presionar las veces

necesarias nuestro LED.


5.- para terminar las conexiones de nuestro Arduino, y poder finalizar nuestro circuito

conectaremos el Arduino a la alimentacin y despus a la tierra. Tambin tendremos que

conectar el cable USB de nuestro Arduino a nuestra PC, de esta manera podremos

programar el Arduino. Como podemos apreciar en la siguiente imagen.

Para concluir este trabajo, nos iremos al programa en donde ingresaremos las siguientes

lneas de comandos, con estas lneas de comandos programaremos el Arduino.

Para concluir este trabajo, nos iremos al programa en donde ingresaremos las siguientes

lneas de comandos, con estas lneas de comandos programaremos el Arduino.


Para concluir este trabajo, nos

iremos al programa en donde

ingresaremos las siguientes

lneas de comandos, con estas

lneas de comandos

programaremos el Arduino.

Para que cumpla con las funciones

que requerimos, tanto en el

lanzador como en el LED.