Go Down

Topic: Ligar 2 RFID ID-20 em um único arduíno (Read 1 time) previous topic - next topic

Boa noite pessoal,

alguém poderia me explicar como eu poderia ligar 2 leitores RFID num único arduíno. Eu não preciso saber qual dos leitores fez a leitura, digamos que um seria uma extensão do outro. Como fazer isso da forma mais simples possível?

Wagner Sartori Junior

Um você liga no serial normal no pino 0(rx) do seu arduino e configura a 9600, o outro vc configura usando software serial(é serial emulado no software).

use a library http://arduiniana.org/libraries/newsoftserial/.


Um você liga no serial normal no pino 0(rx) do seu arduino e configura a 9600, o outro vc configura usando software serial(é serial emulado no software).

use a library http://arduiniana.org/libraries/newsoftserial/.



Certo Wagner, acho que vai resolver meu atual problema. Mas qual forma teria caso eu quisesse ligar "n" equipamentos seriais a uma única porta serial?

Wagner Sartori Junior

Isto é bem complicado. compra um mega2560 e vc iria ter 3 portas seriais para utilizar.

as alternativas que eu conheço são(todas complicadas):
- vc pode multiplexar a porta serial: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1227219928
- colocar diversos microcontroladores como attiny2313 ou atmega328p mesmo e interligar no arduino utilizando bus I2C ou SPI
- um IC que possa fazer a ponte UART <-> I2C/SPI: http://ics.nxp.com/products/bridges/i2c.spi.slave.uart.irda.gpio/


Isto é bem complicado. compra um mega2560 e vc iria ter 3 portas seriais para utilizar.

as alternativas que eu conheço são(todas complicadas):
- vc pode multiplexar a porta serial: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1227219928
- colocar diversos microcontroladores como attiny2313 ou atmega328p mesmo e interligar no arduino utilizando bus I2C ou SPI
- um IC que possa fazer a ponte UART <-> I2C/SPI: http://ics.nxp.com/products/bridges/i2c.spi.slave.uart.irda.gpio/



Certo Wagner,

não sei se entendi certinho, mais achei sua segundo opção legal. Será que conseguiria por exemplo usar um único arduíno, e ligar por exemplo todos os meus equipamentos com comunicação serial a um atmega328 e ligá-los à esse arduíno via bus I2C ou SPI? Se sim qual seria mais simples, I2C ou SPI?

Wagner Sartori Junior

para cada porta serial necessária, precisaria de um microcontrolador. o mais simples é o I2C pois só usa 2 pinos para o barramento inteiro. o SPI vc precisaria de 3 + 1 pino para cada equipamento.


para cada porta serial necessária, precisaria de um microcontrolador. o mais simples é o I2C pois só usa 2 pinos para o barramento inteiro. o SPI vc precisaria de 3 + 1 pino para cada equipamento.


Certo Wagner, mas vamos supor que eu não irei utilizar Arduínos, eu utilizaria somente os atmega328. Como ficaria a ligação entre 2 atmega328 via bus I2C? Quais pinos se ligam um ao outro?

Wagner Sartori Junior

O atmega328p é o microcontrolador utilizado pelo arduino uno e duemilanove. A diferença entre o chip virgem e o arduino é o bootloader. Você pode utilizar o atmega328p como se fosse um arduino se queimar o bootloader. Leia mais em http://arduino.cc/en/Tutorial/ArduinoToBreadboard.

Se você tiver 2 arduinos para testar, vc vai ligar os pinos A4 e A5(SDA e SCL) e o GND precisa ser compartilhado entre eles(senão fica sem referência). Você também pode comprar 2 atmega328p DIP e usar os pinos 27(SDA) e 28(SCL).

Aí, utilize a biblioteca Wire para fazer eles conversarem. Entenda como funciona o barramento I2C, vc precisa que um arduino seja master e o outro slave. Sempre precisa de um master, vc poderia ter multi-master mas isto não é suportado pela biblioteca Wire eu acho(pelo menos nunca fiz).

Go Up