Search the Community

Showing results for tags 'gpio'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • AVR
    • PIC
    • STM32
    • Arduino и Raspberry Pi
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Конкурсы сайта с призами
    • Сайт Паяльник и форум
    • Курилка
    • Технический английский (English)
    • Наши проекты для Android и Web
    • FAQ (Архив)
    • Личные блоги
    • Корзина
    • Вопросы с VK
  • Переделки's ATX->ЛБП
  • Киловольты юмора's Юмор в youtube
  • Радиолюбительская доска объявлений exDIY's Надежность и группы продавцов
  • Переделки's разные темы

Blogs

There are no results to display.

There are no results to display.

Marker Groups

  • Пользователи форума

Город


Сфера радиоэлектроники


Оборудование

Found 7 results

  1. Всем доброго времени суток! Решил построить бортовой компьютер в автомобиль на базе малинки. Повесил на нее аналоговый китайский телек через аудиовыход (сам офигел от того, что малинка такое умеет). Начал прикидывать сколько портов GPIO мне понадобится для подключения всех датчиков и релюшек для управления всего-всего и понял, что стандартного набора из грубо говоря 17 GPIO не хватит (там ведь еще i2c, UART, SPI, ID EEPROM можно отключать и как GPIO использовать). Уже начал думать вешать все датчики температуры как 1-wire, использовать местами шину i2c, SPI, UART, но все равно их катастрофически не хватает. Потратил кучу времени на гугление "как же можно все-таки увеличить количество разъемов GPIO", но ничего не нашел. Даже на adafruit industries ничего не нашел. Кто-нибудь знает как же все таки увеличить максимальное количество портов GPIO на таких устройствах? может есть какой-нибудь i2c-GPIO адаптер ?
  2. Stm32F100C8T6B Ток Gpio

    Добрый день. Пытаюсь сделать простое устройство, которое будет мигать светодиодами на базе микроконтроллера stm32f100c8t6b. В схеме будет использоваться 20 светодиодов, поэтому встал вопрос о нагрузочной способности портов ввода/вывода. Полез в даташит, нашел там следующую информацию: 1 - максимальный ток I/O вывода 25мА (стр. 34, таблица 6) 2 - максимальный ток линий VDD и VSS по 150мА (стр. 34, таблица 6) Решил копнуть глубже и добрался до раздела Output driving current(стр. 59). Там написано следующее: "The GPIOs (general-purpose inputs/outputs) can sink or source up to ±8 mA, and sink or source up to ±20 mA (with a relaxed VOL/VOH). In the user application, the number of I/O pins which can drive current must be limited to respect the absolute maximum rating specified in Section 5.2: • The sum of the currents sourced by all the I/Os on VDD, plus the maximum Run consumption of the MCU sourced on VDD, cannot exceed the absolute maximum rating IVDD (see Table 6). • The sum of the currents sunk by all the I/Os on VSS plus the maximum Run consumption of the MCU sunk on VSS cannot exceed the absolute maximum rating IVSS (see Table 6)." Так как не силен в техническом английском, сделал примерно следующие выводы: 1 - максимальный суммарный выходной ток всех пинов, работающих на выход не должен превышать максимальный ток линий VDD 2 - максимальный суммарный выходной ток всех пинов, работающих на выход не должен превышать максимальный ток линий VSS Исходя из всего вышесказанного сделал примерно следующий расчет: Максимальный ток всего устройства не может превысить 150 мА. При это примерно 50 мА необходимо оставить на работу самого МК, а 100 мА распределить между светодиодами. Так как светодиодов 20, то на каждый светодиод приходится примерно по 5 мА, поэтому на каждый светодиод необходимо повесить по резистору в 3,3/0,005=600 Ом. Ток в 5 мА показался мне маловат, поэтому задумался сделать схему с транзисторными ключами, но потом прочитал еще раз фразу "The sum of the currents sunk by all the I/Os on VSS plus the maximum Run consumption of the MCU sunk on VSS cannot exceed the absolute maximum rating IVSS (see Table 6)". И теперь не могу разобраться, что она конкретно значит? Если Vss будет висеть на земле источника питания, можно ли использовать транзисторные ключи, тем самым превысив ток Vss? Заранее большое спасибо, прошу не кидаться тухлыми яйцами, так как новичок. STM32f100c8t6b.pdf
  3. Добрый день. Решил сделать часы на газоразрядных индикаторах. Остановился на управлении дешифратором, который преобразует двоичный код порта в десятичный. Использую дешифратор К155ИД1 и отладочную плату STM32F4Discovery. Проблема в следующем: при попытке выставить любое значение порта от 0b0000 до 0b1111 напряжение на выводах микроконтроллера "гуляет" в пределах 0,5 - 1,3 В, адекватно реагирует только нулевой пин. То есть, если отладчик показывает, что GPIOA = 0b0110, то на нулевом выходе логический ноль(0 - 10мВ), а на остальных "болтанка". Пробовал "перенести" программу на другие порты - все то же самое, только на порте Е адекватно работают 0 и 2 пины. Пробовал проводить измерения как с висящими в воздухе выводами, так и подключенными к дешифратору, результат 0. В чем может быть дело? Схему подключения и файлы проекта прикладываю ниже. Простите за внешний вид кода - это рабочая версия. В конце простыни можно увидеть попытки присвоить различные значения порту и проверить, что будет на выходе. Результат остался нулевым. Еще раз повторюсь, отладчик указывает, что в порты выставляется значение как положено, но при измерении получается ****. Nixie_Clock_0v01.rar
  4. Здравствуйте, подключил светодиод к выходу GPIO_2 на 3 В, когда пишу в LXTerminal GPIO.output(2,0) то светодиод включается, когда пишу GPIO.output(2,1), светодиод выключается, по моему должно быть наоборот, не так ли?
  5. Здравствуйте, обдумываю устройство сопряжения компьютера и платы с GPIO. Как я себе это представляю: usb порт ПК -> cy7c68013 -> ПЛИС xilinx spartan3e -> 64GPIO (32 светодиода/32 переключателя). На компьютере: есть драйвер и файл устройства (пишу сам) /dev/usb2gpio. С него можно прочитать 4 байта, где биты указывают состояния переключателей на плате, а можно записать 4 байта и значениями битов включить светодиоды. Драйвер постоянно опрашивает устройство и пишет состояние переключателей в файл устройства. На плате: есть cy7c68013 в EEPROM которого при наладке устройства прописывается VID, DID, для драйвера на ПК. ПЛИС на максимальной скорости проверяет буфер в cy7c68013 и если там что то есть (4 байта) то выставляет на светодиоды нужные сигналы, после опроса записывает туда значения для отправки в ПК(только если буфер пуст). сразу отвечу на некоторые вопросы: 1) почему linux? - Программа которой дополнительные GPIO нужны под него сделана. 2) почему usb? - Есть на любой материнской плате, скорость выше чем у доступных com/lpt. 3) почему cy7c68013 и spartan3e? - потому что есть отладочная плата с этой связкой (digilent nexys2), с платой и IDE знаком не по наслышке. Сделать usb для плис не хватит времени, купить готовый ip core не по карману, cy7c68013 по даташиту имеет FIFO на 60мбайт/с что достаточно. 4) Зачем там ПЛИС? - Здесь я пытаюсь выяснить стоит ли использовать USB для моих целей, а вообще у ПЛИС будет и другая работа(не только светодиодами моргать), но там всё ясно, уже делал подобные вещи, а вот с ПК связывал свою аппаратуру только через последовательный порт... вопросы: 1) Затея выполнимая для одного человека, без опыта разработки сложных промышленных устройств? (опыт из универа (курсов для разработки драйверов устройств нет, по шинам(usb) тоже давали только общие представления), различные задачи, синхронные, асинхронные последовательные схемы, конечные автоматы итд. программирование си, асм, pic/avr, posix threads, реализации FFT, CYK(многопоточный). Пытаюсь прояснить о каком человеке идёт речь ) В целом концепция ясна, но вдруг есть какие то подводные камни о которых пока ни сном, ни духом... 2) Если скажу что частота опроса будет не меньше 250кГц и запись тоже 250кГц, не ошибусь? - Пусть имеем соединение highspeed 480mbit/s = 60mByte/s, usb шина полудуплексная, значит 30мБайт/с в одну строну, дальше, скажем, качество кабеля плохое, получим 20мБайт/с в одну сторону, надо передавать 4 байта, значит имеем 500000 посылок в секунду на такой скорости, ну и по закону подлости пусть реально будет в два раза меньше - 250К посылок в секунду. 3) Я разделом не ошибся?
  6. Доброе время суток! Посоветовали обратиться с вопрос на этот форум. Купил себе Raspberry Pi, поиграться. Хочу научится использовать GPIO в своих целях. Т.к. в программировании я новичок решил использовать Python, и с GPIO разберусь и с Python. Почитав сайты на эту тему решил попробовать сделать что-то сам. Написал вот такой скрипт: #!/usr/bin/python #-*- coding: UTF8 -*- import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(7, GPIO.IN) GPIO.setup(7, GPIO.IN, pull_up_down=GPIO.PUD_UP) signal = GPIO.input(7) print(signal) while True : current_state = GPIO.input(7) if current_state!=1: print("!",signal) time.sleep(5) На русском это звучит так: Слушаем GPIO 7 и если на нем 0, выводим на экран его статус, ждем 5 секунд и снова слушаем GPIO 7. Но тут подкралась проблема, если убрать "while True" и все что ниже, а оставить только это: #!/usr/bin/python #-*- coding: UTF8 -*- import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(7, GPIO.IN) GPIO.setup(7, GPIO.IN, pull_up_down=GPIO.PUD_UP) signal = GPIO.input(7) print(signal) То на GPIO 7 действительно постоянно есть 1, и переходит он в 0 только тогда когда я замыкаю GPIO 7(на нем 3.3в) на землю, проверял несколько раз!!! Но если я добавляю в код эту часть: while True : current_state = GPIO.input(7) if current_state!=1: print("!",signal) time.sleep(5) То получаю странное поведение. Стоит мне на порт GPIO 7 надеть перемычку, просто надеть не замыкать на землю, я получаю вывод на экран "0"! Вопрос как?! Наводок быть не может, т.к. там 3.3в, т.е. 1, а чтобы убрать 1 нужно его замкнуть на землю + к этому, если отсутствует блок while True, то на порту постоянно есть 1, хоть с перемычкой, хоть без нее. Значит что-то не так написал, но смотрел примеры ошибок не нашел. Помогите, уже 2ю ночь спать не могу, мучает меня эта зараза. Заранее спасибо!
  7. Здравствуйте. На цифровом кинопроекторе имеется 37-пиновый разъем GPIO. Он имеет пины, работающие как на вход, так и на выход. Внутри это разъема то ли транзисторный ключ, то ли твердотельные реле, не знаю. Когда изнутри кинопроектора на разъем подается сигнал на нужный выход, то внутри этого выхода замыкается ключ. Сопротивление у этого выхода слишком большое. При разомкнутом состоянии выше 40МОм, при замкнутом 20-40МОм. А нам нужно повесить на этот выход контакты темнителя света. Поскольку сопротивление большое, нам посоветовали добавить в схему питание на 5В и электромагнитное реле 5В. Вложил схему, которую спаяли. В итоге, при разомкнутом ключе в разъеме, напряжение на катушке 0,010В, при замкнутом - 1,3В. То есть нужных для срабатывания реле 5В не добиться. Посоветуйте, пожалуйста, что-нибудь. Может добавить в схему транзистор или какое-нибудь реле похитрее? На 1В, к сожалению, реле не существует, с ним бы схема заработала как надо.