Я пытался включить I2C, следуя этому руководству http://www.raspberrypi-spy.co.uk/2014/11/enabling-the-i2c-interface-on-the-raspberry-pi/
Но у меня есть проблема, которую я не могу решить. Команда i2cdetect -y 1
возвращает
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a UU 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77
Я не знаю, почему он показывает все адреса и как я могу это исправить. Я ничего не подключал к своему Raspberry Pi. Я только что положил SD-карту и установил ОС по умолчанию с помощью NOOBS. Но когда появилась проблема, я подключил свой RTC DS1307, но это не повлияло на вывод i2cdetect.
Ответы:
Как правило, это происходит потому, что что-то тянет SDA (контакт 3) на низком уровне.
Программа i2cdetect проверяет наличие устройства, отправляя его адрес, затем позволяя SDA иметь высокий уровень. Если устройство существует, оно должно вывести SDA на низкий уровень, чтобы сигнализировать о его наличии.
Проверьте проводку, чтобы убедиться, что SDA не был случайно подключен к земле.
источник
Исправил мой PI-ноль ... Рядом с SDA (контакт 3) и слотом для SD-карты есть два резистора, дотронулся до соединений паяльником и теперь работает.
источник
В моем случае это произошло из-за того, что было сломано устройство i2c (я случайно подключил его обратно к напряжению / заземлению)
Попробуйте использовать другое устройство i2c
источник