0% acharam este documento útil (0 voto)
21 visualizações4 páginas

Relatorio I2C

O documento descreve um experimento utilizando o protocolo I2C para comunicação entre dois Arduinos UNO, destacando sua simplicidade e baixo custo. O objetivo é entender a comunicação bit a bit, onde um Arduino envia dados e o outro os recebe e exibe. O experimento ilustra a implementação prática do I2C, incluindo o código necessário e as limitações de armazenamento da variável utilizada.

Enviado por

smfgiordano
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
21 visualizações4 páginas

Relatorio I2C

O documento descreve um experimento utilizando o protocolo I2C para comunicação entre dois Arduinos UNO, destacando sua simplicidade e baixo custo. O objetivo é entender a comunicação bit a bit, onde um Arduino envia dados e o outro os recebe e exibe. O experimento ilustra a implementação prática do I2C, incluindo o código necessário e as limitações de armazenamento da variável utilizada.

Enviado por

smfgiordano
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Física Para Sistemas Embarcados – Turma MA3B

Experimento I2C

Nomes: Antonio Mello Babo RA00275072

Lucas Benicio Lima RA00275010

Stefano Martins Ferreira Giordano RA00277890

Introdução:

O protocolo I2C descreve o funcionamento do barramento de comunicação serial que


utiliza dois fios, foi inventado pela Phillips, com o funcionamento de 100kHz. Este
protocolo atualmente ainda é muito utilizado devido ao seu baixo custo e simplicidade. A
sua comunicação é síncrona e enviada de acordo com um sinal de clock, por isso os dois
fios, sendo um responsável por transmitir o sinal de clock e um para a transmissão de
dados, onde a comunicação é enviada bit a bit (Um bit por vez).

Objetivo:

Entender como a comunicação I2C funciona, neste caso em dois Arduinos UNO.

Metodologia:

Este experimento consiste em observar a partir da serial port como é feito um exemplo de
conexão bit a bit entre dois Arduinos. Sendo que teremos um Arduino emissor de dado)
e um usado para receber e exibir os dados(Servo). Para este experimento precisamos de :

- 2 Arduinos

- 3 Jumpers
Imagem 1 – Circuito I2C montado com 2 Arduinos

O circuito consiste em ligar os dois cabos requeridos pelo I2C nas entradas analógicas,
(neste caso nas duas A4 e A5) e conectados ambos Arduinos no mesmo aterramento, ou
seja, no mesmo GND.
O código do Arduino transmissor inclui um begin da biblioteca Wire, onde ele inicia a
comunicação pelo endereço 8, depois envia sinal de 5 bytes da string e mais o valor de x
em um byte, para a transmissão de dados e há um incremento no valor de x, esperando
assim mais 500ms para continuar enviando dados.

O código do Arduino servo começa também com a conexão no endereço 8, após isto
registra o evento de recebimento dos dados e inicia a comunicação na porta serial 9600
para dispor os dados na tela.

A função de receber evento verifica as conexões disponíveis(string), faz as leituras das


mesmas e depois printa a variável, isto ocorre pelo fato de uma string ser uma cadeia de
caracteres, é preciso criar um loop para mostrarmos na tela o texto “x is ”. Depois é feita
a leitura do valor de x, e a mesma é printada no terminal em conjunto cm uma quebra de
linha.
Imagem 2 – Como o monitor Serial fica após a execução do circuito

Obs: devido ao tamanho da armazenagem da variável, o x consegue chegar até o valor de


255 e depois ocorre o overflow, o tamanho da variável é de 1 byte (8 bits) sendo assim o
valor máximo é de 2^8 – 1.

Conclusão:

Com estes experimentos foi possível enxergar de maneira mais palpável de como uma
comunicação I2C funciona entre componentes eletrônicos, sendo possível observar a
fundo como é possível realizar uma comunicação bit a bit com um Arduino e a biblioteca
wire.

Referência:

https://www.tinkercad.com/things/7X52fyEszq9-i2c

Você também pode gostar