Você está na página 1de 28

Programação Aplicada â Engenharia

Unidade 9. Comunicação Serial & Arduino

Prof. Luis Fernando Espinosa Cocian


Unidade 9.
Comunicação Serial & Arduino

Engenharia Elétrica
Engenharia de Processamento Digital I 1
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino

CONTEÚ DOS
9.1. INTRODUÇÃ O

Prof. Luis Fernando Espinosa Cocian


9.1.1. CONEXÕ ES
9.1.2. RS-232C
9.1.3. USB
9.4. ARDUINO
9.4.1. PROGRAMAÇÃ O
9.4.2. TINKERCAD
9.5. PROGRAMAÇÃ O DAS PORTAS SERIAIS NO WINDOWS

2
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino

9.1. INTRODUÇÃ O
9.1.1. CONEXÕ ES
9.1.2. RS-232C
9.1.3. USB

Prof. Luis Fernando Espinosa Cocian


9.2. ARDUINO
9.2.1. PROGRAMAÇÃO
9.2.2. TINKERCAD
9.3. PROGRAMAÇÃ O DAS PORTAS SERIAIS NO WINDOWS

9.1.
INTRODUÇÃ 3

O
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.1. Introdução

CONEXÕES

Prof. Luis Fernando Espinosa Cocian


4
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.1. Introdução

PACOTE DE DADOS – RS232C

Prof. Luis Fernando Espinosa Cocian


5
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.1. Introdução

OUTROS PADRÕES DE HARDWARE

Prof. Luis Fernando Espinosa Cocian


6
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.1. Introdução

USB

Prof. Luis Fernando Espinosa Cocian


7
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino

9.1. INTRODUÇÃO
9.1.1. CONEXÕ ES
9.1.2. RS-232C
9.1.3. USB

Prof. Luis Fernando Espinosa Cocian


9.2. ARDUINO
9.2.1. PROGRAMAÇÃO
9.2.2. TINKERCAD
9.3. PROGRAMAÇÃ O DAS PORTAS SERIAIS NO WINDOWS

9.2.
ARDUINO 8
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.2. Arduino

PC & ARDUINO (ET ALI)

Prof. Luis Fernando Espinosa Cocian


9
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.2. Arduino

ARDUINO

Prof. Luis Fernando Espinosa Cocian


10
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.2. Arduino

CONECTANDO O ARDUINO À PORTA USB DO PC

Prof. Luis Fernando Espinosa Cocian


11
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.2. Arduino

CONECTANDO O ARDUINO À PORTA USB DO PC


(2)

Prof. Luis Fernando Espinosa Cocian


12
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.2. Arduino

PROGRAMAÇÃO DO ARDUINO

Prof. Luis Fernando Espinosa Cocian


13
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.2. Arduino

SIMULADOR DA TINKERCAD - AUTODESK

Prof. Luis Fernando Espinosa Cocian


14
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.2. Arduino

EXERCÍCIO 1

Elabore um programa para Arduino que escreva um contador de

Prof. Luis Fernando Espinosa Cocian


milissegundos de 0 a 10 segundos e o envie pelo canal serial.
Verifique o resultado no simulador e logo depois no monitor serial do
programador Arduino

15
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.2. Arduino

Prof. Luis Fernando Espinosa Cocian


16
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.2. Arduino

Prof. Luis Fernando Espinosa Cocian


17
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.2. Arduino

EXERCÍCIO 2

Elabore um programa para Arduino que funcione como um repetidor

Prof. Luis Fernando Espinosa Cocian


serial, ou seja, para cada letra enviada para o Arduino ele repete a
mesma de volta como um eco.
O Arduino só deve responder quando for requisitado. Se não
requisitado fica em silêncio.
Verifique o resultado no simulador e logo depois no monitor serial
do programador Arduino

18
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.2. Arduino

Prof. Luis Fernando Espinosa Cocian


19
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.2. Arduino

Prof. Luis Fernando Espinosa Cocian


20
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino

9.1. INTRODUÇÃO
9.1.1. CONEXÕ ES
9.1.2. RS-232C
9.1.3. USB

Prof. Luis Fernando Espinosa Cocian


9.2. ARDUINO
9.2.1. PROGRAMAÇÃO
9.2.2. TINKERCAD
9.3. PROGRAMAÇÃ O DAS PORTAS SERIAIS NO WINDOWS

9.3.
PROGRAMAÇÃ O DAS PORTAS SERIAIS 21

NO WINDOWS
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.3. Portas Seriais no Windows

ABRINDO UMA PORTA SERIAL NO WINDOWS


HANDLE hSerial;
wchar_t port[6] = {L"COMX"};

Prof. Luis Fernando Espinosa Cocian


port[3] = ‘7’;
hSerial = CreateFile(port, GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);

22
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.3. Portas Seriais no Windows

CONFIGURANDO OS PARÂMETROS DE
COMUNICAÇÃO
DCB dcbSerialParams = {0};

Prof. Luis Fernando Espinosa Cocian


dcbSerialParams.DCBlength = sizeof(dcbSerialParams);
GetCommState(hSerial, &dcbSerialParams);
dcbSerialParams.BaudRate = CBR_9600;
dcbSerialParams.ByteSize = 8;
dcbSerialParams.StopBits = ONESTOPBIT;
dcbSerialParams.Parity = NOPARITY;
SetCommState(hSerial, &dcbSerialParams);

23
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.3. Portas Seriais no Windows

CONFIGURANDO OS TIMEOUTS

COMMTIMEOUTS timeouts = {0};

Prof. Luis Fernando Espinosa Cocian


timeouts.ReadIntervalTimeout = 50;
timeouts.ReadTotalTimeoutConstant = 50;
timeouts.ReadTotalTimeoutMultiplier = 10;
timeouts.WriteTotalTimeoutConstant = 50;
timeouts.WriteTotalTimeoutMultiplier = 10;
SetCommTimeouts(hSerial, &timeouts);

24
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.3. Portas Seriais no Windows

ENVIANDO DADOS PELO CANAL SERIAL


char TxBuff [12] = {“Hello World”};
unsigned int TotalBytesaEnviar = 12;

Prof. Luis Fernando Espinosa Cocian


unsigned long BytesEnviados;

WriteFile(hSerial, &TxBuff, TotalBytesaEnviar,


&BytesEnviados, NULL);

25
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.3. Portas Seriais no Windows

ESPERANDO DADOS PELO CANAL SERIAL


char RxBuff [12];
unsigned int TotalBytesaReceber = 12;

Prof. Luis Fernando Espinosa Cocian


unsigned long BytesRecebidos;

ReadFile(hSerial, &RxBuff, TotalBytesaReceber,


&BytesRecebidos, NULL);

26
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino 9.3. Portas Seriais no Windows

LIBERANDO A PORTA SERIAL PARA OUTROS


PROGRAMAS
CloseHandle (hSerial);

Prof. Luis Fernando Espinosa Cocian


27
Programação Aplicada â Engenharia
Unidade 9. Comunicação Serial & Arduino

Prof. Luis Fernando Espinosa Cocian


Unidade 9.
Comunicação Serial & Arduino

Engenharia Elétrica
Engenharia de Processamento Digital I 28

Você também pode gostar