Невозможно запустить код python по умолчанию для примера MCP4725 - PullRequest
0 голосов
/ 17 января 2020

Я работаю с MCP4725. Я работал над этим довольно долго без каких-либо проблем, но в настоящее время даже пример по умолчанию, приведенный в репозитории GitHUb , продолжает выдавать эту ошибку.

Press Ctrl-C to quit...
Setting voltage to 0!
Traceback (most recent call last):
File "simpletest.py", line 21, in <module>
    dac.set_voltage(0)
File "build/bdist.linux-armv7l/egg/Adafruit_MCP4725/MCP4725.py", line 68, in set_voltage
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 129, in writeList
File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 306, in 
write_i2c_block_data
IOError: [Errno 121] Remote I/O error

Я пробовал эту команду i2cdetect -y 1

    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- 

Я проверил соединения, все выглядит хорошо. Могу ли я получить помощь по этому вопросу?

Ответы [ 3 ]

1 голос
/ 24 января 2020

Проблема в вашем I2 C адресе. Так как вы используете пример кода, в примере адрес кода (0x62), но в вашем случае это (0x60). Так что просто измените его, он будет работать правильно. Для вашего удобства я предоставляю свой код, который отлично работает с моим оборудованием.

import Adafruit_MCP4725
import time
dac=Adafruit_MCP4725.MCP4725(address=0x60)
try:
  while True:
     for x in range(0,4096,1):
        dac.set_voltage(x)
        vlt=x/4096*5.0
        print(x,vlt)
        time.sleep(1)
except Exception:
  print("issue")
  pass
0 голосов
/ 25 января 2020

Мне удалось решить проблему. Я изменил адрес на 0x60, а также имел проблемы с перемычками, используемыми для подключения. Спасибо вам за помощь.

0 голосов
/ 21 января 2020

удалите smbus и затем снова установите Adafruit_GPIO, а затем попробуйте, и не используйте просто da c .set_voltage (0) instaed попробуйте использовать

for i in range (0,100,1)
  dac.set_voltage(i)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...