Antes de mais... tens de ter em conta o tamanho do programa que vais ter. Muitos periféricos, implicam mais código que pode não caber nalgumas versões do Arduino. O LCD gráfico certamente que ocupará mais espaco que um alfanumérico. Mas isso é passível de ser testado.
Não... o I2C não permite multicast, ou não permitia da última vez que o usei. Logo só comunicas com um de cada vez.
Define o que são circuitos. Só consegues colocar 8 destes chips no mesmo barramento porque como podes ver apenas existem 3 bits para definir a morada de cada um. Se leres o datasheet do chip (http://ww1.microchip.com/downloads/en/devicedoc/21952b.pdf) vais reparar em 3 pinos chamados A0, A1 e A2. Consoante o valor lógico nesses pinos a morada será diferente.
8 chips destes são 128 bits. Se vais precisar de tantas portas de entrada e saída acho que o teu problema vai estar na fonte de alimentacão para tudo isso. Algum motivo em especial para precisares de 128 bits?
O protocolo SPi funciona de maneira diferente. Precisas de três linhas que são comuns a todos os chips nesse barramento e depois precisas de um bit extra por cada dispositivo que tenhas no barramento. Ou seja, para acederes a X chips, precisas de 3 pinos (MISO, MOSI, SCK) mais X pinos de chip select. Não existe limite ao número de dispositivos que podes aceder com SPI, desde que tenhas pinos suficientes para fazer chip selects, memória de programa para aceder a eles e alimentacão para tudo isso.
Um truque para criares chip selects é usar o MCP23017 ou aquilo a que se chama de MUX.
A XBee se me lembro correctamente usa uma USART. Logo podes usar os pinos onde o chip USB está ligado ao controlador do Arduino.
Para ligares o Arduino à net precisas de um chip que faca isso. O meu favorito é o W5100, mas fazer o PCB para ele não é simples. O W5100 precisa de uma ligacão SPI, mas como já disse em cima a limitacão está no tamanho de código que podes ter no micro e numero de linhas para chip select que podes criar.
nunoferreira:
A ideia destas perguntas é tentar perceber até que ponto posso pensar num circuito que me contemple todas estas ligações para adaptar a diferentes contextos!! Se precisar de usar a ligação ethernet na vez do xbee, se precisar de ter um LCD um xbee e uma placa FM (忏
æ¸
ï½è¥¿åäº¤å¤§åæ¸
æ¸
ï½æ±è¥¿æ°ä½åæ¸
æ¸
ï½åä¿¡éé¹äºå工忏
æ¸
ï½åæ¸
æ¸
人åï½åæ¸
æ¸
ç®å).
Acho que estás um pouco mal direccionado. O Arduino é um tanto ou quanto limitado no que toca a dar imensas opcões de interface. Como disse o espaco de memória de programa não é extenso e o número de pinos é algo limitado. Depois quando dizes adaptar a outros contextos que te referes? Ter um placa que te permita fazer uma funcão com diferentes interfaces ou uma placa que te permita fazer várias funcões com vários interfaces?
Se precisas de algo que faca só uma funcão, acredito que consigas algo interessante com o Arduino. Se pretendes fazer algo com várias funcões, se calhar é preferível escolher algo mais modular. A solucão dos shields é boa porque se não precisares de algo, podes remover.
nunoferreira:
No caso do SD, vamos imaginar quero ter um SD, uma RJ45 e um xbee, opções de ligação se forem todos SPI?
Diz-me tu. Já pesquisaste na net?
nunoferreira:
Para o projeto que quero desenvolver estou a usar um arduino para testes das ligações, dispositivos e blocos de código, onde posteriormente vou desenhar um circuito baseado ou num breaduino ou num sanguino(por causa das ligações disponiveis) e aplicar todos os módulos que estou a testar e onde fazem parte a ligação Ethernet, SD, FM, USB, LCD, RTC, Relés! etc...
Se alguém estiver mais por dentro destas questões e puder dar uma ajuda seria excelente.
Obrigado mais uma vez!
Não entendi o que pretendes fazer. Tens uma máquina e queres testar a máquina com um Arduino? Ou queres ter uma placa geral para poderes testar código de interface com vários dispositivos? Se for o segundo caso, creio que o investimento será menor se fizeres algo modular e com shields. Podes também olhar para fora do Arduino e ver placas compatíveis na Olimex ou seeedstudio. Deve haver mais pela net.
Tenta explicar melhor o propósito ou dar um exemplo para ver se entendo melhor o que pretendes e poder esclarecer melhor as limitacões ou vantagens.