Programación en Electrónica Industrial
Programación en Electrónica Industrial
PROGRAMABLE E
INSTRUMENTACIÓN
Clase 2
• fernando.navarrete05@[Link]
2
Reglas de la clase
Práctica la puntualidad
Respeta el turno de
Mantén todos tus
participación
sentidos activos
3
Contenido
Electrónica Programable e Instrumentación (EEA403)
4
Contenido Unidad 1
Electrónica Programable e Instrumentación (EEA403)
5
Presentación
• Introducción a Lenguaje
programación “C”.
• Variables de
programación “C”
• Estructura de
programación
6
Índice de contenidos
• Introducción a lenguaje programación “c”.
7
Recordando
Según la clase anterior, vamos a recordar algunos conceptos aprendidos
8
Recordando
Según la clase anterior, vamos a recordar algunos conceptos aprendidos
• Algoritmos: Los algoritmos no tienen que ver con los lenguajes de programación, dado
que un mismo algoritmo o diagrama de flujo puede representarse en diversos
lenguajes de programación, es decir, se trata de un ordenamiento previo a la
programación
• Los diagramas de flujo: son esquemas que representan gráficamente un algoritmo por
medio de los pasos de un proceso, que se realizan para entender mejor al mismo y son
utilizados en programación, economía y procesos industriales.
9
Recordando
• 1.- Vamos a calcular promedio con 5 notas y discriminar si alumno aprueba con
nota igual o mayor a 4, pero cuando se escriba una nota superior a 7 deberá enviar
un error.
10
Tema 2 Lenguaje
programación “c”
• Visual Estudio: Visual Studio
Code es un editor de código
fuente desarrollado por
Microsoft para Windows,
Linux, macOS, y Web.
Incluye soporte para la
depuración, control
integrado de Git, resaltado
de sintaxis, finalización
inteligente de código,
fragmentos y refactorización
de codigo
11
Tema 2 Lenguaje
programación “c”
Visual Estudio: Visual Studio Code
“Lenguajes de programación”
12
Tema 2 Lenguaje
programación “c”
• El lenguaje C: C evolucionó de dos
lenguajes de programación
anteriores: BCPL y B; dicha evolución
estuvo acargo de Dennis Ritchie en
los laboratorios Bell y, en 1972 se
implementó en una computadora
DEC PDP-11.
• Es ampliamente utilizado en el
desarrollo de diferentes programas y
para sistemas embebidos (Deitel,
2008).
13
Tema 2 Lenguaje
programación “c”
• Diferencia de lenguaje C y C++:
Caracteristica C C++
Orientación a objetos NO SI
Soporte Biblioteca NO SI (Incluye bibliotecas de C)
Sintaxis Similar a c++ Similar a C, con extras
Gestión de memorias Manual Manual y automatica
Nivel de abstracción Bajo Alto
Uso principal Programación Basica Programación orientada a objetos
En resumen, C++ es una extensión del lenguaje C que agrega características orientadas a
objetos y funcionalidades adicionales. Si bien ambos lenguajes son ampliamente utilizados, la
elección entre C y C++ depende de los requisitos del proyecto y las preferencias del
programador.
14
Tema 2 Lenguaje
programación “c”
• Funciones de programación
• - `printf()`: para imprimir datos en la consola.
• - `scanf()`: para leer datos de la consola.
• - `getchar()`: para leer un solo carácter de la consola.
• - `puts()`: para imprimir una cadena de caracteres en la consola.
• - `gets()`: para leer una cadena de caracteres de la consola.
• - `strlen()`: para obtener la longitud de una cadena de
caracteres.
• - `strcpy()`: para copiar una cadena de caracteres.
• - `strcat()`: para concatenar dos cadenas de caracteres.
• - `strcmp()`: para comparar dos cadenas de caracteres.
• - `malloc()`: para asignar memoria dinámicamente.
• - `free()`: para liberar memoria asignada dinámicamente.
• - `rand()`: para generar números aleatorios.
• - `time()`: para obtener el tiempo actual.
• - `sleep()`: para pausar la ejecución del programa durante un
tiempo determinado.
15
Tema 2 Lenguaje
programación “c”
• Variables de programación “c”
• - `int`: para representar números enteros.
• - `float`: para representar números de punto flotante (decimales).
• - `double`: para representar números de punto flotante de doble precisión.
• - `char`: para representar caracteres individuales.
• - `char[]` o `string`: para representar cadenas de caracteres.
• - `bool`: para representar valores booleanos (verdadero o falso).
• - `void`: para representar la ausencia de tipo o valor.
16
Tema 2 Lenguaje programación “c”
• Programa simple:
• Línea 1 Directiva del C y se denotan con símbolo #, indica que se incluya la libreria “stdio.h” estándar de
entrada/salida, y al incluirla podemos hacer uso de la función “printf()” para mostrar un mensaje.
• Línea 4, función de inicio de todos los programas en C, función “main()” es donde se escribe todo el código del
programa a desarrollar. Se especifica entre los símbolos de llaves ( { } ).
• Línea 7 despliega el mensaje de saludo. Nótese que al final se encuentra el símbolo ”\n” que indica un salto de
línea al término del mensaje. Cada instrucción debe finalizar con punto y coma ( ; )
17
Tema 2 Lenguaje programación “c”
• Variables: La variables en C pueden ser letras y números, también se puede utilizar el guion
bajo ( _ ).
• Sin embargo, no se puede utilizar un número al inicio del nombre de una variable.
• Además, es importante declarar el tipo de variable, por ejemplo, int, float, char, etc; seguido
de su nombre y su valor.
Ejemplo:
• Línea 5, variable “numeroEntero” de tipo entero (int), con
valor 5.
• Línea 6, variable “numeroDecimal” tipo punto flotante
(float) con valor 2.8.
• Línea 7, una variable c tipo caracter (char) cuyo valor será
el símbolo ʻaʼ.
• Es importante destacar que los caracteres se declaran con
comillas simple (ʻ ʼ).
• Línea 8, se declara un arreglo de caracteres con la variable
“nombre[]”
quecontendrá el valor “Alejandro”.
• Un arreglo es una estructura de datos,
que pueden tener una cierta longitud y guardan valores de un
mismo tipo.
18
Tema 2 Lenguaje programación “c”
• Variables: La función “printf()” contiene un mensaje y una variable a mostrar, es
importante indicar el tipo de variable que se mostrará a la salida, como se observa
en el código %d, %f, %c y %s indican que las variables que se van mostrar son
entero, flotante, carácter y cadena de caracteres, respectivamente.
• Por ejemplo, en la línea 10, el mensaje a mostrar será “Número entero %d\n”, el
símbolo %d indica que en esta posición se mostrará el valor de una variable de tipo
entero y, tal variable a mostrar, se expresa como un argumento de la función
“printf” luego del mensaje y después de una coma ( , ), es decir, la variable numero
Entero.
19
Tema 2 Lenguaje programación “c”
• Operadores: Los operadores aritméticos en “C” se resumen en la siguiente tabla:
20
Tema 2 Lenguaje programación “c”
Leer y escribir: Para leer podemos hacer uso de la función “scanf()”.
En su utilización, debe indicarse el tipo de variable a leer y el
nombre de la variable donde se guardará la información.
21
Tema 2 Lenguaje programación “c”
22
Tema 2 Lenguaje programación “c”
Condicional If-else: En la línea 5, se declara la variable de punto flotante
“nota”.
En la línea 6, se imprime un mensaje al usuario.
En la línea 7, se lee una entrada de tipo punto flotante y se guarda en la posición
de memoria de la variable “nota”, esto se indica con el símbolo “&” antes del
nombre de la variable.
En la línea 9, se declara la condición lógica, observe que tal condición debe estar
entre paréntesis ( ). Además, las instrucciones que se ejecutarán cuando la
condición sea verdadera deben estar dentro de las llaves que le siguen a la
declaración condicional.
En la línea 13, se colocan la instrucción que se ejecutarán cuando la condición sea
falsa (“else”).
23
Tema 2 Lenguaje programación “c”
24
Tema 2 Lenguaje programación “c”
• Condicional multiple - switch: La instrucción “switch”, evalúa una variable y
• de acuerdo a su valor, ejecutará casos.
25
Tema 2 Lenguaje programación “c”
26
Tema 2 Lenguaje programación “c”
• Estructura repetitiva: for: La estructura “for”, permite ejecutar un cierto
código un número determinado de veces.
27
Tema 2 Lenguaje programación “c”
28
Conclusiones
• En la clase de hoy logramos conocer la diferencia entre lenguaje de
programación en c y c++
29
Muchas gracias por su atención
30
ELECTRÓNICA
PROGRAMABLE E
INSTRUMENTACIÓN
Clase 3
32
Tema 3 Lenguaje programación
“c” MPLAB
• El MPLAB incluye:
• Un editor de texto.
• Un ensamblador llamado MPASM.
• Un simulador llamado MPLAB SIM.
• Un organizador de proyectos
33
Tema 3 Lenguaje programación
“c” MPLAB
• El MPLAB
34
Tema 3 Lenguaje programación
“c” MPLAB
• EL MPLAB
35
Tema 2 Lenguaje programación
“c” MPLAB
• Ventajas de MPLAB
36
Tema 3 Lenguaje programación
“c” MPLAB
• Importancia de MPLAB en el desarrollo
de aplicaciones:
37
PIC 16F877
El PIC 16F877 es un microcontrolador de la
familia PIC de Microchip Technology. Pertenece
a la serie PIC16F y es ampliamente utilizado en
aplicaciones industriales, de automatización,
electrónica de consumo y muchos otros
campos.
38
PIC 16F877
Características principales del PIC 16F877:
• Variables numéricas:
40
Tema 3 Lenguaje programación
“c” MPLAB
• En MPLAB, puedes programar una
amplia variedad de Variables
• Variables numéricas:
41
Tema 3 Lenguaje programación
“c” MPLAB
Variables de caracteres:
- `char`: Representa un carácter individual.
- `char[]` o `string`: Representa una cadena de caracteres.
Variables de bits:
42
Tema 3 Lenguaje programación
“c” MPLAB
Es un programa que corre bajo
Windows, Mac OS y Linux, posee
editor de texto, compilador y
simulación. Para comenzar un
programa desde cero
para luego grabarlo al μC en
MPLAB® los pasos son:
44
Tema 3 Lenguaje programación
“c” MPLAB
Entorno de desarrollo de
programación MPLAB:
45
Tema 3 Lenguaje programación
“c” MPLAB
Entorno de desarrollo de
programación MPLAB:
46
Tema 3 Lenguaje programación
“c” MPLAB
Entorno de desarrollo de
programación MPLAB:
Seleccionar Compilador
47
Tema 3 Lenguaje programación
“c” MPLAB
Entorno de desarrollo de
programación MPLAB:
Seleccionar PIC
48
Tema 3 Lenguaje programación
“c” MPLAB
Entorno de desarrollo de
programación MPLAB:
49
Tema 3 Lenguaje programación
“c” MPLAB
Entorno de desarrollo de
programación MPLAB:
Se crea el proyecto
50
Tema 3 Lenguaje programación
“c” MPLAB
Entorno de desarrollo de
programación MPLAB:
51
Tema 3 Lenguaje programación
“c” MPLAB
Entorno de desarrollo de programación
MPLAB:
52
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de desarrollo de programación
MPLAB:
53
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de desarrollo de programación
MPLAB:
Funciones
54
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de desarrollo de programación
MPLAB:
Funciones
55
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de desarrollo de programación
MPLAB:
56
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de desarrollo de programación
MPLAB:
57
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de desarrollo de programación
MPLAB:
58
Tema 3 Lenguaje programación “c”
MPLAB
Interfaz Proteus:
59
Tema 3 Lenguaje programación “c”
MPLAB
Interfaz Proteus:
60
Tema 3 Lenguaje programación “c”
MPLAB
Interfaz Proteus:
61
Tema 3 Lenguaje programación “c”
MPLAB
Interfaz Proteus:
62
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
63
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
64
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
65
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
PANTALLA PRINCIPAL
66
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
MENÚ ARCHIVO
El menú Archivo contiene
todas las funcionalidades
típicas de este menú. Desde
aquí se puede crear un
proyecto nuevo, abrir
proyectos existentes,
acceder a los ejemplos
predefinidos, guardar el
proyecto actual.
67
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
MENÚ ARCHIVO
El menú Programa contiene
todas las operaciones y
funcionalidades que se
pueden llevar a cabo con
el proyecto que tenemos
actualmente cargado en
el entorno de desarrollo..
68
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
MENÚ HERRAMIENTAS
El menú Herramientas permite el acceso y
configuración de elementos ajenos al entorno de
desarrollo. Los elementos más comunes que se
utilizan de este menú son:
69
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
MENÚ HERRAMIENTAS
70
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
ESTRUCTURA DE UN PROGRAMA
71
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
72
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
73
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
74
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
75
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
76
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
pinMode(3, OUTPUT);
En lugar de utilizar el valor 3, en el siguiente ejemplo te
mostramos como utilizar la constante que hemos definido
previamente:
pinMode(VERDE, OUTPUT);
77
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
78
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
DIGITALWRITE:
En el siguiente ejemplo se envía el valor HIGH al pin
número 3, es decir, quiero activar el dispositivo conectado
al pin 3, en este caso, encender el led conectado al pin 3:
digitalWrite(3, HIGH);
Utilizando la constante que hemos definido previamente:
digitalWrite(VERDE, HIGH);
79
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
analogWrite(3, 120);
Utilizando la sentencia con la constante que hemos
definido previamente:
analogWrite(VERDE, 120);
80
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
DELAY
delay(500);
81
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
82
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
83
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
int VariableEjemplo = 0;
VariableEjemplo = 3 + 5;
84
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
EJEMPLODE PROGRAMACIÓN
DEL ARDUINO UNO:
Utilizando la función de
temporización, encender
y apagar los diferentes
leds, con intervalos de
tiempo diferentes
conectados a los puertos
digitales del Arduino
85
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
EJEMPLODE PROGRAMACIÓN
DEL ARDUINO UNO:
#define GREEN 5
void setup()
{
pinMode(GREEN,OUTPUT); este programa hará
digitalWrite(GREEN,LOW); que el LED
} conectado al pin 5
void loop() de la placa Arduino
{ parpadee en un
digitalWrite(GREEN, HIGH); ciclo de encendido
delay(1000); y apagado de 1
digitalWrite(GREEN, LOW); segundo cada uno.
delay(1000);
}
86
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
EJEMPLODE PROGRAMACIÓN
DEL ARDUINO UNO:
87
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
EJEMPLODE PROGRAMACIÓN
DEL ARDUINO UNO:
88
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
EJEMPLODE PROGRAMACIÓN
DEL ARDUINO UNO:
If(digitalRead(5)==HIGH)
{
digitalWrite(VERDE) = HIGH;
}
else
{
digitalWrite(ROJO) = HIGH;
}
89
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
EJEMPLODE PROGRAMACIÓN
DEL ARDUINO UNO:
90
Tema 3 Lenguaje programación “c”
MPLAB
Entorno de Desarrollo del Arduino Uno
CÓDIGO FUENTE
#define RED 13
#define GREEN 12 void loop()
#define BUTTON 4 {
void setup() if(digitalRead(BUTTON)==
{ LOW)
pinMode(RED,OUTPUT); {
pinMode(GREEN,OUTPUT) digitalWrite(GREEN,LOW);
; digitalWrite(RED,HIGH);
pinMode(BUTTON,INPUT); }
} else
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
}
91
Tema 3 Lenguaje programación “c”
MPLAB
MUCHAS GRACIAS
92