Esquema i2c arduino

#include
#include
byte a;
const int i2cMaster = 0x38; // endereço pcf8574ap master
const int i2cSlave1 = 0x39; // endereço pcf8574ap slave

LiquidCrystal_I2C lcd1(i2cMaster,16,2);

void setup()
{
lcd1.init();
Wire.begin();
lcd1.backlight();
lcd1.print("labdegaragem.com");
delay(500);
}

void loop()
{
Wire.requestFrom(i2cSlave1, 1);
if (Wire.available()){
a = Wire.receive();
}
lcd1.print(int(a));
delay(10);
lcd1.clear();

}

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Eduardo castellani em 16 novembro 2013 às 11:53

Oi Cleimar tudo bem?

Ali no esquema, tem o segundo  PCF8574AP como 0x39 slave, MAS ele esta com varias saidas ligadas ao GND?

Porque?

Poderei usar essas portas também? e sabe de algum tutorial de uns 3 ARDUINOS ligados em serie?

Abraço e obrigado

Comentário de João Alexandre Silva Guedes em 16 março 2012 às 12:17

Agora sim (eu acho) ....

então sobre testar ainda não tenho condições ... 

na verdade estou montando um projeto, mas antes estou juntando informações para saber se será possível ...

e esse era um dos problemas ....

valeu !!

Comentário de Cleimar Vidal em 16 março 2012 às 12:10

Ola João, de uma olhada em /libraries/Wire/utility/twi.c

parte onde se configura a porta e essa

 #if defined(__AVR_ATmega168__) || defined(__AVR_ATmega8__) || defined(__AVR_ATmega328P__)
    // activate internal pull-ups for twi
    // as per note from atmega8 manual pg167
    sbi(PORTC, 4); ///###Porta SDA
    sbi(PORTC, 5); //###Porta SCL
  #else
    // activate internal pull-ups for twi
    // as per note from atmega128 manual pg204
    sbi(PORTD, 0);
    sbi(PORTD, 1);
  #endif

So alterar aqui   

para arduino com ATmega168, ATmega8, ATmega328

sbi(PORTC, 4); ///###Porta SDA
sbi(PORTC, 5); //###Porta SCL

outros Atmega so por no laço else

bom nao sei se vai funcionar trocando a porta, (nao testei)

mais tenta ai e da um retorno com sua experiência!

* nao tenho certeza mais suponho que deve funcionar com um shield usando a mesma porta...

ainda nao utilizei nenhum shield, mais ele conecta em endereços diferentes so se o endereço do shield for igual que voce esta usando... posso ta falando besteira... ai teria que ver quem conhece mais a fundo do negocio!

ainda sou um mero iniciante rssss

boa sorte!

Forte abraço amigo!

Comentário de João Alexandre Silva Guedes em 16 março 2012 às 11:30

Cleimar ... obrigado pela resposta ....

mas e se eu quiser acessar por outra porta, pelo simples motivo de estar usando um shield que utiliza estar portas ou coisa parecida .... é possível alterar a biblioteca?

Comentário de Cleimar Vidal em 15 março 2012 às 14:27

Ola João Alexandre Silva Guedes !

A biblioteca wire se encarrega disso ela acessas estas portas analógicas por padrão!

se estiver errado algum amigo me corrija...

da uma olhada aqui num alarme caseiro feito com arduino e protocolo 2c

http://jovensinventores.com.br/archives/107

Comentário de João Alexandre Silva Guedes em 15 março 2012 às 14:15

Olá pessoal ...

sou novo no forum ... desde já desculpe qualquer pergunta repetida ... ainda não seu como pesquisar corretamente dentro do forum ....

minha dúvida é o seguinte:

onde no codigo acima eu especifico que estou utilizando as portas analogicas pin 4 e 5?

agradeço pela atenção ....

Comentário de Camilo de Lellis Barreto Junior em 12 janeiro 2012 às 13:19

Muito bom cara!

Publicidade

Convide um amigo para o Lab!

 Loja Lab de Garagem

curso gratis de arduino

Printrbot
Impressora 3D

Por: R$ 3499,00

Ou em até 18x de R$ 233,19

Android 4.2 Mini PC

Por: R$ 345,00

Ou em até 18x de R$ 22,99

Acelerômetro de três eixos
ADXL335 - 5V

Por: 86,00

Ou em até 18x de R$ 5,73

Kit Robô
seguidor de linha

Por: R$ 360,00

Ou em até 18x de R$ 23,99

© 2014   Criado por Marcelo Rodrigues.

Badges  |  Relatar um incidente  |  Termos de serviço