Blog de electronica, programación y temas geek

08/03/2015
by RUBEN ESTRADA MARMOLEJO REM
Blog de electronica, programación y temas geek. En este blog encontrarás temas relacionados a los productos que fabricamos, ensamblamos y/o distribuimos. 

Tutorial micro-SD con Arduino

06/21/2017
by RUBEN ESTRADA MARMOLEJO REM

Tutorial básico para el diseño de un Data Logger con Arduino y micro-SD

 

Indice:

Introducción

Elementos de un Data Logger

Data Logger con Arduino

Ejemplo1: 

Descargar código fuente

Formatear memoria micro-SD en FAT16

Descargar versión en PDF de esta página

 

 

ResumenEn este tutorial se explicará el diseño de un registrador de datos (Data Logger) con Arduino y una memoria micro-SD. Ademas se expican las funciones de los componentes que lo incluyen y el software necesario.

 

Palabras claveArduino sd card, arduino micro sd, sd card arduino, arduino sd shield, sd card module, arduino sd, arduino data logger, micro sd arduino, sd shield arduino, data logger arduino.

 

 

 

Introducción

 

Un Data Logger es un sistema que permite registrar y guardar datos o información. Esta información puede ser variables físicas como temperatura, humedad, presión, aceleración, etc. Hasta horas de trabajo, personas que pasan por una avenida, velocidades de los vehículos que pasan por algún lugar en particular, etc.  El diseño de un data logger con Arduino tiene muchas ventajas; la primera es la facilidad del diseño. Arduino es una plataforma de Hardware libre que permite a casi cualquier persona poder diseñar un sistema digital.

Tutorial micro SD con Arduino Figura 1

Figura 1. SDlogger registrador de Hardware Libre.

 

https://hetpro-store.com/adafruit-feather-32u4-registrador-de-datos/

Figura 2. Adafruit Feather 32u4 de la marca Adafruit ©.

 

Un data logger diseñado con la plataforma de Arduino, requiere muy pocos elementos. Estos componentes son: Arduino, memoria micro-SD y convertidor lógico de 3.3V a 5V. La Figura 1. presenta un diseño de un Data Logger en Hardware Libre.

La Figura 2. Muestra el diseño de un Data Logger de la compañía Adafruit. La ventaja principal de este diseño es su tamaño y además cuenta con un cargador de baterías LiPo. Este aditamento le permite alimentarse de una batería. Incluye un procesador muy similar al usado por Arduino.  


Subir al INICIO

 

 

 Elementos de un Data Logger 

 

Los componentes principales en un registrador de datos son: el procesador, la memoria (externa y/o interna), reloj de tiempo real y el sensor. El objetivo principal de un registrador de datos es el de guardar la información en un lapso de tiempo conocido.

 

El tipo de procesador le permitirá guardar información de forma más rápida y con una mayor resolución (ADC). El procesador también le permitirá funcionar con poca energía dependiendo de su arquitectura.

La memoria permite guardar la información a registrar. Si se tiene poca memoria y una velocidad de captura de datos muy alta, entonces sólo se podrá guardar información en un lapso muy corto. Un aspecto importante de este elemento es el tiempo que le toma al procesador guardar los datos. Este tiempo o latencia puede perjudicar a la sincronización de la información registrada. Lo recomendable es guardar en la memoria interna del procesador un buffer o paquete de datos para cada determinado tiempo, vaciar esa información a la memoria externa no volátil.

Convertidor lógico (opcional). En el caso de que el sensor y/o la memoria no compartan el mismo voltaje lógico con el procesador, se requiere una etapa adicional para convertir los voltajes lógicos.

Reloj de Tiempo Real (RTC). Puede ser un elemento externo o interno. Su objetivo principal es el de proporcionar a la medición una referencia absoluta o relativa del tiempo. En que fecha, minuto, segundo, hora o año se tomo la medición.

Sensores. Los sensores son el medio por el cual podemos medir una variable. Existen principalmente dos tipos de sensores, los activos y los pasivos. Un ejemplo de un sensor pasivo es una resistencia fotosensible LDR. Esta requiere de una fuente de alimentación para poder funcionar. Un ejemplo de un sensor activo es una celda solar la cual genera un voltaje que posteriormente tendrá que amplificarse y convertirse a una señal digital.


 


Subir al INICIO

 

Data logger con Arduino

 

 

Un data logger diseñado con Arduino también requiere de los elementos descritos anteriormente. La Tabla 1. muestra los componentes usados en el diseño de un registrador de datos. El procesador utilizado está basado en la tarjeta de desarrollo Arduino MEGA R3. Se optó el uso de esta tarjeta por la cantidad de memoria RAM que tiene. El RTC es el DS3231 es un reloj de tiempo real que tiene una muy buena precisión comparado con su competencia el DS1307. Se utilizó un Ethernet Shield para poder usar el conector micro-SD y su lógica de conversión que permite convertir los niveles lógicos de la memoria (3.3Vdc) a la lógica del Arduino 5Vdc.

 

El Arduino MEGA 2560 R3 utiliza los pines 11, 12 y 13 para la comunicación SPI. El dispositivo esclavo (micro-SD) requiere un pin adicional para poder habilitarlo (CS - Chip Select). Para poder escribir y leer datos de la memoria micro-SD se utiliza una librería de Arduino llamada SD.h. En esta sección se describe a los elementos principales de dicha librería. La librería SD soporta a los sistemas de archivo FAT16 y FAT32. La librería requiere que la memoria está formateada usando este tipo de archivos.

 

 Subir al INICIO

 

 

Ejemplo1 - Guardar el valor del ADC en una memoria micro-SD usando Arduino.

 

 El objetivo será crear un programa que nos permita guardar el dato digital de la lectura analógica del ADC0 de Arduino. Cada 10 segundos se guardará la información del ADC así como el tiempo que le tomó guardar y procesar el dato. Este tiempo será un tiempo “relativo” utilizando a la función millis(). Relativo se refiere a que no registramos fecha/hora en específico sino el tiempo en segundos relativo al tiempo en el que lleva funcionando el arduino.

El programa tiene 4 funciones.

  1. setup( ) . Es una función que realiza lo siguiente:
    1. Configura el puerto serial del Arduino:
      1. Serial.begin(9600);
    2. Configura el pin CS del SPI del Arduino.
      1. pinMode(53, OUTPUT);
    3. Verifica si está conectada la memoria micro-SD
      1. if (!SD.begin(4)) {   //… }
  2. registrarDato(unsigned int dato). Guarda un dato de 2 Bytes (unsigned int) de nombre dato en la memoria micro-SD.
    1. Registrador1 = SD.open("LOG.TXT", FILE_WRITE); . Abre y/o crea el archivo LOG.TXT.
    2. if (Registrador1) { //… } Si se pudo abrir el archivo entonces…
    3. Registrador1.print(dato);  Guarda el dato en el archivo sin salto de línea.
    4. Registrador1.print(";"); Guarda un punto y coma en el archivo sin salto de línea.
    5. Registrador1.println((long int)millis());  Guarda el tiempo actual del sistema de Arduino.
    6. Registrador1.close();  Cierra el Archivo.
  3. loop( ). Es un ciclo que se repite una y otra vez.
    1.  if(salida == false) { //...}  Por default esta condición siempre es verdadera por lo tanto, guarda el tiempo actual y verifica si han transcurrido el tiempo actual + 5000 milisegundos.  
    2. if(t0 > t1){ //… } Si ha transcurrido 5000 milisegundos, manda llamar a la función para registrar un dato y actualiza el tiempo siguiente.
  4. serialEvent( ). Permite recibir un byte serial de forma asíncrona. Este byte se utiliza para detener el guardado de datos o continuar con el guardado de datos. Si la ventana serial de Arduino se configura con una velocidad de 9600 BAUDios y con la opción “No Line Ending”, al momento de escribir la letra A mayúscula y enviarla por el puerto serial, se detendrá el registro de los datos. En cambio si se envía un letra B mayúscula se reiniciará el proceso normal.

 

Subir al INICIO 

 

 

 

Descargar código fuente

 

Para descargar el código fuente puedes darle click a nuestra página de github.

Código de ejemplo para usar una memoria micro-SD con Arduino

 

 

Codigo para leer una memoria micro-SD con Arduino Imagen-1

Codigo para escribir una memoria micro-SD con Arduino

 

Subir al INICIO 

 

Formatear FAT16 una memoria micro-SD para Arduino

Este breve tutorial explica como realizar el formateo de una memoria micro-SD para soportar el sistema de archivos FAT16. Este sistema de archivos es el que requiere la librería SD.h de Arduino. El tutorial explica como hacerlo usando Linux Ubuntu 16.04 y Gparted.  

Paso-1. Instalar gparted.

sudo apt-get install gparted

Paso-2. Verificar donde está montado la memoria micro-SD.

sudo fdisk -l

Para las pruebas que se hicieron, solamente se podrá utilizar 2Gb de espacio de la memoria micro-SD. Si no se tiene una memoria de 2Gb, se puede utilizar una memoria más grande pero sólamente 2GB. Para el siguiente paso, se considera una memoria de 8Gb para reducirla a 2Gb.

 

Paso-3. Abrir el programa GPARTED. Pedirá la contraseña del superusuario.  Seleccionar la memoria descrita en el paso-2. Importante, asegurarse de que sea la memoria (ver el espacio del disco) y no el disco duro, de lo contrario se perderán los datos de la computadora. Una vez seleccionada la partición de la micro-SD borrarla. Esto se hace, seleccionando click derecho sobre la partición y la opción Borrar (Delete).

 

Paso-4. En esta opción la memoria aparecerá sin ninguna partición “unallocated”. Ahora crearemos una partición de 2000Mb (2Gb). Después de muchas pruebas formateando en 4Gb, 2048Mb y 3500Mb, sólamente funcionó la partición de 2000Mb. Se supone que la biblioteca SD.h también funciona con memorias de 4Gb. Cuando se utilizó una memoria de 8Gb con una partición de 4Gb no funcione correctamente. La mejor opción fue 2000Mb. Para crear la partición, seleccionar sobre la zona gris “unallocated” click derecho y el menú NEW o NUEVA Partición. En la opción de New Size (MiB) escribir 2000. En la opción File system seleccionar FAT16 y en Label ó etiqueta el nombre de la memoria. FInalmente se selecciona la opción AGREGAR o ADD.

 

 

Paso-5. Seleccionar la opción del check verde. Esto iniciará el proceso de crear la partición. Cuando termine seleccione la opción cerrar o close.

 

 

Imagenes de los pasos anteriores

 

Paso # 2. 

Paso # 1 Para formatear una memoria micro-SD en FAT16 con Linux Ubuntu


 

Paso # 3. 

 

Paso # 2 Para formatear una memoria micro-SD en FAT16 con Linux Ubuntu

 

Paso # 4

Paso # 3 Para formatear una memoria micro-SD en FAT16 con Linux Ubuntu

 

 

Paso # 5

Paso # 5 Para formatear una memoria micro-SD en FAT16 con Linux Ubuntu

 

Descargar la versión en PDF

 

Subir al INICIO 

Ethernet Shield

06/20/2017
by RUBEN ESTRADA MARMOLEJO REM

Ethernet Shield

 

Ethernet Shield. Es una tarjeta electrónica que permite a un Arduino tener una conectividad al protocolo TCP/IP. Este tipo de protocolo se creó para comunicar a los dispositivos digitales mediante una conexión en RED. El shield usa un conector de Ethernet para proporcionar de conectividad a las tarjetas Arduino. Existen principalmente tres shields de comunicación TCP/IP (Ethernet). Estas tarjetas son distintas de acuerdo al chip electrónico que tengan. Los tres principales chips usados son el wiznet W5100, W5200 y el W5500.

 

Ethernet-Shield-imagen1

Figura 1. Ethernet Shield W5100, una versión genérica del Shield original.

 

 

¿Para qué sirve el arduino Ethernet shield?

 

El Arduino Ethernet shield le agrega a una tarjeta Arduino, la capacidad de conectarse a una red. La red sirve para poder transportar/enviar datos desde el Arduino a cualquier nodo de la red. Existen principalmente dos tipos de funciones que un Arduino Ethernet shield puede tener, servidor web y cliente web.

 

 

Servidor Web

 

 

Un Arduino servidor crea un servicio al cual uno o varios clientes web pueden conectarse. Una página web es una buena analogía. Una página web (servidor web) presta el servicio de albergar/guardar cierta información. Esta información se accede mediante un cliente web (el usuario).Una de las restricciones más importantes de configurar a una tarjeta shield Ethernet es una memoria limitada. Generalmente si no se usa una memoria externa, sólo se puede albergar a una pequeña página html en el Ethernet shield. Si te interesa puedes ver el siguiente blog de como configurar Arduino como servidor WEB. 

 

 

Cliente WEB

 

 

Cuando Arduino se configura como un cliente WEB, este, puede conectarse a un servicio WEB. El esquema de comunicación cliente-servidor permite el intercambio de información de manera eficiente. Generalmente se estará configurando al Arduino como un cliente WEB. Si te interesa más información, puedes ver el siguiente blog de como configurar Arduino como cliente WEB.

 

Pines del Ethernet Shield

 

 

El shield de Ethernet utiliza los pines de comunicación SPI. Este protocolo de comunicación digital utiliza a los pines MOSI, MISO, CS y SCK.

MOSI. Master Output Slave Input. Que significa, Salida del Maestro Entrada del Esclavo. Es un canal de comunicación digital unidireccional que permite al dispositivo maestro en la comunicación SPI (Arduino UNO / Mega), comunicarse con el SHIELD.

MISO. Master Input Slave Output. Que significa, Entrada del Maestro Salida del Esclavo. Este canal unidireccional permite al dispositivo esclavo (Ethernet Shield) enviar información al dispositivo esclavo.

Chip Select. Selector del Circuito. Es una entrada para el dispositivo esclavo, salida para el maestro. Generalmente se activa en bajo (0 lógico) y permite activar al dispositivo esclavo.

SCK. Serial Clock. Reloj Serial. Es una señal digital que oscila a la frecuencia a la que opera el protocolo SPI. Esta frecuencia es controlada por el Maestro (Arduino).

 

Descarga la versión en PDF.  

PDF icon

 



Lista-de comandos AT ESP8266 ESP8266EX módulo WiFi

06/15/2017
by RUBEN ESTRADA MARMOLEJO REM

Lista-de comandos AT ESP8266 ESP8266EX módulo WiFi. El módulo WiFi es controlado mediante comandos seriales AT. Aquí podrás encontrar una descripción en español. En este tutorial podrás encontraras una lista básica de los comandos, ejemplos y descripción. Con el tiempo estaremos añadiendo más comandos hasta completar una guia para poder programar el módulo ESP8266EX. 

 

Lista de comandos AT para el ESP8266EX ó ESP8266

 

 

 

Resumen de comandos AT

Capa Wifi

AT+CWMODE_DEF=X. Configura modo de operación.

AT+CWMODE?. Indica el modo de operación actual.

AT+CWJAP_DEF="ssid","pass". Conecta a una red WiFi.

AT+CIPSTA?. Lee la dirección IP, cliente y/o servidor.

AT+CIPSTA=ip. Asígna una IP al modulo cuando se configura como cliente.

AT+CWLAP . Proporciona una lista con las redes disponibles al módulo WiFi.

AT+CWQAP . Desconecta el módulo de la red. 

AT+RST . Resetea el modulo, y si ya tenia una red guardada se vuelve a conectar. 

 

 

 

Regresar al RESUMEN 

 

 

 

 

AT+CWMODE_DEF=<modo>\r  

 

 

Configura el modo de operación y guarda la configuración en la memoria Flash, es decir, que la próxima vez que se inicie el sistema automáticamente iniciará en este modo.

 

 

Modos de operación <modo>

  • 1 = cliente
  • 2 = servidor
  • 3 = cliente+servidor

 

Respuesta del comando CWMODE_DEF

Este comando regresará por el puerto serial donde este conectado, un string "OK" cuándo el comando se haya ingresado correctamente o "ERROR" cuando el comando ingresado este incompleto.

(SerialX, Serial para Arduino UNO, o Serial1, Serial2 o Serial3 para Arduino MEGA).   

 

Ejemplo CWMODE_DEF:

AT+CWMODE_DEF=1\r        

Configura al ESP8266 en modo cliente.

Lenguaje Arduino:

SerialX.begin(115200); //Velocidad estándar del módulo

SerialX.println("AT+CWMODE_DEF=1");

SerialX.print("AT+CWMODE_DEF=1\r "); 

 

AT+CWMODE_DEF=?\r        

Verifica el modo actual de operación.

Lenguaje Arduino:

SerialX.begin(115200); //Velocidad estándar del módulo

SerialX.println("AT+CWMODE_DEF=?" );

SerialX.print("AT+CWMODE_DEF=?\r " ); 

AT+CWMODE_DEF=1

 

Regresar al RESUMEN 

 

 

 

AT+CWMODE?\r

 

 

Verifica el modo de operación actual del módulo WiFi. 

 

 

Respuesta del comando AT+CWMODE?

El comando indica cual es el modo actual de operación.

 

 

Ejemplo AT+CWMODE?:

 

 

AT+CWMODE?

Verifica el modo de operación actual

Resultado del comando AT+CWMODE? en Arduino con el ESP8266 

Regresar al RESUMEN

 

 

 

 

 

AT+CWJAP_DEF="NombreRedWiFi","Contraseña"\r

 

Conecta el módulo ESP8266EX a una red WiFi. Para este comando hay que tener cuidado con los caracteres especiales en el nombre de la Red o en la contraseña. 

 

 

Respuesta del comando CWJAP_DEF

Si se ingresa una red y contraseña valida.

AT+CWJAP_DEF="SSID","PASS"

 

Regresar al RESUMEN 

 

 

 

 

 

 

AT+CIPSTA?\r

 

 

Indica la IP asignada al módulo. Este comando sólo funciona en el modo de operación 1 ó 3, es decir, cuando el ESP8266 esta configurado como cliente o como cliente/servidor. Cuando está configurado en el modo 2, esta instrucción regresa todos sus valores en cero. Si se ejecuta el comando antes de conectarse a una red, regresara como ip ceros y unicamente el valor de la dirección MAC. 

 

 

Respuesta del comando AT+CIPSTA?

El comando AT regresa los valores de la ip, gateway y netmask. Al final de estos tres mensajes regresa un string “OK”. Cuando no se ha conectado a una red WiFi, sólo responde con una IP en ceros y la dirección MAC. 

AT+CIPSTA?

 

Regresar al RESUMEN

 

 

 

 

AT+CIPSTA=ip\r

 

 

Este comando asigna una IP al módulo cuando está configurado como cliente

 

 

Respuesta del comando AT+CIPSTA=ip

El comando AT regresa los valores de la ip, gateway y netmask. Al final de estos tres mensajes regresa un string “OK”

 

 

Ejemplo AT+CIPSTA=ip:

 

 

AT+CIPSTA=192.168.100.72

El comando asigna una IP nueva y fija al módulo WiFi cuando está configurado como cliente

Comando AT+CIPSTA=ip en Arduino con el ESP8266

 

Regresar al RESUMEN 

 

 

 

 

AT+CWLAP\r

 

 

Este comando nos proporciona una lista con las redes WiFi disponibles e información adicional de estas.

 

 

Respuesta del comando AT+CWLAP

El comando responde con una cadena de caracteres que incluye: 

+CWLAP: <ecn>, <ssid>, <rssi>, <mac>, <canal>  OK

 <ecn>:

0 - Red abierta (sin contraseña).

1 - Red con contraseña WEP.

2 - Red con contraseña WPA_PSK.

3 - Red con contraseña WPA2_PSK

4 - Red con contraseña WPA_WPA2_PSK

<ssid>:

String con el nombre de la Red.

<rssi>:  

 String con el nivel (potencia) de la señal.

<mac>:

String con la dirección MAC de la Red. 

 

Ejemplo AT+CWLAP:

 

AT+CWLAP

Muestra las redes disponibles

 Comando AT+CWLAP en la interfaz de Arduino con el modulo WiFi ESP8266

Regresar al RESUMEN

 

 

 

 

AT+CWQAP\r

 

 

Este comando desconecta al módulo ESP8266EX de la red WiFi. No hay problema si se ejecuta más de una vez, sólo actúa 1 sóla vez. Es importante señalar que si el módulo se apaga y enciende, automáticamente intentará conectarse a la última red configurada. 

 

 

Respuesta del comando AT+CWQAP

La respuesta del comando incluye a la siguiente cadena de caracteres.

WIFI DISCONNECT
OK

Si se ejecuta posterior a una desconexión:

AT+CWQAP
OK

 

 

Ejemplo AT+CWQAP :

 

AT+CWQAP

Desconecta la red actual

Comando AT+CWQAP ejecutado en terminal Arduino 

Regresar al RESUMEN

 

Tutorial Wifi ESP8266EX Arduino

06/14/2017
by RUBEN ESTRADA MARMOLEJO REM
ESP8266

Tutorial Wifi ESP8266EX Arduino. El módulo ESP8266 permite realizar una conexión Wifi con un sistema embebido. Este módulo ofrece una solución completa para conexiones en red WiFi. Puede ser utilizado como un host o cliente en una red Wifi. Cuando el ESP8266EX se utiliza como host, arranca, directamente desde la memoria flash externa que incluye la tarjeta. Incorpora una memoria caché que permite mejorar el rendimiento del sistema bajo tales aplicaciones.

 

Otra de las funciones que incorpora es como adaptador WiFi, se puede agregar fácilmente a cualquier microcontrolador una conexión wireless con acceso a internet. Para tal propósito el módulo incorpora protocolos de comunicación digital SPI/SDIO o I2C/UART.

 

El ESP8266EX es uno de los chips con mayor integración de la industrial. Incluye una antena, switches, un amplificador de potencia, receptores amplificador de bajo ruido, módulos de administración de energía. Su diseño se pensó para ocupar un área de PCB mínima.  

 

El módulo Wifi también incorpora un procesador Tensilica L106 Serie Diamon de 32-bits, con SRAM integrada además de la funcionalidad de Wifi. También incorpora pines de entrada/salida que pueden ser usados directamente sin el uso de algún microcontrolador externo.

 

Características

  • 802.11 b/g/n
  • Microcontrolador de bajo consumo de 32-bit
  • ADC-10-bit integrado
  • Stack de protocolo TCP/IP
  • Wifi 2.4 Ghz, soporta WPA/WPA2
  • Soporta STA/AP/STA+AP
  • Soporta funciones Smart LInk para Android y dispositivos iOS
  • SDIO 2.0, SPI, UART, I2C, I2S, IR remoto, PWM, GPIO
  • STBC, 1.1 MIMO, 2X1 MIMO
  • Modo de ahorro de hasta < 10uA
  • Despierta de hibernación y transmite paquetes en menos de 2ms
  • Consumo en standby de < 1.0mW
  • Potencia de salida de +20 dBm
  • Rango de temperatura de -40C a 125C
  • FCC, CE, TELEC, WiFi Alliance y certificación SRRC

 

Pines de conexión (Pinout).

 

Diagrama Pinout ESP8266EX

  1. GND. Conexión con GND digital.
  2. TXD. Pin de transmisión, niveles TTL de 3.3Vdc.
  3. GPIO2. Pin de entrada/salida de propósito general.
  4. CH_PD. CH_PD = 0, Apagado, CH_PD = 1, encendido.
  5. GPIO0. Pin de entrada/salida de propósito general.
  6. RST. Se activa con 0.
  7. RXD. Pin de recepción de datos, niveles TTL de 3.3Vdc.
  8. VCC. Voltaje de alimentación 3.3V típico, 3.6V máximo.

 

Utilizar el ESP8266EX sin microcontrolador

 

Para usar el módulo ESP8266EX sin algún microcontrolador es necesario usar un convertidor logico de USB a TTL que soporta voltajes lógicos de 3.3Vdc y además tenga una fuente de externa de 3.3V. Para este tutorial usaremos el convertidor XBEE USB - SERIAL USB. A continuación se muestran unas imágenes del convertidor. Para poder usarlo es necesario colocar el switch en la posición de 3.3V y realizar las siguientes conexiones.

 

Convertidor USB

ESP8266EX

GND

GND

VCCIO

VCC

 

VCCIO

CH_PD.   Nota1.

TXD

RXD

RXD

TXD

 Nota1. Es muy importante que este pin se encuentre conectado a Vcc de lo contrario no podremos comunicarnos con el módulo.

 

Convertidor USB Serial 3v3

Convertidor USB-Serial 3v3 conexión con ESP8266EX

Conexión ESP8266EX con convertidor USB-Serial-3v3


 

Comandos AT para el ESP8266EX

 

Para probar el módulo sin el microcontrolador se utilizará un programa que permita comunicarnos a través de comandos AT. Esté programa en Linux puede ser GTKTerm, IDE de Arduino. O el Windows termite, putty o el IDE de Arduino. Si quieres saber qué es Arduino, click en el enlace. 

 

Paso-1

Usando el IDE de Arduino y realizando las conexiones antes mencionadas, se abre la terminal de Arduino y en el menú Tools->SerialPort (tengo la versión en inglés, en español sería algo como Herramientas -> PuertoSerial), se selecciona el puerto a usar. En mi caso, el puerto es el ttyUSB1 o ttyUSB0 para LInux, y para Windows sería el puerto COMX en donde se haya detectado el convertidor USB a Serial.

 

 

Comandos AT ESP8266EX Con IDE de Arduino Paso-1

 

Paso-2

 

Abrir la terminal serial de Arduino. Se identifica por un icono en forma de Lupa en la parte superior derecha. En la ventana que se abrirá, configurar: BAUD: 115200, Both NL & CR.

 

Paso-3

 

 

Comprobar el funcionamiento del módulo. En este paso se ingresa alguno de los comandos AT que reconoce el ESP8266EX. Por ejemplo, ingresar el siguiente texto y después presionar el botón Send/Enviar. Si el módulo funciona y las conexiones están correctas, este responderá con un OK.

Comandos AT ESP8266EX Con IDE de Arduino Paso-2

 

 

COMANDOS AT DESCRIPCIÓN EN ESPAÑOL

 

 

 HOJA DE DATOS

 

COMANDOS AT en PDF

Componentes electrónicos

06/04/2017
by RUBEN ESTRADA MARMOLEJO REM
Son cualquier elemento discreto u objeto físico que se usa para alterar a los electrónes y su interacción con la materia.
 
 

Clasificación

Componentes electrónicos activos : requieren una fuente de alimentación para su funcionamiento. En esta clasificación de componentes electrónicos podemos encontrar a transistores, diodos, amplificadores, etc.

Componentes electrónicos pasivos : no introducen energía al sistema. Estos componentes electrónicos incluyen a las resistencias, capacitores, inductores y transformadores. 

 

Circuitos electrónicos - microcontroladores : Es el conjunto de un microprocesador, unidades de entrada-salida y memoria. 

 

Fuente: https://en.wikipedia.org/wiki/Electronic_component

 

Tipos de componentes electrónicos pasivos y su empaquetado más comun:

Resistencias. Las resistencias pueden ser uno de los elementos electrónicos más comunes. Su función es reducir la corriente que se induce a un circuito o cambiar el voltaje del mismo. Las resistencias se pueden construir de materiales aislantes de la electricidad como lo es el carbon. Algunas de las características principales de estos componentes electrónicos pasivos son: la potencia máxima que puede "pasar" por sus terminales; la tolerancia que es una medida de que tan exacto es su valor comercial (0.1% 1% 5% 10% 29%) y su tamaño. Las resistencias se miden en "ohm". Los ohm's es una unidad del sistema internacional que se define como la resitencia entre dos puntos en un conductor electrico cuando existe un diferencia de voltaje constante de 1volt. 

ohm = V(voltaje)/A(corriente).

 

Para calcular la resistencia que requiere nuestro diseño, cuando la aplicación sea la de reducir la corriente; es necesario conocer el voltaje que pasara por nuestro circuito electrónico y la corriente. Por ejemplo:

 

Calcular el componente electronico pasivo, resistencia comercial más cercana, para limitar la corriente de un diodo LED a 10mA cuando este se alimenta con 5VDC y tiene una caida de 2.1V.

 

Ley de ohm

R = V/I     =    (5-2.1)V/0.01A = 290 ohms

 

El valor comercial más cercano seria de 270 ohms. 

 

Después de calcular este valor, se procede a calcular la potencia que requerimos para la resistencia. La potencia se calcula en Watts.

 Potencia Electrica

  P = V*A

P = Potencia (W)

V = Voltaje

A = Corriente

 

P = 2.1V*0.01A = 0.021W  

 

Así este valor nos proporcionara una medida para calcular la potencia de nuestro componente electrónico. En este caso podemos usar una resistencia d 1/4 de watt, 1/8 de watt o incluso 1/16 de watt.

 

Ya con este segundo dato procederemos a revisar el tipo de ensapsulado o tamaño de nuestro elemento electrónico. Existen dos principales tecnologias, la de montaje superficial (smd) y la de through hole. La diferencia radica en el tamaño que ocupa en la placa de pcb y la tecnologia con la que estan fabricadas.

Resistencia radial

Resistencia radial de 1/4 de watt.

Resistencia SMD 1206 ohm

 

Resistencia 1/4w  encapsulado SMD 1206

 

Para el caso de las resistencias radiales, estos componentes electrónicos cuentan con una codificación de color para averiguar su valor nominal. 

 

Codigo de colores resistencia

 

Codigo de colores para resistencias 4 bandas 

 

 HeTPro Tienda en linea de componentes electrónicos, envios a todo México, tienda fisica en Guadalajara, México

 

 

 

 

 

 

Lenguaje Arduino

05/24/2017
by RUBEN ESTRADA MARMOLEJO REM

Lenguaje Arduino. El lenguaje de programación Arduino es una modificación de c++. Incluye a sus propias clases y objetos. La estructura básica de Arduino incluye a dos funciones. Una función es una forma de separar a un segmento de código. Las funciones principales de Arduino son, void setup(); y void loop(); 

 

Un código del lenguaje Arduino se vería así:

 

void setup( ){ }

void loop( ) { }

 

La función setup de Arduino

 

La función setup permite configurar inicialmente algunos módulos de Arduino. Se utiliza principalmente cuando se desea inicializar el puerto de comunicación serial, el Ethernet-Shield o los pines de entrada-salida. Esta función sólo se "ejecuta" una vez durante el encendido de la tarjeta Arduino. 

 

La función loop de Arduino

 

Esta función tiene el proposito de repetir el bloque de instrucciones indefinidamente. Es similar o equivalente a un ciclo while infinito. Todas las instrucciones que se encuentren en esta función se repetiran una vez terminada la ultima instrucción de la función loop.