- Ingrese a la página de uBidots app.ubidots.com y registrese (pestaña SING UP).
- En la pagina de uBidots, seleccione la pestaña "Device" y luego haga click en "Add Device" como se muestra en la siguiente figura.
Luego asigne un nombre representativo al nuevo dispositivo. Esto creará una representación de nuestra tarjeta Esp8266 en nuestra cuenta de uBidots.
- A continuación, haga click en el dispositivo recién creado y agregue una variable para guardar la temperatura medida por el sensor: click en "Add Variable", seleccione la opción "Default" y nombrela como "temperatura".
4. Genere otra variable llamada "humedad".
-
Por último, cree una tercera variable llamada "led".
-
A continuación, en la pestaña llamada "Dashboards", agregue un nuevo dashboard para su dispositivo, esto le permitirá visualizar y controlar los valores de sus variables. Cree un nuevo Dashboard, nombrelo adecudamente y luego haga click en él como se muestra en la figura.
-
Luego cree un "Widget" que nos permita observar la variable temperatura, para ello haga click en el icono
, luego haga click en el tipo de indicador llamado "indicator" , luego seleccione el tipo de indicador llamado "Gauge" y a continuación seleccione el dispositivo anteriormente creado, finalmente seleccione la variable temperatura del dispositivo e indique los valores máximos y mínimos permitidos, en este caso seleccione -10 y 45 (estos serán los límites en grados celsius). En la siguiente figura se muestra el procedimiento.
-
De la misma forma, cree un widget para la variable humedad, con límites entre 0 y 100.
-
Finalmente cree otro widget del tipo switch para controlar la variable led. Haga clic en el icono
, luego seleccione la clase de widget llamada "Control", a continuacion seleccione el tipo de widget llamado "switch" y luego elija el dispositivo anteriomente creado, seleccione la variable y haga click en el boton "finish".
-
Arme el circuito de la siguiente figura para conectar el sensor de temperatura y humedad a la tarjeta.
-
Conecte la tarjeta ESP8266 a su computador mediante un cable micro usb, deberá observar que el led del sensor se encienda inmediatamente, si esto no sucede, desconecte de inmediato y revise sus conexiones. Luego mueva el interruptor de la tarjeta a la posición "ON".
-
Abrir el programa IDE de Arduino y configurarlo para la tarjeta utilizada, primero en el menu seleccione Herramientas->Placa->"sparkFun ESP8266 Thing Dev", luego seleccionar el puerto de comunicaciones en Herramientas->puerto->comX (la X es reemplazada según el número que aparesca en cada computador).
-
Descargue este proyecto, para ello suba al inicio de esta página y pinche el botón verde llamando "clone or download" y pinche la opción "download ZIP" como se muestra en la siguiente figura.
-
Luego de descargar el proyecto, abra el archivo
arduino_ubidots/arduino_ubidots.ino
mediante el menuArchivo->abrir...
. -
Es necesario agregar algunas librerias al proyecto para tener acceso ap API de uBidots desde arduino. Haga click en este link y descargue la librería mediante el boton verde llamado "clone or download" y luego haga click en "downlaod as ZIP" como se indica en la siguiente figura.
- Luego en el ide arduino, ir al menu programa->incluir libreria->añadir libreria ZIP como se muestra en la figura. En el cuadro de dialogo que se abrirá, busque la librería de ubidots en formato zip que acaba de descargar.
-
Para trabajar con el sensor DHT11, es necesario descargar primero la librería
Adafruit_Sensor.h
desde el siguiente link. Tal como en la descarga de la librería anterior, seleccione el botón "clone or download" y luego haga click en "download zip". -
agregue la librería
Adafruit_Sensor.h
en formato ZIP al ide arduino tal como se hizo con la librería de uBidots. -
Finalmente agregue la libreria específica para el sensor DHT11 (nuestro sensor de temperatura y humedad), mediante el menu programa->incluir libreria->gestionar libreria y luego escribir en el cuadro de búsqueda el texto DHT11. Seleccione el resultado "DHT Sensor Library by Adafruit" y luego haga click en instalar.
-
Modifique el programa con los datos necesarios para la conexión WiFi. Modifique las lineas de código al comienzo del archivo:
#define WIFISSID "essid"
reemplazando la palabra essid por el nombre de su red, también modifique la línea#define PASSWORD "passwd"
reemplazando passwd por la clave de la red. -
Para que nuestra tarjeta pueda enviar y recibir datos desde las variables en uBidots, es necesario que se obtengan las ID's de cada variable. Para ello dentro de la cuenta de ubidots seleccione la pestaña "Devices" y luego su dispositivo, finalmente seleccione la variable deseada y la id de esta aparecerá en la ficha de la esquina izquierda, guarde esta id. En la siguiente figura de ejemplifica el procedimiento con la variable temperatura.
-
También es necesario obtener el token de usuario de ubidots, para ello haga click en el usuario en la esquina superior derecha y luego "Api Credentials", seleccione en la sección "Tokens" un token, por ejemplo el llamado "Default token" y guarde este código. En la siguiente figura se ejemplifica este procedimeinto.
-
en el archivo
arduino_ubidots.ino
, modifique las siguientes líneas al inicio del archivo:#define TOKEN ""
, pegue entre las comillas el token de usuario de ubidots, en#define ID_T ""
pegue entre las comillas el id de la variable temperatura, en#define ID_H ""
pegue entre las comillas el id de la variable humedad y finalmente en#define ID_SL ""
pegue el id de la variable led. -
Presione el botón
del Ide de Arduino para compliar el programa y cargarlo a la tarjeta, esto tomará un poco de tiempo. Si todo ha salido bien, usted podrá ver los niveles de temperatura y humedad de la sala desde el dashboard de ubidots, también podrá controlar el led de la tarjeta presionando el switch llamdo "led" del dashboard.
Es esta parte de la actividad, utilice lo aprendido para agregar un nuevo elemento, en este caso un servomotor, y realizar todos las madificaciones al proyecto para controlarlo desde uBidots.
Nota: Un motor eléctrico normal gira continuamente, mientras que un servomotor es un motor controlado de manera electrónica, lo que permite mover el eje del motor un ángulo determinados de manera precisa.
-
Conecte el Servomotor al arduino como se muestra en la figura siguiente.
-
Ahora cree una nueva variable en uBidots, la cual tendrá el ángulo del eje del servomotor. Como el ángulo de giro de este servo es de 0 a 180 grados, su variable deberá tener como límite mínimo 0 y como límite máximo 180.
-
Agregue al dashboard de uBidots un control tipo "slide" y asócielo con la variable del servomotor. Con este control usted podrá mover el eje del motor desde uBidots.
-
En esta parte deberá modificar el código de arduino para leer la variable del servomotor desde uBidots y mover el eje en el ángulo especificado por esta variable. Fijese en como el código maneja el Led, esto le ayudará a escribir las lineas necesarias para controlar el servo desde uBidots. Además, considere el siguiente código en arduino que mueve el eje del motor en un determinado ángulo (en este caso 90), utilicelo de referencia para agregar en su código las líneas necesarias para controlar el servomotor:
#include <Servo.h>
Servo myservo; //crea un objeto que representa al servomotor
void setup() {
myservo.attach(15); //el servo esta conectado al pin 15 del arduino
}
void loop() {
int ang = 90; // ángulo en que se moverá el eje del servo
myservo.write(ang); //envia al servo el ángulo de giro requerido
}