-
Notifications
You must be signed in to change notification settings - Fork 0
/
bibliotecas.h
122 lines (104 loc) · 3.7 KB
/
bibliotecas.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#ifndef BIBLIOTECAS_H
#define BIBLIOTECAS_H
#include <stdio.h>
#include <stdint.h>
#include <Arduino.h>
#include <math.h>
#include <ArduinoJson.h>
#include <LiquidCrystal.h>
#include <SPI.h>
#include "status.h"
#include "PINOUT.h"
#include "botao.h"
#include "tela.h"
#include "timers.h"
#include "motor.h"
#include "controle.h"
#include "AS5047P.h"
//--------------------------------------------------------------------------------------------------------
//definições
#define S_ENCODER_AS5047
//idef usados para a escolha do encoder
#define POSICAO_SUP_LIMITE 9300//5800
#define POSICAO_INF_LIMITE 6900//2800
//limites para angulos do encoder
#define ALARM_DESLIGADO 0//set sistema desligado
#define ALARM_LIGADO 1//set sistema ligado
#define ALARM_PRESSAO_ALTA 2//inspiração
#define ALARM_PRESSAO_BAIXA 3//inspiração
#define ALARM_ALTA_PEEP 4//expiração
#define ALARM_VAZAMENTO 5//inspiração
#define ALARM_VOLUME_MAX 6//inspiração_pressão
//alarmes podem ser encontrados no timer.cpp
#define T_DEAD_TIME_MOTOR 350
#define T_PERIODO_DA_RAMPA 5
#define T_DEBOUNCE_BOTOES 5
//tempo de contadores auxiliares, como no caso debounce para botões e
//dead time para motor
#define T_PERIODO_IHM 50
#define T_PERIODO_SERIAL 300
#define T_PERIODO_SENSOR_INDUTIVO 4
//periodo de repetição para as funções serial e ihm
#define MODO_OPERACAO_VOLUME 0
#define MODO_OPERACAO_PRESSAO 7
//modos de operação de nosso respirador
//os mesmo são usados no controle (controle.cpp)
//tem um if de comparação na função de expiração
#define D_ROTACAO_0_SUBIDA 0
#define D_ROTACAO_1_DESCIDA 1
//sentidos de rotação
#define BTN_VERDE 'g'
#define BTN_DIREITA 'd'
#define BTN_BAIXO 'b'
#define BTN_CIMA 'c'
#define BTN_VERMELHO 'r'
#define BTN_ESQUERDA 'e'
//definições dos botões para tela.cpp
// telas
#define D_TELA_CONFIG_0 '0'
#define D_TELA_CONFIG_1 '1'
#define D_MENU_PRESSAO '2'
#define D_MENU_VOLUME '3'
#define D_MENU_PEEP '4'
#define D_MENU_CALIBRA '5'
#define D_TELA_INICIAL '6'
#define D_TELA_COLLAB '9'
//definições das telas
// SET
#define D_INCREMENTO 1
#define D_DECREMENTO 2
//usados para a seleção de botões, onde o botrão de cima
//simboliza incremento
//e o botão de baixo
//simboliza decremento
// LIMITES das variáveis da IHM INF e SUP
#define L_VOLUME_SUP 300
#define L_VOLUME_INF 150
//limites para ovolume que se encontra na inspiração
#define L_PEEP_SUP 25
#define L_PEEP_INF 0
//limites para a pressão peep (pressão minima)
#define L_PRESSAO_SUP 50
#define L_PRESSAO_INF 6
//limites para a pressão que se encontra na inspiração
#define L_PROP_RESP_SUP 30
#define L_PROP_RESP_INF 10
//proproção de ciclo respiratório
// (INSPIRAÇÃO + PAUSA ) / EXPIRAÇÃO
#define L_TEMP_INSP_SUP 1800
#define L_TEMP_INSP_INF 900
//tempo limite para inspiração, chamado de temp_insp + temp_pause,
//no controle a contagem é feita apenas do tempo onde o motor
//se encontra dewscendo com a válvula fechada, mas na IHM
//este valor incrementa a pausa expiratória
//(ocorre na função expiração, mas faz parte do ciclo de inspiração)
#define L_TEMP_EXP_SUP 5000
#define L_TEMP_EXP_INF 1000
//tempo limite para expiração, chamado de exp_ocioso,
//onde o motor sobe com a válvula aberta
#define L_PAUSE_EXP_SUP 500
#define L_PAUSE_EXP_INF 100
//tempo onde o motor fica parado com a válvula fechada
//(ocorre na função expiração, mas faz parte do ciclo de inspiração)
//----------------------------------------------------------------------------------------------------------------
#endif