Skip to content

Commit ea49c6e

Browse files
committed
Inclusão das mensagens para RTC.
1 parent 1f49cd0 commit ea49c6e

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

CristalLiq-serial/CristalLiq-serial.ino

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,31 @@
66
* e o Arduino via porta serial sobre USB, utilizando a classe `SerialProtocol` para cuidar da transmissão dos quadros.
77
*
88
* @section features_sec Funcionalidades
9-
* - Exibição de mensagens em _display_ LCD de 4 linhas.
10-
* - Emissão de sinais sonoros via _buzzer_.
119
* - Recepção de comandos da TV-Box por meio de protocolo serial sobre USB.
10+
* - Exibição das mensagens no _display_ LCD de 4 linhas.
11+
* - Emissão de sinais sonoros via _buzzer_.
12+
* - Ajuste e leitura do RTC.
1213
*
1314
* @section arch_sec Arquitetura
1415
* O sistema é dividido em:
1516
* - `CristalLiq-serial.ino`: ponto de entrada e lógica principal.
1617
* - `frame.h/.cpp`: implementação da classe SerialProtocol.
17-
* - `SerialProtocol`: abstração do protocolo de comunicação.
18+
* - `SerialProtocol`: protocolo de comunicação _master/slave_ por serial sobre USB.
1819
*
1920
* @section usage_sec Uso
20-
* 1. Carregue o código no Arduino Nano com o Arduino IDE.
21-
* 2. Conecte o _display_ LCD de 4 linhas e o _buzzer_.
21+
* 1. Carregar o código no Arduino Nano com o Arduino IDE.
22+
* 2. Conectar o _display_ LCD de 4 linhas, o _buzzer_ e o RTC.
2223
*
2324
* @section img_sec Máquina de Estado do protocolo
2425
* !![Máquina de Estados](MaquinaEstadoProtocolo.png)
2526
*/
2627

2728
/**
2829
* @file CristalLiq-serial.ino
29-
* @brief O Arduino Nano gerencia tanto a exibição no Display de quatro linhas quanto o buzzer.
30+
* @brief O Arduino Nano gerencia a exibição no Display de quatro linhas, o acionamento do _buzzer_ e o ajuste e leitura do RTC.
3031
*
3132
* O Arduino Nano comunica-se por via serial sobre USB com a TV-Box. O protocolo de comunicação está na classe SerialProtocol.
32-
* São mensagens de quadro encapsuladas com os caracteres '<' e '>'. No interior do quadro é possível usar o caracter de escape para '\<', '\>' e '\\'.
33+
* São mensagens de quadro encapsuladas com os caracteres '<' e '>'. No interior do quadro é possível usar o caracter de escape para: '\<', '\>' e '\\'.
3334
* A semântica das mensagens é específica para a aplicação IFSPresente.
3435
* Há seis tipos de mensagens.
3536
* * <100,0,0> --> PING
@@ -38,16 +39,15 @@
3839
* * <400,TEXTO,TIMEOUT> --> SPEAKER (Linha 2, para nome do palestrante)
3940
* * <500,TEXTO,TIEMOUT> --> ATTENDEE (Linha 3, aponta participante registrado
4041
* * <600,0,0> --> SUCCESS (Beep de sucesso no registro)
41-
* * <601,0,0> --> FAIL (Beep de falha no registro)
42-
42+
* * <601,0,0> --> FAIL (Beep de falha no registro)
43+
* * <700,HH:MM:SS,0> --> SETTIME (Define a hora do RTC)
44+
* * <701,0,0> --> GETTIME (Recebe a hora do RTC)
4345
* Outras aplicações podem definir outros modelos de mensagens nos quadros do protocolo.
4446
*/
4547

46-
47-
4848
#include <Wire.h> // Biblioteca utilizada para fazer a comunicação com o I2C
4949
#include <LiquidCrystal_I2C.h> // Biblioteca utilizada para fazer a comunicação com o display 20x4
50-
#include "frame.h"
50+
#include "frame.h" // Implementação da classe SerialProtocol
5151

5252
#define PING 100
5353
#define TIME 200
@@ -56,6 +56,8 @@
5656
#define ATTENDEE 500
5757
#define SUCCESS 600
5858
#define FAIL 601
59+
#define SETTIME 700
60+
#define GETTIME 701
5961

6062
#define BUZZER 2 // Pino digital ligado ao buzzer
6163

@@ -64,8 +66,8 @@
6466
#define ADDRESS 0x27 // Serve para definir o endereço do display.
6567
#define DISPLAY_UPDATE_DELAY 500
6668
#define LOOP_DELAY 10
67-
#define KEEP_AT_ZERO 1
68-
#define KEEP_AT_LAST 1
69+
#define KEEP_AT_ZERO 1
70+
#define KEEP_AT_LAST 1
6971

7072
struct ProtocolMessage {
7173
int code;

0 commit comments

Comments
 (0)