gpio-expander

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем javascripter, 21 фев 2019.

  1. javascripter

    javascripter Нуб

    Надо было в название добавить "Расширитель GPIO-портов (Troyka-модуль)". Приобрёл данное устройство (для искры джиес), некоторые моменты огорчили, многие непонятны. В документации нужного не нашёл, и на форуме почему-то ничего нет. Подскажите, пожалуйста, кто что знает. Возникли вопросы:

    1) Это нормально, что аналоговый сигнал, например, от датчика освещённости даёт от 0.0 до 0.90 (напрямую от платы 0.0 - 0.99). Отчего это так? Если просто умножать на 10/9, нормально будет?

    2) Почему сервоприводы не работают нормально? Постоянно жужат, дёргаются, и функцией из библиотеки сервоВрайт и аналогВрайт(этой почему-то чуть лучше резуьтата удавалось добиться). Устройство ведь может выдавать только 3 вольта(хотя я его и к 5 подключал), не может 5? А сервоприводам ведь 5 нужно? Проблемы не из-за этого? Как быть?

    3) Непонятно с анологовым выходом и шим. Везде написано, что только шим выдаёт. Мне надо без шим. И вроде бы, ставлю частоту 15-20, включаю светодиод на 0.5, ничего не мигает. Или так нельзя определить шим там или напряжение 0.5(*3.2)? Там всё-таки половина напряжения или шим выдаёт для сигнала 0.5?

    4) САМОЕ ГЛАВНОЕ! ЦИФРОВЫЕ ДАТЧИКИ! Огорчился, покупал в основном, чтоб один провод протянуть к балкону, а там куча всего, главное - датчик температуры и влажности цифровой (самый обычный, дхт22). А ведь его никак нельзя подключить? Залез в библиотеку, там сетВотч(), биты в функции определяются по времени 0.00005. СетВотч или что-то подобное на расширитель не сделать ведь? А программно с такой скоростью тоже ничего не сделать? Получается, с цифровыми датчиками работать нельзя?
     
    Последнее редактирование: 21 фев 2019
  2. parovoZZ

    parovoZZ Гуру

    ну вроде как да.

    всё по дешману. В том числе и говнокод внутри библиотек. Это ж конструктор, а не космический аппарат.

    сервоприводам ШИМ нужен. Если верхний потенциал ШИМ сигнала попадает в зону "1" сервопривода, то всё нормуль.

    Там есть два порта с выходами с ЦАПа. Так что аналог должен быть.
     
  3. javascripter

    javascripter Нуб

    Почему-то нигде не написано... Плохо что только 2, мне бы 3 хотя бы... А не скажете какие, или их как-то можно определить?

    А Вы не скажете по цифровым датчикам никакой возможности что-то придумать нет?
    Там основной код

    this.watch = setWatch(function(t) { d+=0|(t.time-t.lastTime>0.00005); }, ht.pin, {edge:'falling',repeat:true} );

    То еcть число d както передаётся по задержке около 0.00005 (секунд видимо).
    Никаких других функций, как setWatch нет? А если как-то просто в цикле exp.digitalRead(), со скоростью 0.00005 не получится...
     
  4. Тянуть высокочастотные провода на балкон без углубленного понимания физики электричества - дохлая затея.
     
  5. javascripter

    javascripter Нуб

    Там метров пять всего. Датчик работал отлично два месяца, на улице, ещё дальше. А он ведь тоже высокочастотный получается? Экспандер может не работать? Надо проверить.
     
  6. ИгорьК

    ИгорьК Гуру

    Чет я не понял, как вы серву подключили.
     
  7. parovoZZ

    parovoZZ Гуру

    Да ну?
     
  8. javascripter

    javascripter Нуб

    Да, както я эти буквы ЦАП не понял там.

    А вот, скажите, пожалуйста, кто знает, я только щас задумался. А зачем там все эти мегабайты флэшей и срамов? Туда как-то можно программу зафигачить? То есть вот эта программа { d+=0|(t.time-t.lastTime>0.00005); } не будет сложной на любом языке, хоть машинными кодами. Но вообще эту хрень программировать наверно очень непросто? Там какие-то контакты на ней есть, только через них как-то, припаивать что-то к ним, ууу?
     
  9. b707

    b707 Гуру

    конечно можно. Там полноценный микроконтроллер, который помощнее вашей искры будет Только его надо уметь программировать, боюсь вы не потянете.

    В вашем случае вместо этого расширителя проще всего взять обычную Ардуину - Уно, Нано, Микро и тд Поставить ее на балконе, подключить к ней датчики, написать обычную ардуино-программу. Ардуина на балконе будет работать с датчиками и сервами и отсылать данные основному МК в квартире по проводам или по радио - это уж как придумаете.
     
  10. javascripter

    javascripter Нуб

    Я раньше давно любил на ассемблере программировать, даже оэску свою делал с графическим режимом труколор, окошечками и блэкджеком. Самое, наверно, интересное - делал в загрузочной области жд свой загрузчик на машинных кодах, который запускался, находил и загружал уже из раздела большой загрузчик. Давно, правда, было... Интересно было бы вспомнить... Но тут надо примеры хорошие, чтоб действительно с самого начала и безопасно шаг за шагом. Ещё, кстати, недавно ассемблер сделал на джаваскрипте. В браузере в текстарие пишется программа на ассемблере и по нажатию кнопки сохранятеся программа prog.com работающая в виндовсе. Мне вот, наверно, даже удобнее было бы машинные коды в железку писать, никаких сред разработки там, компиляторов си и прочей хрени... просто знать из чего там машинный код состоит и как его туда записывать.
     
  11. javascripter

    javascripter Нуб

    Ребят, а как эту штуку вообще программировать? Сейчас посмотрел, ничего нет. В двух местах только упоминается, что контакты есть для перепрошивки, а как это делается даже намёков нигде нет.Может есть где-то какие-то инструкции? И ещё вопрос, есть ли там всё-таки функция setWatch, чтоб сигнал с датчика со скорочтью 0.00005 считывать?
     
  12. parovoZZ

    parovoZZ Гуру

    Я с даташита начинаю.
     
  13. b707

    b707 Гуру

    Да ладно врать-то - "ничего нет"?
    Вы не ищите "gpio-expander", вы ищите "программирование STM32" Информации просто море.
     
  14. javascripter

    javascripter Нуб

    Ребят, помогите, пожалуйста, кто знает. Вернулся я сейчас к этому устройству, gpio-expander. Хочу сделать управление ргб-лентой светодиодной. И очень хочу сделать без шим. Грамотные люди подсказали что есть 2 порта ЦАП, но нигде не указывается какие это порты, не понятно как работать с ними. Сперва пробовал ставить частоту шим 15-20 (написано что допустимо от 15) - светодиод горит плавно... Начал втыкать пищалку - пищит. Выяснилось, что нижнее допустимое значение частоты - 31, а при 30 начинает резко пищать герц на 1000. И вот, поставил 31Гц, для всех портов делаю эксп.аналогВрайт(0...9, 0.5), втыкаю во все светодиод, ожидая где же он не будет адски мелькать и загорится ровненько в полсилы... Ждало сильное огорчение, когда дошёл до портов 7 и 8, наблюдая точно такое же мерцание. Как же ЦАПами пользоваться? Как выдывать ровное напряжение без шима?

    Ну и на всякий случай. Это будет конечно очень большое очередное огорчение амперкой, если не удастся цапы использовать... Я в электронике только в этом году начал разбираться, и тут сам не справлюсь, при том что это наверно просто. Можно ведь как-то из шима сделать ровное напряжение? Какими-нибудь конденсаторами или индуктивностями? Не подскажете/посоветуете чтото с какими-то параметрами?
     
  15. Цап не для этих задач. Без шим нельзя и не нужно.
     
  16. javascripter

    javascripter Нуб

    Воткнул щас провода с экпандера этого с шимом хоть 1000Гц хоть 3000 - чудовищное адское мигание (там ещё какие-то эффекты с более низкой частотой получатся, но на камере телефона видны и адские высокие частоты ).
    Ставлю делитель напряжения - резисторы 100КОм, потенциометр 100КОм, кручу его и плавное изменение света чертовски радует глаз.
    Почему вдруг без шим нельзя?
     
  17. javascripter

    javascripter Нуб

    да, у меня полевой транзистор, забыл сказать, модель наверно нет смысла искать, переключается 1.5-3 В.
     
  18. потому что рассчитайте свой потенциометр на реальной нагрузке в плане рассеиваемой мощности
     
  19. javascripter

    javascripter Нуб

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

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

    Daniil Гуру

    В даташите на микросхему всё расписано - это первое что нужно читать при изучении микросхем или второе, чтобы проверить вычитанное из статей.
    Далее советую взять еррату, ибо от ошибок никто не застрахован, даже производитель. Так же нужно почитать апноуты, если есть.
    на сколько ровное? Читайте про НЧ-фильтры