LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: Marvin em 20 de Agosto de 2011, 17:57
-
Boas,
Precisava de remapear os pinos SPI da arduino, ou fazer o spi em software para usar pinos diferentes dos de hardware. Alguem sabe como fazer isto?
Estou a usar a biblioteca Spi do arduno e já tentei mudar os pinos no Spi.h mas parece-me que não funcionou.
Precisava q o clk, mosi e miso passassem para o pino 4, 2, 3 respectivamente.
Obrigado
-
O mais facil é procurar por SPI bit-bang, o ShiftOut é basicamente um SPI bit-banged só que só serve para enviar, mas com pouco mais código fica a receber e a enviar.
A biblioteca SPI usa o spi por hardware, logo não podes mudar os pinos.
Já agora, porque é que não mudas antes o que quer que te está a ocupar os pinos SPI?
-
Obrigado Senso!
O problema é um shield que adquiri que tem um motor driver e da para ligar um nrf24l01, e os gajos desenharam mal aquilo e usam os pinos de SPI para conduzir o motor... major fuck up. Eu já os avisei, a resposta dos gajos foi para usar SPI por software.
Já agora o shield é este: http://iteadstudio.com/product/ln298-h-bridge-moto-driver-shield-motomama/ (http://iteadstudio.com/product/ln298-h-bridge-moto-driver-shield-motomama/)
-
Mas eles no site até têm lá uma foto com um Nrf ligado..
De certeza que não dá para usar o spi nativo?
-
Do datasheet:
Arduino Socket defination
Pin Description
D0 XBee_Dout/UART_Rx
D1 XBee_Din/UART_Tx
D2 nRF24L01+_MISO
D3 nRF24L01+_MOSI
D4 nRF24L01+_SCK
D5 nRF24L01+_CS
D6 nRF24L01+_CE
Do mail do support:
Hi,
The nRF24L01+ module is operated by GPIO through SPI timing sequence. Not the hardware SPI interface.
De qq forma os pinos usados para controlar o L298H são os mm que o Mosi, Miso e SCK, para mim é falhanço no design.
Ando a tentar dar a volta a isto com bitbang... mas acho q vou ter de acabar por arranjar outra solução.
-
Tens várias bibliotecas SPI bit banged, por isso não é nada que não se arranje.
-
Tens várias bibliotecas SPI bit banged, por isso não é nada que não se arranje.
Exacto. Estou a tentar agora modificar a classe SPI para receber os parametros.
E ao mm tempo estou a desenhar um shield com um design melhor...
-
E já agora não consegues alterar as pistas da shield cortando as existentes e chantando no lugar certo.
-
E já agora não consegues alterar as pistas da shield cortando as existentes e chantando no lugar certo.
Queria evitar danificar a board. Entretanto consegui a comunicação utilizando bit banging por software, tal como Senso tinha mencionado.
-
E já agora não consegues alterar as pistas da shield cortando as existentes e chantando no lugar certo.
Queria evitar danificar a board. Entretanto consegui a comunicação utilizando bit banging por software, tal como Senso tinha mencionado.
Acho que seria mais reparar do que estragar.
-
E já agora não consegues alterar as pistas da shield cortando as existentes e chantando no lugar certo.
Queria evitar danificar a board. Entretanto consegui a comunicação utilizando bit banging por software, tal como Senso tinha mencionado.
Acho que seria mais reparar do que estragar.
é uma board feita profissionalmente com pelo menos 2 camadas silkscreen ,soldermask e uma data de componentes smt e smd, com as minhas "mãozinhas" era o mm q deitar fora o shield. :P
-
Pois então é melhor ficar assim.