Professional Documents
Culture Documents
Prctica No.1
Grupo De Laboratorio:
OBJETIVOS:
Objetivo General.
Objetivos Especficos.
Analizar el datasheet del max485 para de esta manera establecer los pines
correspondientes que pertenecen a los transmisores y receptores.
MARCO TERICO:
MODULO ETHERNET ENC28JC60 3
El
mdulo Ethernet
ENC28J60 utiliza
el ENC28J60 controlador
autnomo
de
Microchip que ofrece una serie de caractersticas para manejar la mayor parte de los
requisitos del protocolo de redes.
La tarjeta se puede conectar directamente a la mayora de los microcontroladores ( PIC,
Arduino, AVR, DSP, STM32, 8051, etc ) con una interfaz estndar SPI con una velocidad
de transferencia de hasta 20MHz.
Se trata de un mdulo mediante el cual usted puede poner su tarjeta de control en lnea. Y
por supuesto que se puede utilizar en la plataforma Arduino. Su funcin es la misma
que Shield Ethernet V1.0 para Arduino, por lo que con ella se puede realizar todas las
funciones que se han hecho en la V1.0 Ethernet Shield para Arduino. Es pequeo y
conveniente.
Para utilizarlo como el V1.0 Ethernet Shield para Arduino solo es necesario conectar 10
cables desde tu modulo Ethernet ENC28J60 a tu placa Arduino, una vez hecha la
conexin puede ser usado la Shield Ethernet de Arduino.
La conexin para emular nuestro modulo
Mdulo ENC28J60
Mega Arduino
VCC
3V3
3V3
REAJUSTE
REAJUSTE
REAJUSTE
ENC-INT
GND
GND
GND
SCK
13
52
MISO
12
50
MOSI
11
51
CS
10
53
CLKOUT
ENC-WOL
QU ES UBIDOTS?4
Ubidots es un servicio en la nube que nos permite almacenar e interpretar informacin de
sensores en tiempo real, haciendo posible la creacin de aplicaciones para el Internet de
las Cosas de una manera fcil, rpida y divertida.
ARDUINO 1
MAX485 2
El MAX485, es uno circuitos integrado que permiten hacer el RS485.
Cuando se requieren mayores distancias y velocidades de trasmisin, entonces deben de
emplearse las normas RS422 y RS485. Adems, estas normas permiten tambin la
trasmisin multipunto, es decir una computadora central conectada con varias UTR. Dado
que la computadora central tpicamente tiene como salida la interfaz RS232, se hace
necesaria la conexin de un mdulo convertidor RS232 a RS422/485, para impleme ntar
una red.
Todos los dispositivos RS485 poseen drivers "tristate" que permiten a las UTR
desconectarse de la lnea una vez que trasmitieron su informacin. Normalmente, para
este fin se usa un circuito temporizador automtico habilitado por el flanco ascendente de
la seal de trasmisin. El temporizador habilita el circuito trasmisor durante el tiempo
que dura el mensaje y lo deshabilita al terminar ste.
Entre las aplicaciones tpicas de la norma RS485, se encuentran los sistemas de control
de acceso, los sistemas distribuidos de control industrial y los sistemas de seguridad
casera. En todos estos casos, varias UTR reportan su informacin hacia una computadora
central o bien reciben comandos de la misma.
MATERIALES:
Arduino UNO
Arduino MEGA
Max485
Display
Protoboard
PROCEDIMIENTO:
del mdulo
ethernet
ENC28JC60.
/*
Web client
Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
*/
#include <UIPEthernet.h>
#include <Wire.h>
#define START_NODE 1 // The starting I2C address of slave nodes
#define NODE_MAX 3 // maximum number of slave nodes (I2C addresses) to
probe
void setup() {
// Open serial communications and wait for port to open:
Wire.begin();// Activate I2C link
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
// start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
// no point in carrying on, so do nothing forevermore:
for(;;);
}
// give the Ethernet shield a second to initialize:
delay(1000);
Serial.println("connecting...");
}
void loop()
{
for (int nodeAddress = START_NODE; nodeAddress <= NODE_MAX;
nodeAddress++) { // we are starting from Node address 1
Wire.requestFrom(nodeAddress, 1);
save_value(pot,puls,fres);
}
if(client.connect("things.ubidots.com", 80))
{
Serial.println("connected");
10
client.println("Content-Type: application/json");
Serial.println("Content-Type: application/json");
client.println("Content-Length: "+String(num));
Serial.println("Content-Length: "+String(num));
client.println("X-Auth-Token: "+token);
Serial.println("X-Auth-Token: "+token);
client.println("Host: things.ubidots.com\n");
Serial.println("Host: things.ubidots.com\n");
client.print(var);
Serial.print(var+"\n");
}
else
{
// if you didn't get a connection to the server:
Serial.println("connection failed");
}
if (!client.connected())
{
Serial.println();
Serial.println("disconnecting.");
client.stop();
}
if (client.available())
{
char c = client.read();
Serial.print(c);
}
client.flush();
client.stop();
}
2. Realizar el cdigo correspondiente para el arduino esclavo1.
11
// Program: I2C slave sender template for multi-node Arduino I2C network
// Programmer: Hazim Bitar (techbitar.com)
// Date: March 30, 2014
// This example code is in the public domain.
#include <Wire.h>
#define NODE_ADDRESS 1 // Change this unique address for each I2C slave
node
byte nodePayload;
void setup()
{
Serial.begin(9600);
Serial.println("SLAVE SENDER NODE");
Serial.print("Node address: ");
Serial.println(NODE_ADDRESS);
Serial.println("***********************");
Wire.begin(NODE_ADDRESS); // Activate I2C network
Wire.onRequest(requestEvent); // Request attention of master node
}
void loop()
{
delay(100);
nodePayload = analogRead(A1)/3.95; // Read A0 and fit into 1 byte. Replace
this line with your sensor value
Serial.println(nodePayload);
}
void requestEvent()
{
12
Wire.write(nodePayload);
Serial.print("Sensor value: "); // for debugging purposes.
Serial.println(nodePayload); // for debugging purposes.
}
3. Realizar el cdigo correspondiente para el arduino esclavo2.
// Program: I2C slave sender template for multi-node Arduino I2C network
// Programmer: Hazim Bitar (techbitar.com)
// Date: March 30, 2014
// This example code is in the public domain.
#include <Wire.h>
#define NODE_ADDRESS 2 // Change this unique address for each I2C slave
node
byte nodePayload;
void setup()
{
Serial.begin(9600);
Serial.println("SLAVE SENDER NODE");
Serial.print("Node address: ");
Serial.println(NODE_ADDRESS);
Serial.println("***********************");
Wire.begin(NODE_ADDRESS); // Activate I2C network
Wire.onRequest(requestEvent); // Request attention of master node
}
void loop()
{
delay(100);
nodePayload = digitalRead(52); // Read A0 and fit into 1 byte. Replace this line
with your sensor value
13
Serial.println(nodePayload);
}
void requestEvent()
{
Wire.write(nodePayload);
Serial.print("Sensor value: "); // for debugging purposes.
Serial.println(nodePayload); // for debugging purposes.
}
4. Realizar el cdigo correspondiente para el arduino esclavo3.
// Program: I2C slave sender template for multi-node Arduino I2C network
// Programmer: Hazim Bitar (techbitar.com)
// Date: March 30, 2014
// This example code is in the public domain.
#include <Wire.h>
#define NODE_ADDRESS 3 // Change this unique address for each I2C slave
node
byte nodePayload;
void setup()
{
Serial.begin(9600);
Serial.println("SLAVE SENDER NODE");
Serial.print("Node address: ");
Serial.println(NODE_ADDRESS);
Serial.println("***********************");
Wire.begin(NODE_ADDRESS); // Activate I2C network
Wire.onRequest(requestEvent); // Request attention of master node
}
14
void loop()
{
delay(100);
nodePayload = analogRead(A1)/3.52; // Read A0 and fit into 1 byte. Replace
this line with your sensor value
Serial.println(nodePayload);
}
void requestEvent()
{
Wire.write(nodePayload);
Serial.print("Sensor value: "); // for debugging purposes.
Serial.println(nodePayload); // for debugging purposes.
}
5. Implementar el circuito correspondiente para el correcto funcionamiento de la
prctica.
15
16
17
18
16. Crear un Token dando clic en My Profile. Necesitar esto para el cdigo.:
19
20
21
22
CONCLUSIONES:
-
De manera fsica y como consejo se coloca para los enlaces con RS-485 una
resistencia de 120 ohms (Rt) a travs de las lneas A y B en cada extremo de la
lnea, para proveer a los dispositivos de una adaptacin de impedancia al medio
de transmisin.
23
RECOMENDACIONES:
-
Conocer cules y que permite cada pin del MAX485, para realizar
la
Poseer los materiales necesarios para realizar el montaje del circuito que se desee
monitorear por medio de ubidots.
BIBLIOGRAFA:
[1] Tecnologa, I. B.-D. (n.d.). EL MICROCONTROLADOR ARDUINO. Retrieved
Noviembre
18,
2015,
from
http://www.cscjprofes.com/wp-
content/uploads/2014/02/teoria_arduino2009.pdf
[2] S.A., P. f. (n.d.). Estndares de comunicaciones RS232, RS422, RS485. Retrieved
Noviembre 19, 2015, from http://www.puntoflotante.net/RS485.htm
[3] nextiafenix. (s.f.). Obtenido
de http://www.nextiafenix.com/producto/modulo-
ethernet-enc28jc60/
[4]
Ubidots.
(2014).
Obtenido
de
http://ubidots.com/docs/es/get_started/introduccion.html
24