Skip to content

Общие вопросы по GPIO, I2C, UART, SPI, 1-Wire, DSI, CSI, I2S

2.1k Темы 2.2k Сообщения
  • Проблема с шиной i2c

    5
    0 Голоса
    5 Сообщения
    315 Просмотры
    piP

    @Mihay#6659 bcm2835 (встроенная звуковая плата)

    Нет. Это просто наименование чипа процессора. А драйвер ядра для встроенного звука называется snd_bcm2835 или как-то так.

  • RPi UART + USB to TTL CP2102

    Перенесена
    2
    0 Голоса
    2 Сообщения
    174 Просмотры
    piP

    Привет. Получилось подключить? Какой драйвер использовали?

  • Raspberry pi 4 не включается

    11
    0 Голоса
    11 Сообщения
    1k Просмотры
    piP

    Для 4-ки нужен отдельный образ.
    Если на карте старый образ, то с 4-кой он работать не будет

  • Raspberry 4. Gpio 16 в обычном режиме?

    2
    0 Голоса
    2 Сообщения
    187 Просмотры
    piP

    Полезно понимать в каком режиме в определенный момент находится нужный Вам вывод процессора. Он может быть настроен на вход, на выход и на любую из нескольких альтернативных функций. Если с выводами 20 и 21 Вам повезло и их никакая программа не перехватила, то вывод 16 может быть настроен на какой-то не подходящий Вам режим. Это означает что выводы нужно настраивать для себя. Программы для этого в принципе имеются, найти можно. Думаю что справитесь.

  • Глюк GPIO

    Перенесена
    2
    0 Голоса
    2 Сообщения
    156 Просмотры
    piP

    Не обновлял? При обновлении багованные библиотеки могли накатиться

  • Не загорается светодиод raspberry Pi zero w

    2
    0 Голоса
    2 Сообщения
    332 Просмотры
    piP

    На Zero это норма.
    У неё нет светодиода-индикатора питания.
    На Zero только один светодиод - индикатор активности. Должен мигать при загрузке с SD карты

  • NRF24L01

    3
    0 Голоса
    3 Сообщения
    169 Просмотры
    piP
    #include <stdio.h> #include <unistd.h> #include <wiringPi.h> #include <wiringPiSPI.h> int main() { int channel = 0; int speed = 800000; int fd = 0; int ret = 0; unsigned char data[100]; wiringpiSetupSys(); fd = wiringPiSPISetup(channel, speed); if(fd) { data[0] = 0x3; // хочу считать значение регистра SETUP_AW (0x3) ret = wiringPiSPIDataRW(channel, data, 1); if(ret) printf("VALUE - %d\n", data[0]); // хочу считать значение регистра STATUS (0x7) data[0] = 0x7; ret = wiringPiSPIDataRW(channel, data, 1); if(ret) printf("VALUE - %d\n", data[0]); сlose(fd); } }
  • Raspberry для управления реле по I2C

    2
    0 Голоса
    2 Сообщения
    192 Просмотры
    piP

    Тебе всё равно придётся провода тянуть к i2c интерфейсу RasPi (длина провода для i2c интерфейса к слову говоря ограничена в зависимости от скорости передачи данных)
    Без проводов цепани датчик воды к ESP8266 и общайся с Raspi по Wi-Fi

  • преобразователь MAX31855

    2
    0 Голоса
    2 Сообщения
    173 Просмотры
    piP

    Установите библиотеку как написано у автора библиотеки.

  • RTC DS3231

    2
    0 Голоса
    2 Сообщения
    140 Просмотры
    piP

    нет слов

  • Кнопка работает нелогично

    2
    0 Голоса
    2 Сообщения
    152 Просмотры
    piP

    [[20],[10,19]]

  • Проблемма c usb+КЗ GND+TX+RX

    2
    0 Голоса
    2 Сообщения
    135 Просмотры
    piP

    [[20],[10,11]]

  • Не работает шина 1-wire

    2
    0 Голоса
    2 Сообщения
    169 Просмотры
    piP

    [[20],[10,11]]

  • Питание через GIPO

    7
    0 Голоса
    7 Сообщения
    319 Просмотры
    piP

    Шнур можно подключить с питанием по GPIO, отключать питающие провода "шнура" не надо.

  • Как подтянуть стабильное питание к устройству через GPIO

    3
    0 Голоса
    3 Сообщения
    144 Просмотры
    piP

    Подскажи нормально 2N3904 работает ?

  • Подключение великого множества датчиков к GPIO Rpi 3 m.B

    Перенесена
    18
    0 Голоса
    18 Сообщения
    1k Просмотры
    piP

    К сожалению подсказать по программированию работы с i2c не могу. Пока плотно не работали.Спасибо большое за информацию. По программированию — не страшно, программист есть, просто он в закупке непосредственно участвовать не может, да и с физической коммутацией устройств дела (как и я) не имел. С кодом будет попроще.

  • Назначение некоторых пинов GPIO

    2
    0 Голоса
    2 Сообщения
    176 Просмотры
    piP

    UART — грубо говоря это консольный порт. По умолчанию он используется ядром для вывода сообщений. Если что-то случается с Raspberry, то через переходник этот порт соединяется с COM портом компьютера и там можно увидеть выводимые ядром сообщения и понять причину неисправности.
    GPIO 14/15 это пины RX (прием) и TX (передача) данных через UART.
    PCM_CLK — скорее всего что-то связанное со звуком.
    Если планируется использовать имеено эти пины, то обычно советуют отключить использование UART ядром. Как это можно сделать я писал здесь.
    Думаю что на этих пинах модуль текстового дисплея вряд ли заработает (но, во-первых, я с такими модулями дела не имел, во-вторых, могут быть модули которые подлючаются имеено через UART). Если в приложении которое будет использовать этот модуль номера пинов заданы константами, то наверно можно их изменить в соответствии с реальным подключением модуля.
    Но здесь есть пара моментов. Во-первых, нумерация пинов разная для пинов на плате и для номеров GPIO. Т.е. 36 пин на плате будет на самом деле GPIO 16.
    Во-вторых, некоторые интерфейсы (I2C,SPI,etc), обычно используемые для подключения перифирии (модуль дисплея), будут работать только на конкретных пинах. Подробнее здесь (таблица 6-30).

    Нужно описание модуля чтобы сказать точнее.

  • Подключение моторов и сервоприводов

    22
    0 Голоса
    22 Сообщения
    883 Просмотры
    piP

    Приветствую. Давно не писал. На данный момент робот ездит. Установлены датчики обьема ультразвуковой датчик препятствий и камера. Так же стоит гироскоп.
    http://youtu.be/pDMYLfepafY
    youtu.be/pDMYLfepafY

  • проблема с RPIO PWM

    3
    0 Голоса
    3 Сообщения
    191 Просмотры
    piP

    К сожалению я в си полный ноль. Спасибо за совет, но он не помог((
    я объединил оба скрипта в один при выносе tf=open("/sys/bus/w1/devices/28-000003352199/w1_slave") до цикла, скрипт запускаться не захотел, в итоге вернул его на место
    после чего начал экспериментировать с каналами.
    Итог если все посадить на 0 канал то вроде бы работает но через раз, кулер при запуске скрипта временами крутится на полных оборотах, невзирая на условия температуры.
    потом методом тыка пришел к тому что нужно указать задержку (если я правильно все понял) PWM.add_channel_pulse(0, 25, 100, 0)
    после этого все заработало.

    #!/usr/bin/python # _*_ coding: cp1251 _*_ from RPIO import PWM from RPi import GPIO import time import datetime #time on HOUR_ON =7 button1Pin = 18 button2Pin = 15 GPIO.setmode(GPIO.BCM) GPIO.setup(button1Pin, GPIO.IN) GPIO.setup(button2Pin, GPIO.IN) PWM.setup() PWM.init_channel(0) PWM.add_channel_pulse(0, 25, 100, 0) time.sleep(5) servo = PWM.Servo() servo.set_servo(7, 1500) try: while True: tf=open(&quot;/sys/bus/w1/devices/28-000003352199/w1_slave&quot;) tt=tf.read() td=tt.split(&quot;\n&quot;)[1].split(&quot; &quot;) [9] t=float(td[2:]) now = datetime.datetime.now() if (HOUR_ON &lt;= now.hour) : if (t &gt;= 27500) and (t &lt;= 28000): PWM.add_channel_pulse(0, 25, 0, 200) elif (t &gt;= 28010) and (t &lt;= 28500): PWM.add_channel_pulse(0, 25, 0, 400) elif (t &gt;= 28510) and (t &lt;= 29000): PWM.add_channel_pulse(0, 25, 0, 600) elif (t &gt;= 29010) and (t &lt;= 29500): PWM.add_channel_pulse(0, 25, 0, 800) elif (t &gt;= 29510) and (t &lt;= 30000): PWM.add_channel_pulse(0, 25, 0, 1000) elif (t &gt;= 30010): PWM.add_channel_pulse(0, 25, 0, 1600) else: PWM.add_channel_pulse(0, 25, 0, 0) time.sleep(1) if not GPIO.input(button1Pin): servo.set_servo(7, 1800) time.sleep(1) elif not GPIO.input(button2Pin): servo.set_servo(7, 1200) time.sleep(1) else: servo.stop_servo(7) time.sleep(1) except KeyboardInterrupt: servo.stop_servo(7) PWM.cleanup() tf.close()

    Стабильно или нет покажет время. В любом случае большое спасибо Вам за наводку))

  • Подскажите по настройки webiopi (ШИМ

    8
    0 Голоса
    8 Сообщения
    361 Просмотры
    piP

    Для тех, кто в танке, повторяю вопрос: «Откуда взят пример кода, который вы используете ?»
    Чтобы разобраться где Ваш «косяк» нужен первоисточник. Анализировать весь Ваш код нет никакого желания и времени, тем более, что играют важную роль ещё и настроечные файлы WebIOPi, которые Вы не приводите.
    А выводы GPIO напрямую, значит, подключены к сервоприводам? И не важно, что уровни сигналов GPIO могут не соответствовать, или всё-таки соответствуют допустимым для Ваших сервоприводов?