Electrónica y programación para Microcontroladores.

Cursos técnicos para electrónica programable

Mapa
Estamos en

Urquiza 1695, Entre Ríos, Gualeguaychú

Email
Contactanos

consultas@firteconline.com.ar

Arduino

Todo programador de Arduino alguna vez ha usado la clásica función Serial.available() para saber cuando hay datos en el puerto serial, esta función junto con Serial.begin() y Serial.print() nos dan las herramientas necesarias para establecer comunicación por ejemplo con un computador y ver los datos en el propio terminal de Arduino.
Un ejemplo sería enviar un carácter y pedirle a Arduino que lo devuelva como un eco.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*******************************************************************
 * Descripción: Recibe datos por la UART y los envía como un eco.               
 * Placa Arduino: UNO
 * Arduino IDE: 1.8.10
 * www.firtec.com.ar
*******************************************************************/
void setup() {
    Serial.begin(9600); 	 // Configura la UART
 }
void loop() { 
  if (Serial.available()){		    // Hay datos disponibles?
     char RX_Byte = Serial.read();	// Leer el carácter recibido
     Serial.print(RX_Byte); 		// Enviar nuevamente el caracter
   }
  }

En la actualidad en casi cualquier publicación de electrónica vamos a encontrar la palabra Arduino y seguramente encontrará muchas personas que dirán “Nunca antes trabajar con microcontroladores fue tan simple”.
Y esto claro es verdad, pero desde el punto de vista electrónico que es en realidad Arduino?
Tomemos como ejemplo Arduino UNO y vemos que todo lo que hace el “Sistema Arduino” es cubrir el ATmega328P con una capa que hace mas simple su uso.
Por debajo de esta capa se encuentra el mismo conjunto de registros, las mismas estructuras básicas de un programa para microcontroladores incluso usa los mismos compiladores como es el caso de GCC.

(En realidad para programar Arduino se necesitan avr-binutils, avr-gcc y avr-libc, todas estas herramientas ya están incluidas en el IDE de Arduino y su funcionamiento es trasparente al programador).

Nextion es probablemente una de las mejores opciones para crear proyectos con electrónica. No solamente son compatibles con Arduino, Raspberry PI, Atmel, Microchip, ARM, etc, sino que además podemos utilizarlos de forma independiente contando la propia placa con una serie de pines de uso general incluso un RTC para sistemas de adquisición de datos. Para crear una interfaz en una pantalla Nextion usaremos el editor Nextion, un software provisto por el propio fabricante que hace la tarea del diseño realmente simple.
Una vez que tenemos todo los elementos de la interfaz desplegados en la pantalla se envía la programación a la propia pantalla usando una simple conexión serial.
Este editor de Nextion es la mejor solución, en realidad casi la única para crear proyectos con estas pantallas inteligentes.
Lamentablemente solo existe en versión para Windows que se descarga a través del enlace oficial de Nextion.

Que es el CAN BUS (Controller Area Network).

Desde mediados de los años 90 en todos los vehículos los sistemas de motor y transmisión se han basado en una red de sensores que envían información a la computadora de abordo, de esta forma se ajusta la cantidad de combustible, los cambios en la transmisión y en general todo lo que hace al funcionamiento del vehículo.

Pero fue recién a mediados del 2000 que los sistemas evolucionaron para incluir el CAN BUS.
Este bus usa el método de transmisión broadcast, es decir, un elemento envía un mensaje a través del bus a todos los componentes, y estos se encargan de saber si la información del mensaje le es útil o no. Si el mensaje fuese de interés para algún nodo, este lo almacena y procesa, si no, simplemente la deshecha.

En este escenario podemos ver que la “Unidad de control 2″, envía el mensaje que tenía almacenado en memoria al bus, y todas las demás unidades ven ese mensaje a sus entradas. Sin embargo la “Unidad de control 3″ deshecha este mensaje en la etapa de “Selección”, mientras que las restantes deciden que es apropiado y lo almacenan.