sábado, 4 de septiembre de 2021

Compuertas Lógicas Complementarias

 

Compuertas lógicas complementarias

 En esta publicación se utilizara la herramienta en linea CircuitVerse para ilustrar el funcionamiento de las compuertas lógicas complementarias

La explicación de la compuertas lógicas principales y sus complementarias esta en el siguiente video .



 

Compuerta Lógica NAND

Esta es la descripción de la compuerta lógica NAND en CircuitVerse, el circuito esta como publico y puede copiarse.

  

Compuerta Lógica NOR

Esta es la descripción de la compuerta lógica NOR en CircuitVerse, el circuito esta como publico y puede copiarse.

  

Compuerta Lógica XOR

Esta es la descripción de la compuerta lógica XOR en CircuitVerse, el circuito esta como publico y puede copiarse.

 

Compuerta Lógica XNOR

Esta es la descripción de la compuerta lógica XNOR en CircuitVerse, el circuito esta como publico y puede copiarse.

 

Esquema con las compuertas logicas  basicas y complementarias

Este diagrama muestra de forma agrupada y comparativa de las compuertas lógicas basicas y complementarias. Ademas esta los elementos buffer y las negativas OR y AND.

 

lunes, 16 de agosto de 2021

Introducción a las compuertas lógicas en CircuitVerse

Compuertas lógicas

 En esta publicación se utilizara la herramienta en linea CircuitVerse para hacer una introducción a las compuertas lógicas

La explicación de la compuertas lógicas principales y sus complementarias esta en el siguiente video .


 

 

Compuerta Lógica NOT

Esta es la descripción de la compuerta lógica NOT en CircuitVerse, el circuito esta como publico y puede copiarse.

Compuerta Lógica AND

Esta es la descripción de la compuerta lógica AND en CircuitVerse, el circuito esta como publico y puede copiarse.

Compuerta Lógica OR

Esta es la descripción de la compuerta lógica OR en CircuitVerse, el circuito esta como publico y puede copiarse.

 

sábado, 24 de julio de 2021

Conexión de una pantalla Nextion con Arduino Ejemplo 1

Encender y apagar un Led

En este ejemplo se describe como se conecta la pantalla Nextion al puerto serie de una placa Arduino de manera que se pueda controlar el encendido y apagado de un Led.


 

Diagrama de montaje

En este montaje se ha conectado un Led en el terminal 2 de la placa Arduino con una resistencia de 470 ohm que puede ser también de 330 ohm o 220 ohm. En la conexión de la alimentación den la pantalla es muy  importante no invertir los terminales de alimentación que es muy probable dañar la pantalla de esta manera.

Los terminales de comunicación serial se conectan de forma cruzada, es decir TX-RX y RX-TX tal como se muestra en la siguiente figura.

 
En la siguiente figura se muestra la parte inferior de la pantalla, donde claramente se pueden identificar los terminales de conexión.
 
 
En la parte inferior de la pantalla están indicados los terminales sobre la placa impresa de esta. La siguiente tabla ilustra las conexiones realizadas en el montaje.
 
Tabla de conexiones.
Arduino Dispositivo
Terminal 2 Led - 470 ohm
Terminal RX Pantalla TX - Cable amarillo
Terminal TX Pantalla RX - Cable azul
Terminal 5V Pantalla 5V - Cable rojo
Terminal GND Pantalla GND - Cable negro

Gráficos empleados en la pantalla

Para este ejemplo solo se emplea un botón, las siguientes imágenes corresponden a los estados de encendido y apagado.

 

 
 
 
 

Configuración de la pantalla

En el botón de ON se emplearon los eventos de presionar botón y soltar botón para cambiar de pagina y enviar el carácter "1" por el puerto serie. Las instrucciones empleadas se observan en las siguientes figuras.

 

Para la acción de presionar se ejecuta la instrucción de enviar el carácter 1 con la instrucción prints "1",1

 

 

Para la acción de soltar se ejecuta la instrucción de cambiar de pagina con la instrucción page 1

 

En el botón de OFF se emplearon los eventos de presionar botón y soltar botón para cambiar de pagina y enviar el carácter "0" por el puerto serie. Las instrucciones empleadas se observan en las siguientes figuras.

 Para la acción de presionar se ejecuta la instrucción de enviar el carácter 0 con la instrucción prints "0",1

 Para la acción de soltar se ejecuta la instrucción de cambiar de pagina con la instrucción page 0

 

Código de la placa Arduino

El programa realizado no emplea ninguna librería por lo que puede emplearse como base para la realización de otros programas en plataformas microcontroladas o microprocesadas como la Raspberry Pi.

En el video presentado al inicio de esta publicación se explica en mas detalle el funcionamiento del código y la prueba realizada en el monitor serie.

char dato;
void setup() {
  Serial.begin(9600);
  pinMode(2,OUTPUT);
}
void loop() {
  if (Serial.available() > 0) {
    dato = Serial.read();
    Serial.println(dato);
    if (dato == '1') {
      digitalWrite(2, HIGH);
    }
    if (dato == '0') {
      digitalWrite(2, LOW);
    }
  }
}

 

miércoles, 12 de mayo de 2021

Internet de las cosas con la placa NodeMCU y Ubidots

 IOT con la NodeMCU y Ubidots

Una manera rápida de introducirse al mondo del internet de las cosas es por medio de una pagina que nos provea el servicio de captura y visualización de datos, en este tutorial se ha elegido Ubidots por se una plataforma fácil de configurar y que provee una plantilla de código para trabajar con las placas basadas en el Soc ESP8266 o ESP32.

Protocolo MQTT

MQTT es un protocolo abierto el cual posibilita la comunicación entre sí y continua de dos o más

dispositivos enfocado directamente en la conectividad M2M (Machine-to-Machine) que opera con una 

arquitectura publicación-suscripción tal como se ve en la siguiente figura.Para el ejemplo a desarrollar

el cliente que publica es la placa Node MCU, el broker sera Ubidots y la visualización sera por medio

del dash board de Ubidots.

 

MQTT utiliza el paradigma de publicación-suscripción que refiere a que cualquiera de los clientes

puede suscribirse a determinados tópicos o temas y de esta misma manera cualquiera podrá publicar.


Placa NodeMCU

Para poder trabajar con la plataforma NodeMCU ESP8266 en el IDE de Arduino, es necesario

instalar el compilador para las plataformas basadas en el microcontrolador ESP8266, el siguiente

video muestra como se hace la configuración del IDE y la programación de prueba en la placa.

 

 


 

Broker MQTT Ubidots

Ubidots es una iniciativa colombiana para la elaboración de sistemas basados en el internet 

de las cosas.

Ubidots logró convertir su emprendimiento de servicios de monitoreo remoto en una startups que

recibió el apoyo de Mass Challenge - una de las mayores aceleradoras de empresas emergentes del

mundo-, logró levantar un millón de dólares de inversión entre Medellín y Silicon Valley y lanzó

un producto que hoy se usa en más de 160 empresas en todo el mundo. Ubidots ha logrado 

posicionarse al punto de tener una comunidad de más de 40.000 desarrolladores y presencia en países

como Argentina, Brasil, EE. UU., Inglaterra, Israel, Australia.

(https://www.rutanmedellin.org//es/tendencias/item/ubidots-la-startup-local-que-conecta-datos-de-todo-el-mundo)

El circuito de prueba empleado se indica en la siguiente figura, es importante indicar que las placas

basadas en el ESP8266 trabajan a 3.3 voltios.

El montaje también puede realizarse con la placa WeMos D1 o Mini. 

El video que esta a continuación indica el procedimiento para conectar la Placa NodeMCU con

Ubidots.


El código de prueba se deja a continuación, en el video muestra como se configura TOKEN y la 

red WiFi

/****************************************
* Include Libraries
****************************************/
#include "UbidotsESPMQTT.h"
/****************************************
* Define Constants
****************************************/
#define TOKEN " " // Your Ubidots TOKEN
#define WIFINAME " " //Your SSID
#define WIFIPASS " " // Your Wifi Pass
Ubidots client(TOKEN);
/****************************************
* Auxiliar Functions
****************************************/
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Mensaje recibido [");
Serial.print(topic);
Serial.print("] ");
for (int i=0;i<length;i++) {
Serial.print((char)payload[i]);
}
Serial.println();
}
/****************************************
* Main Functions
****************************************/
void setup() {
// put your setup code here, to run once:
//client.ubidotsSetBroker("industrial.api.ubidots.com"); // Sets the broker properly for the industrial account
client.setDebug(true); // Pass a true or false bool value to activate debug messages
Serial.begin(115200);
client.wifiConnection(WIFINAME, WIFIPASS);
client.begin(callback);
}
int i=0;
void loop() {
//put your main code here, to run repeatedly:
if(!client.connected()){
client.reconnect();
}
if(i<100){
float value1 = analogRead(A0);//Lectura analogo
client.add("var_pot01", value1);//El cliente agrega una variable
client.ubidotsPublish("prueba");//Colocar el nombre de dipositivo
client.loop();
i++;
delay(2000);
}


 

 

 

 

 

miércoles, 28 de abril de 2021

Instalación de ActiveMQ en Linux

 ActiveMQ

Instalación de ActiveMQ

En esta publicación se describirá como se realiza la instalación de ActiveMQ en el sistema operativo Linux.

La instalación se realizo sobre un distribución basada en Ubuntu específicamente Pop! OS  

El siguiente video explica el proceso de instalación y prueba realizado.


Descarga

La descarga se puede realizar desde la pagina principal del proyecto y desde la pagina de downloads de Apache.

La descarga descarga y descompresión desde el terminal se realiza con las siguientes instrucciones

wget http://www.apache.org/dist//activemq/5.16.1/apache-activemq-5.16.1-bin.tar.gz


tar -zxvf apache-activemq-5.16.1-bin.tar.gz

 

La URL empleada en el terminal accede a el enlace de downloads de Apache. En caso de dar error en la descarga por no encontrar la versión esta se puede revisar en el enlace de downloads. 

 

Configuración

Teniendo ya la carpeta con las archivos de ActiveMQ se procede a configurar el permiso de ejecución y según las necesidades el cambio de parámetros en el archivo de configuración env.

El archivo de ejecución de ActiveMQ esta en la carpeta bin dentro de la carpeta que se ha descomprimido. 

 

Ruta de la carpeta bin
 

Las instrucciones empleadas en el terminal son las siguientes, tal como se muestra en el video. 

 

cd apache-activemq-5.16.1/bin


ls -l


chmod 755 activemq


ls -l

  

El archivo de configuración también se encuentra dentro de la carpeta bin, para visualizar y editar se emplearon cat (visualizar) y vi (editar).

 

cat env


vi env

 

Es importante tener una versión actualizada de Java instalada, para saber sobre que versión se dispone se emplea la siguiente instrucción. 


java -version

 

Para ver la ayuda de ActiveMQ se ejecuta la siguiente instrucción. 

 

 ./activemq -help

 

Los siguientes enlaces contienen información adicional sobre las instrucciones empleadas en el terminal .

Prueba

La prueba del broker se realiza desde el terminal ademas de poderse emplear el browser para la viusalizacion del estado de los mensajes enviados y recepcionados. La siguiente imagen muestra las instrucciones empleadas desde el terminal para la realizacion de la prueba.


 Las intrucciones de prueba tal como se emplean en el video son las siguietes:

./activemq start 

./activemq bstat 

./activemq producer 

./activemq consumer 

./activemq stop     

La URL local que se crea al inicial el broker es   http://127.0.0.1:8161/admin/ y tiene por defecto como usuario admin y password admin. La siguiente figura muestra la pagina que debe ser visualizada en el broker.

Si el broker no es inicializado con la intruccion ./activemq start no se se podra acceder a la URL


 

viernes, 17 de abril de 2020

Simulación ALU 74181 con circuit Verse

Simulación de la ALU 74181 desde Circuit Verse

Esta simulación corresponde a la versión con entradas activas bajas de los registros A y B .


viernes, 28 de febrero de 2020

Ejemplos con el decodificador 74ls138

Ejemplos de circuitos lógicos con el decodificador 74ls138

Simulador CircuitVerse

  • Es un proyecto opensource que permite simular desde circuitos digitales simples hasta el diseño de un CPU completa.
  • Es necesario registrarse para conservar los circuitos realizados




Ejemplo de decodificador de para display de 7 segmentos



viernes, 11 de octubre de 2019

Simulación Compuertas Logicas

Simulador CircuitVerse

  • Es un proyecto opensource que permite simular desde circuitos digitales simples hasta el diseño de un CPU completa.
  • Es necesario registrarse para conservar los circuitos realizados

Compuertas Lógicas Básicas y Complementarias

 

Compuertas Universales

miércoles, 3 de octubre de 2018

Instalacion de Red Node en Linux MInt

Instalación de Red Node en Linux Mint




Red Node es un entorno de programación  gráfico por medio de diagramas de flujo.Red Node es 
especialmente util para la realización de aplicaciones para la Internet de las cosas IOT.



Un aspecto interesante es que está soportado en la Raspberry Pi.

Instalación del manejador de versiones para NodeJS

El primer paso para poder instalar Red Node es tener instalado NodeJS.
La instalación de NodeJS se puede hacer por medio del NVM (Node Version Manager), 
así que primero instalamos el NVM desde un terminal.

Para la instalación del NVM es necesario tener curl
$sudo apt-get install curl python-software-properties
Teniendo instalado curl instalamos el NVM desde github
$curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
Colocamos la variable de entorno para el NVM
$source ~/.profile

Vemos el listado de las versiones de NodeJS para instalar
$nvm ls-remote


Instalación de NodeJS

Aquí se instalara la ultima versión que hay hasta la fecha por medio del manejador de versiones
NVM
$nvm install v10.11.0
Para verificar la versión activa de NodeJS hacemos
$node --version

Instalación del Manejador de paquetes para NodeJS

El siguiente paso previo a la instalación de Red Node es tener instalado el manejador de paquetes 
NPM (Node Package Manager)
$sudo apt-get install npm

Verificamos la version del npm instaldo
$npm -v

Instalación de Red Node

Se instala Red Node por medio del NPM
$sudo nmp install -g --unsafe-perm node-red node-red-admin

Abrimos el puerto 1880 para Red Node
$sudo ufw allow 1880
Ejecutamos Red Node
$node-red
En el navegador abrimos el servidor que está corriendo en la dirección
http://127.0.0.1:1880/

Referencias