Boa pra nós.

Tenho que comunicar um nodemcu,mestre, com dois attyni85, escravos, via protocolo i2c. Devo fazer algo já que os attynis São 5v e o nodemcu é 3.3v?

Exibições: 813

Responder esta

Respostas a este tópico

Estou tendo problemas com esse exemplo, no código do attyni85. A IDE me retora o seguinte erro:

C:\Users\USURIO~2\AppData\Local\Temp\arduino_modified_sketch_982014\sketch_nov10a.ino: In function 'void setup()':

sketch_nov10a:8: error: 'class USI_TWI_S' has no member named 'onRequest'

TinyWireS.onRequest(requestEvent);

^

exit status 1
'class USI_TWI_S' has no member named 'onRequest'

Se eu cometo a linha TinyWireS.onRequest(requestEvent); compila, mas não funfa

[code]
#include "TinyWireS.h"

#define SLAVE_ADDR 0x50

byte byteToSend = 15;

void setup()
{
TinyWireS.begin(SLAVE_ADDR);
//TinyWireS.onRequest(requestEvent);
}


void loop()
{
TinyWireS.send(byteToSend);
delay(1000);
}


[/code]

Achei esta linha na biblioteca: - onReceive and onRequest handlers are not implimented.

Então modifiquei  o código conforme acima. Mas em um intervalo de 3 min o que eu recebi na serial foi:

127
63
31
63
31
63
127
255
255
255
255

o que pode estar errado?

Instalou a bilbioteca TinyWireS ?
Configurou a IDE para ATtiny85 ?

Sim a biblioteca está instalada e a ide configurada.

RH, boa tarde!

Você poderia enviar uma foto ou esquema de como ligou o NODE, o Attiny e o sensor?

Oi RBC, boa tarde.

primeiro para ter certeza que o I2C do Attiny estava funcionando, 

liguei ele no arduino UNO em 5V e carreguei o I2C scanner no UNO.

O UNO identificou-o com o endereço I2C 0x50.

Depois mudei para alimenta-lo com 3V, e ainda assim o UNO conseguiu identificar.

Um detalhe, modifiquei a função  Wire.begin(); para poder rodar no UNO.

Carreguei então o seu code no UNO, e funcionou normalmente, recebendo os valores contantes de 15.

Em seguida carreguei o code no ESP8266, e testei. Funcionou corretamente.

veja tela.

Lembre que eu gravei o bootloader no Attiny com clock de 8MHz, e ao carregar o code, eu selecionei também

a opção de Attiny 8MHz.

Rui

Rui,como vai?

Poderia postar o code que você usou no UNO e no Attiny?

Para ligar o Attiny você precisou de um divisor de tensão?

Grato. 

Oi JAC, vou bem obrigado.

E com você, está tudo em paz?

Posso sim, são estes deste site:

http://www.esp8266.com/viewtopic.php?f=32&t=7524

A única mudança foi ao carregar no UNO eu troquei esta linha:

 Wire.begin(0,2); //set GPIO0 and GPIO2 pins   por esta:   Wire.begin();

Como usei os 3,3V que alimentavam o  ESP para alimentar o Attiny, não foi necessário

o uso de divisor de tensão, já que ambos, attiny e ESP, estavam no mesmo potencial.

Att

Rui

Olá Rui,valeu!

Eu tinha indicado esse site para o RBC fazer a montagem, mas não tinha percebido o code logo abaixo.


RBC, se o Rui conseguiu compilar o code, então existe o método onRequest.

Talvez vc esteja usando uma library defasada.

Tente baixar deste endereço e depois nos diga.

https://github.com/rambo/TinyWire/tree/master/TinyWireS

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço