Проблема с последовательным подключением SPI MCP8003 на Raspberry Pi с Python - PullRequest
0 голосов
/ 29 августа 2018

В данный момент я пытаюсь разрешить двум MCP3008 общаться через SPI с моим raspberry pi и скриптом Python. Потенциометр должен отправить определенное аналоговое значение на входной канал MCP3008.

Вот мои настройки Fritzing:

Схема макета

и вот схематический обзор:

Обзор схемы

Проводка SPI основана на стандартной схеме последовательного подключения, как показано на:

SPI Daisy Chain

Код Python, который я использую:

import spidev
import time

spi = spidev.SpiDev()
spi.open(0,0)
spi.max_speed_hz = 1000000

def read_spi(channel):
  spidata = spi.xfer2([0,(8+channel)<<4,0])
  return ((spidata[1] & 3) << 8) + spidata[2]

try:
  while True:
    channeldata = read_spi(0)
    print (channeldata)
    time.sleep(.1)

except KeyboardInterrupt:
  spi.close()

Я получаю значения, но они сильно меняются с каждым возможным значением в диапазоне от 0 до 1023.

Я пробовал его с одним MCP3008, конечно, без гирляндного соединения, и оно работало нормально, поэтому я предполагаю, что оно как-то связано с неправильным гирляндным соединением или с адресацией MCP3008.

Можете ли вы, ребята, помочь мне? Большое спасибо !!

Приветствия

Devatu

...