Elementos de SPI
SCLK - Serial CLocK
CE - Chip Enable (Chip Select) (Dos puertos CE0 y CE1)
MOSI - Master Out Slave In
MISO - Master In Slave Out
Sin embarho el SPI master driver esta deshabilitado por default en la raspberry, pero es muy fácil habilitarlo, solo tenemos que teclear una línea de código en la consola para quitarlo de la lista negra o bien hacerlo desde raspi-config.
Manual:
-
sudo sed
-
i
's/blacklist spi\-bcm2708/\#blacklist spi-bcm2708/g'
/
etc
/
modprobe.d
/
raspi
-
blacklist.conf
- sudo reboot
Automático:
- sudo raspi-config
Una vez habilitado tenemos los siguientes pines del GPIO funcionales.
MOSI P1-19, MISO P1-21, SCLK P1-23, CE0
P1-24 y
CE1
P1-26
Ya tenemos habilitado el SPI, lo que para empezar a hacer pruebas necesitamos los siguiente:
- MCP3202 ó MCP3008
- Python y Python-dev
- Spidev
Para instalar python python-dev realizar:
-
sudo apt-get install python-dev python
|
- git clone git: / / github.com / doceme / py - spidev - cd py - spidev / - sudo python setup.py install |
Recordemos que el MCP3202 es un chip de 2 canales codificado a 12 bits por lo tanto vamos a estar leyendo valores de 0 - 4095 y el MCP3008 es un chip de 8 canales codificado a 10 bits teniendo valores desde 0 - 1023. Eso se evalua en el código para la manipulación de datos. Los chips deben conectarse de la siguiente manera.Negro: GND
Naranja: CLOCK
Amarillo: MOSI
Azul: MISO
Violeta: CE
Los canales es donde va a entrar la línea de lo que queremos medir y vamos a manipular tanto el canal como el puerto CE que deseamos medir mediante el siguiente script:
Para crear el script creamos un archivo con extensión .py
Con esto podemos a jugar con los numeros de los canales o de los CE para ver y entender el funcionamiento correcto.
Espero que les haya servido, realmente es una excelente herramienta para hacer medicion de sensores ya que por lo regular estos nos arrojan numeros que van de 0 en adelante.