Cuaderno 2 - EL DISEÑO ESTRUCTURAL (Una Introducción Básica)
Aguijón: Introducción Básica
Transcript of Aguijón: Introducción Básica
![Page 1: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/1.jpg)
Aguijón: Introducción Básica
![Page 2: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/2.jpg)
• Diseñar aplicaciones embebidas utilizando las librerías HammerHead.
• Conocer de una mejor manera la arquitectura de hardware en el Aguijón.
• Conocer los alcances que implica el utilizar una plataforma de desarrollo profesional de alto desempeño.
Al finalizar este curso, podrás:
Aguijón ; introducción básica 2
![Page 3: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/3.jpg)
• Diseño de Hardware• Bloques funcionales• Herramientas de desarrollo• Introducción a las librerías HammerHead• Sumario
Aguijón ; introducción básica 3
![Page 4: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/4.jpg)
Diseño de hardware
![Page 5: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/5.jpg)
Manufactura
Aguijón ; introducción básica 5
![Page 6: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/6.jpg)
• Integridad de señal
• Distribución de potencia
• Inmunidad al ruido
• Componentes SMT
Aguijón ; introducción básica 6
![Page 7: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/7.jpg)
• Kit con maleta ergonómica, transformador de pared de +12VDC y desarmador reversible incluidos.
Aguijón ; introducción básica 7
![Page 8: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/8.jpg)
• Diseño compacto, fabricado con tecnología SMT• Cuenta con los módulos necesarios para realizar una
diversidad de proyectos.
Aguijón ; introducción básica 8
![Page 9: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/9.jpg)
Microchip PIC24F
Aguijón ; introducción básica 9
![Page 10: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/10.jpg)
• Procesador de 16 bits• 128KB Flash• 16KB RAM• 5 módulos PWM• 6 timers• 3 módulos SPI• 3 módulos I2C• RTCC• Pines re‐asignables
Aguijón ; introducción básica 10
![Page 11: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/11.jpg)
Bloques Funcionales ‐ Salidas
![Page 12: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/12.jpg)
Salidas en Relevador
Aguijón ; introducción básica 12
![Page 13: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/13.jpg)
• 4 Salidas en relevador tipo "C " @10amp
• +12VDC ó GND disponibles para conmutar al pin común
• LEDs indicadores de estado para cada salida
Aguijón ; introducción básica 13
![Page 14: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/14.jpg)
Jumpers E2‐E6 Pin común del relevador:
Configuración de los relevadores
1‐2 GND
2‐3 +12VDC
Abierto Abierto
Aguijón ; introducción básica 14
![Page 15: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/15.jpg)
Salidas en Colector Abierto
Aguijón ; introducción básica 15
![Page 16: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/16.jpg)
• 4 Salidas con capacidad de 500mA
• +12VDC en 4 borneras adicionales
• LEDs indicadores de estado para cada salida
Aguijón ; introducción básica 16
![Page 17: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/17.jpg)
Puerto de LEDs
Aguijón ; introducción básica 17
![Page 18: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/18.jpg)
• Puerto de 8 bits dedicado
Aguijón ; introducción básica 18
![Page 19: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/19.jpg)
Buzzer
Aguijón ; introducción básica 19
![Page 20: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/20.jpg)
• Controlado por PWM
• Frecuencia nominal de 2.4kHz
• Capaz de generar distintos tonos
Aguijón ; introducción básica 20
![Page 21: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/21.jpg)
Bloques Funcionales ‐ Entradas
![Page 22: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/22.jpg)
Entradas Opto‐aisladas
Aguijón ; introducción básica 22
![Page 23: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/23.jpg)
• 4 Entradas con modo de operación configurable• LEDs indicadores de estado• Entrada externa de voltaje de hasta 48VDC
Aguijón ; introducción básica 23
![Page 24: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/24.jpg)
Aguijón ; introducción básica 24
Positive VoltageSource
E1A E1B J1C J1D VIN IN+ IN‐
2‐3 5‐6 NC 7‐8 NC +Source Return
Current sink toreturn
E1A E1B J1C J1D VIN IN+ IN‐
2‐3 5‐6 5‐6 NC NC Sink Return
Externally WettedContacts
E1A E1B J1C J1D VIN IN+ IN‐
NC NC NC 7‐8 NC 1+ 1‐
Dry contactspositive common
E1A E1B J1C J1D VIN IN+ IN‐
2‐1 5‐4 5‐6 NC NC IN‐ IN+
Dry contacts returncommon
E1A E1B J1C J1D VIN IN+ IN‐
2‐1 5‐4 NC 7‐8 IN+ VIN NC
![Page 25: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/25.jpg)
DIP SW + Teclado
Aguijón ; introducción básica 25
![Page 26: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/26.jpg)
• DIP SW y teclas compartidas
• Se leen 12 entradas con 6 pines (4 para leer y 2 de control)
• DIP switch de 8 posiciones
• 4 Teclas en tablilla
Aguijón ; introducción básica 26
![Page 27: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/27.jpg)
MSB_CTRL LSB_CTRL Estado:
1 1 A
1 0 B
0 1 C
0 0 D
Tabla de Estados:
A = Teclas habilitadas y DIP SW deshabilitadoB = Teclas deshabilitadas y LSB habilitadoC = Teclas deshabilitadas y MSB habilitadoD = Lectura inválida
Aguijón ; introducción básica 27
![Page 28: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/28.jpg)
Entrada Analógica
Aguijón ; introducción básica 28
![Page 29: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/29.jpg)
• Ganancia unitaria o ajustable• Conversión digital de 10 bits, vref = +3.3V• Protección contra sobre voltaje• Potenciómetro en tablilla para atenuar +3.3V o un voltaje
externo
Aguijón ; introducción básica 29
![Page 30: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/30.jpg)
Jumper E2A Jumper E2B Ganancia Entrada analógica RV1
1‐2 5‐6Unitaria
Externa Atenúa señal externa
2‐3 5‐6 Interna (+3.3V) Atenúa +3.3V
1‐2 4‐5 Ajustable con RV2
Externa Atenúa señal externa
2‐3 4‐5 Interna (+3.3V) Atenúa +3.3V
Aguijón ; introducción básica 30
![Page 31: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/31.jpg)
Bloques Funcionales
![Page 32: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/32.jpg)
Display LCD
Aguijón ; introducción básica 32
![Page 33: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/33.jpg)
• LCD ‐ COG con interfaz I2C de hasta 400kHz
• 2 renglones x 20 columnas
• Intensidad de backlightajustable por PWM
• Comparte bus I2C con la EEPROM
Aguijón ; introducción básica 33
![Page 34: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/34.jpg)
EEPROM
Aguijón ; introducción básica 34
![Page 35: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/35.jpg)
• Capacidad de 127 Bytes• Comparte bus I2C con la LCD
Aguijón ; introducción básica 35
![Page 36: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/36.jpg)
RS232C
Aguijón ; introducción básica 36
![Page 37: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/37.jpg)
• Driver: MAX3221• 110 – 115200 bps• Recepción de datos controlada por interrupción (usando
HammerHead)
Aguijón ; introducción básica 37
![Page 38: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/38.jpg)
USB
Aguijón ; introducción básica 38
![Page 39: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/39.jpg)
• Conector tipo ‘A’ permite actuar como ‘HOST’ o ‘DEVICE’• Switching Regulator para generar +5VDC de salida al conector
(modo HOST)• Puede ser usado como programador (bootloader)
Aguijón ; introducción básica 39
![Page 40: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/40.jpg)
Herramientas de Desarrollo
![Page 41: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/41.jpg)
Aguijón ; introducción básica 41
![Page 42: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/42.jpg)
Aguijón ; introducción básica 42
![Page 43: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/43.jpg)
HammerHead
![Page 44: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/44.jpg)
• Librerías de control de Vinagrón Digital (Open Source)
• Tamaño compacto(< 10KB)
• Soporte para todos los bloques funcionales
• Incluye funciones de inicialización, lectura, escritura y control general
Aguijón ; introducción básica 44
![Page 45: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/45.jpg)
Aplicación HammerHead
Entradas
Salidas
Comunicación
LCD
Aguijón ; introducción básica 45
![Page 46: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/46.jpg)
• Cada módulo cuenta con su propia librería, que consta de dos archivos; un «*.c» y «*.h»
Aguijón ; introducción básica 46
![Page 47: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/47.jpg)
• Cada archivo ‘*.c’ incluye:– Inicialización – Lectura – Escritura – Control General
• Los archivos ‘*.h’ incluyen:– Prototipos de funciones– Definiciones– Macros
• Archivo ‘BSP.h’ global:– Incluye definiciones de pines
• Archivo ‘aguijon.h’ global:– Incluye ‘BSP.h’– Incluye el header del
procesador– Incluye STDIO y STDLIB– Incluye GenericTypeDefs de
Microchip– Incluye definiciones de delay
Aguijón ; introducción básica 47
![Page 48: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/48.jpg)
Aguijón ; introducción básica 48
![Page 49: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/49.jpg)
• Functions:– PREFIJO_CamelCase void ADC_Init(void);
• Variables:– Externas: PREFIJO_CamelCase extern int ADC_Lectura;– Globales: CamelCase int ConversionTemp = 0;– Locales: mixedCase static int mathVariable = 0;
• Defines:– #define ADC_MAX_VALUE 0x03F6
• Macro:– Macro_Call();
• Typedefs:– Prefijo_Nombre_t
Aguijón ; introducción básica 49
![Page 50: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/50.jpg)
#ifndef ANALOG_H#define ANALOG_H
#define ADC_MAX_VALUE 0x03F6#define ADC_MIN_VALUE 0x00
/* Function prototypes*/void ADC_Init (void);int ADC_Read (void);int ADC_Range (int min_val, int max_val);
#endif /* ANALOG_H */
Aguijón ; introducción básica 50
![Page 51: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/51.jpg)
#ifndef ANALOG_H#define ANALOG_H
#define ADC_MAX_VALUE 0x03F6#define ADC_MIN_VALUE 0x00
/* Function prototypes*/void ADC_Init (void);int ADC_Read (void);int ADC_Range (int min_val, int max_val);
#endif /* ANALOG_H */
Include Guard
Aguijón ; introducción básica 51
![Page 52: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/52.jpg)
#ifndef ANALOG_H#define ANALOG_H
#define ADC_MAX_VALUE 0x03F6#define ADC_MIN_VALUE 0x00
/* Function prototypes*/void ADC_Init (void);int ADC_Read (void);int ADC_Range (int min_val, int max_val);
#endif /* ANALOG_H */
Definiciones
Include Guard
Aguijón ; introducción básica 52
![Page 53: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/53.jpg)
#ifndef ANALOG_H#define ANALOG_H
#define ADC_MAX_VALUE 0x03F6#define ADC_MIN_VALUE 0x00
/* Function prototypes*/void ADC_Init (void);int ADC_Read (void);int ADC_Range (int min_val, int max_val);
#endif /* ANALOG_H */
Prototipos de funciones
Definiciones
Include Guard
Aguijón ; introducción básica 53
![Page 54: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/54.jpg)
#include "aguijon.h"#include "analog.h"
///////////////////////////////////////void ADC_Init(void){
AD1PCFG = 0x7FFF; //select RB15(AN15) as analog inputAD1CON1 = 0x00E0; //auto start conversionAD1CON2 = 0; // use AVDD, AVSS as reference pinsAD1CON3 = 0x1F02; // Tsamp = 32 x Tad; Tad=125nsAD1CSSL = 0; // no scanning requiredAD1CON1bits.ADON = 1; // turn on the ADC
}
Aguijón ; introducción básica 54
![Page 55: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/55.jpg)
HammerHead ‐ Funciones
![Page 56: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/56.jpg)
Entradas («inputs.h»)
Aguijón ; introducción básica 56
![Page 57: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/57.jpg)
Aguijón ; introducción básica 57
![Page 58: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/58.jpg)
Entradas («inputs.c»)
Aguijón ; introducción básica 58
![Page 59: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/59.jpg)
void DIPSW_Config(int config){switch(config){
case DIPSW_ENABLE_MSB_CMD:DIPSW_ENABLE_MSB_PIN = 0;DIPSW_ENABLE_LSB_PIN = 1;break;
case DIPSW_ENABLE_LSB_CMD:DIPSW_ENABLE_MSB_PIN = 1;DIPSW_ENABLE_LSB_PIN = 0;break;
case DIPSW_DISABLE_CMD:DIPSW_ENABLE_LSB_PIN = 1;DIPSW_ENABLE_MSB_PIN = 1;break;
}}
Aguijón ; introducción básica 59
![Page 60: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/60.jpg)
Aguijón ; introducción básica 60
![Page 61: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/61.jpg)
if((DIPSW_Read() & 0x01) == 0x01){ LED_Set(1,ON); }
while(DIPSW_Read() > 120){ dato++; }
unsigned char variable = 0;
variable = DIPSW_Read();
Aguijón ; introducción básica 61
![Page 62: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/62.jpg)
PORTB:
1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 0
DIP + Teclas
Aplicamos una máscara
0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
Y construímos un byte (>>10), al terminar lo guardamos en una variable
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1
PORTB:
Aguijón ; introducción básica 62
![Page 63: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/63.jpg)
PORTB:
1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1
DIP + Teclas
Aplicamos una máscara
0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
Y construímos un byte (>>10), al terminar lo guardamos en una variable
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
PORTB:
Aguijón ; introducción básica 63
![Page 64: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/64.jpg)
0 0 0 0 0 0 1 0
MSB
0 0 1 0 0 0 0 0
MSB << 4
Return var:
0 0 1 0 0 1 0 1
MSB LSB
Resultado final = msb | lsb
Aguijón ; introducción básica 64
![Page 65: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/65.jpg)
Aguijón ; introducción básica 65
![Page 66: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/66.jpg)
Aguijón ; introducción básica 66
![Page 67: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/67.jpg)
Aguijón ; introducción básica 67
![Page 68: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/68.jpg)
if((SW_ReadPort() & 0x01) == 0x01){ RS232_Send(0x01); }if((IN_ReadPort() & 0x0F) == 0x0F){ RS232_Send(0x0F); }
unsigned char tecla = 0;unsigned char entrada = 0;
tecla = SW_Read();entrada = IN_Read();
if(tecla == 1){RLY_Set(1,ON);
}
Aguijón ; introducción básica 68
![Page 69: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/69.jpg)
Salidas («outputs.h»)
Aguijón ; introducción básica 69
![Page 70: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/70.jpg)
Aguijón ; introducción básica 70
![Page 71: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/71.jpg)
Salidas («outputs.c»)
Aguijón ; introducción básica 71
![Page 72: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/72.jpg)
Aguijón ; introducción básica 72
![Page 73: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/73.jpg)
Aguijón ; introducción básica 73
![Page 74: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/74.jpg)
Aguijón ; introducción básica 74
![Page 75: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/75.jpg)
Aguijón ; introducción básica 75
![Page 76: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/76.jpg)
Aguijón ; introducción básica 76
![Page 77: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/77.jpg)
if(LED_Get(1) == OFF){ LED_Set(1,ON);}if(OC_Get(4) == ON) { OC_Set(4,OFF);}
for(i=1 ; i<=4 ; i++){if(RLY_Get(i) == OFF){
RLY_Set(i,ON);}else{
RLY_Set(i,OFF);}
}
OC_PWMChannelConfig(2);OC_PWMSet(200,50); //200uS( 5kHz) period @ 50% dutyOC_PWMSet(100,75); //100uS(10kHz) period @ 75% duty
Aguijón ; introducción básica 77
![Page 78: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/78.jpg)
Aguijón ; introducción básica 78
![Page 79: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/79.jpg)
BUZZER_On(333,5); //333uS( 3kHz) period @ 5% dutyBUZZER_On(200,50); //200uS( 5kHz) period @ 50% dutyBUZZER_On(100,75); //100uS(10kHz) period @ 75% duty
BUZZER_Off();
Aguijón ; introducción básica 79
![Page 80: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/80.jpg)
Analógico («analog.h»)
Aguijón ; introducción básica 80
![Page 81: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/81.jpg)
Aguijón ; introducción básica 81
![Page 82: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/82.jpg)
Analógico («analog.c»)
Aguijón ; introducción básica 82
![Page 83: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/83.jpg)
Aguijón ; introducción básica 83
![Page 84: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/84.jpg)
Aguijón ; introducción básica 84
![Page 85: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/85.jpg)
ADC_Init();OC_PWMChannelConfig(1);
int variable = 0;
variable = ADC_Range(5,95);
OC_PWMSet(400,variable);
Aguijón ; introducción básica 85
![Page 86: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/86.jpg)
EEPROM(«EEPROM.h»)
Aguijón ; introducción básica 86
![Page 87: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/87.jpg)
Aguijón ; introducción básica 87
![Page 88: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/88.jpg)
EEPROM(«EEPROM.c»)
Aguijón ; introducción básica 88
![Page 89: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/89.jpg)
Aguijón ; introducción básica 89
![Page 90: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/90.jpg)
Aguijón ; introducción básica 90
![Page 91: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/91.jpg)
RS232(«RS232.h»)
Aguijón ; introducción básica 91
![Page 92: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/92.jpg)
Aguijón ; introducción básica 92
![Page 93: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/93.jpg)
RS232(«RS232.c»)
Aguijón ; introducción básica 93
![Page 94: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/94.jpg)
Aguijón ; introducción básica 94
![Page 95: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/95.jpg)
Aguijón ; introducción básica 95
![Page 96: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/96.jpg)
Aguijón ; introducción básica 96
![Page 97: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/97.jpg)
RS232_Init();
RS232_Send(0xFF);RS232_Send(0xAA);RS232_Send(23);
RS232_PutStr("Vinagron Digital is the best");RS232_PutStr("Aguijon; introduccion basica");
int variable = 0;
variable = RS232_Read();
Aguijón ; introducción básica 97
![Page 98: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/98.jpg)
LCD(«LCD.h»)
Aguijón ; introducción básica 98
![Page 99: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/99.jpg)
Aguijón ; introducción básica 99
![Page 100: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/100.jpg)
LCD(«LCD.c»)
Aguijón ; introducción básica 100
![Page 101: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/101.jpg)
Aguijón ; introducción básica 101
![Page 102: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/102.jpg)
Aguijón ; introducción básica 102
![Page 103: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/103.jpg)
Aguijón ; introducción básica 103
![Page 104: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/104.jpg)
Aguijón ; introducción básica 104
![Page 105: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/105.jpg)
IO_I2Cinit();LCD_Init1();LCD_SetBacklight(BLIGHT_LVL_4);LCD_SetBacklight(BLIGHT_LVL_1);
const char VDcustomChar1[] = {0x04, 0x0C, 0x1C, 0x14, 0x1C, 0x0C, 0x0E, 0x0F };
LCD_StoreCustomChar(VDcustomChar1,1);
LCD_PutStr(1,0,"Vinagron Digital",TRUE);LCD_PutStr(2,0,"HammerHead v1.0" ,FALSE);
Aguijón ; introducción básica 105
![Page 106: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/106.jpg)
IO(«IO.h»)
Aguijón ; introducción básica 106
![Page 107: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/107.jpg)
Aguijón ; introducción básica 107
![Page 108: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/108.jpg)
IO(«IO.c»)
Aguijón ; introducción básica 108
![Page 109: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/109.jpg)
Aguijón ; introducción básica 109
![Page 110: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/110.jpg)
BSP(«BSP.h»)
Aguijón ; introducción básica 110
![Page 111: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/111.jpg)
Aguijón ; introducción básica 111
![Page 112: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/112.jpg)
Aguijón («aguijon.h»)
Aguijón ; introducción básica 112
![Page 113: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/113.jpg)
Aguijón ; introducción básica 113
![Page 114: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/114.jpg)
• Aguijón:– Cuenta con los módulos
necesarios para una diversidad de proyectos.
– Microcontrolador de 16 bits.– Reprogramable vía USB.– Expandible.– Puntas de prueba facilitan la
visualización de protocolos.
Aguijón ; introducción básica 114
• Librerías de software:– Facilitan la implementación
de diversos bloques funcionales.
– Open Source.
![Page 115: Aguijón: Introducción Básica](https://reader035.fdocuments.ec/reader035/viewer/2022080202/62e75b8a8ad0b87a0826270a/html5/thumbnails/115.jpg)
¡Gracias!
Hojas de retroalimentación