Параллельная работа нескольких датчиков на ардуино.

Тема в разделе "Arduino & Shields", создана пользователем D_REC, 22 ноя 2021.

  1. D_REC

    D_REC Нерд

    В устройстве для полива растений применил датчики расхода воды FM-HL3012. Это турбинка с магнитиком и датчиком холла. Столкнулся с трудностью считывания показаний одновременно с 8 ми таких датчиков. Ведь в Ардуино нано только вроде два внешних прерывания и подключить 8 датчиков нет возможности. Как обойти это ограничение так что бы импульсы не потерялись? При этом устройство имеет LCD1602 на который выводится расход каждого датчика.
     
  2. Asper Daffy

    Asper Daffy Иксперд

    На самом деле два "совсем полноценных". Но там есть и не совсем полноценные прерывания, но для этих нужд их достаточно. Они есть на каждом пине, кроме A6 и A7. Гуглить по слову PCINT
     
    Рокки1945 нравится это.
  3. issaom

    issaom Гуру

    Я вот по этой статье делал
    https://tsibrov.blogspot.com/2019/06/arduino-interrupts-part2.html
     
  4. Рокки1945

    Рокки1945 Гуру

    только срабатывают они и по фронту и по спаду-срезу
     
  5. D_REC

    D_REC Нерд

    Возможно в этом случае применить мультиплексорный модуль CD74HC4067?
     
  6. parovoZZ

    parovoZZ Гуру

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

    Airbus Радиохулиган Модератор

    А какая проблема считывать датчики в цикле?Я понимаю если там Лампа Гайвера в основном цыкле а мы ждём прихода байта по UART на огромной скорости обмена.А так датчики и кнопки достаточно "медленные" и стоит ли городить огород?Конечно есть еще
    Но это уже за рамками Ардуино.
     
  8. b707

    b707 Гуру

    вообще-то это аналоговый мультиплексор, без прерываний.
    он тут каким боком?
     
  9. D_REC

    D_REC Нерд

    Если в цикле опрашивать через этот мультиплексор? Или вот этот MCP23017
     
  10. Vovka

    Vovka Гик

    А на дисплей как будет выводить?
    ТС-у надо опрос делать в прерывании
     
  11. Рокки1945

    Рокки1945 Гуру

    Зачем плексор - если есть инт
     
  12. b707

    b707 Гуру

    через CD74HC4067 - это глупость, он АНАЛОГОВЫЙ, а у вас датчики импульсные.
    через MCP23017 можно, только зачем? - прерывание у него одно на все пины. то есть работать ничуть не легче. чем напрямую с ардуино.
    Вам же дали правильный ответ в #2 - у ардуино прерывания на всех пинах, восемь датчиков без проблем
     
  13. D_REC

    D_REC Нерд

    Потому что в дальнейшем нужно будет подключить 20 таких датчиков. Использовать несколько ардуин как то думаю не правильно. Да и подключить бы датчики в одном месте, а уже кабелем к ардуино, что бы не громоздить у самого устройства.
     
  14. Рокки1945

    Рокки1945 Гуру

    можно - только надо еще 3 выхода - чтобы адрес порта менять
     
  15. Рокки1945

    Рокки1945 Гуру

    скажу даже больше что профессиональные девайсы, где надо мониторить кучу входов - шлепают на плексорах
     
    Последнее редактирование: 22 ноя 2021
  16. D_REC

    D_REC Нерд

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

    mednagolov Гик

    Прошу помощи, у меня не получается залить скетч на (Atmega328p в минимальном обвесе) через такой usb-uart свисток. К свистку припаял к 13 ноге кондер 64n , вроде должен получиться был типа DTR, но из ардуино IDE скетч не грузится через свисток пишет - ошибка загрузки. По SPI скетч на 328ю грузится и работает. По SPI (в качестве SPI ардуино нано) на 328ю бутлоадер поставлен.
    USB-TTL.JPG такой usb-uart.
    Драйвера на компе CH340 стоят.
    Помогите пожалуйста разобраться в чём дело.
     
  18. mednagolov

    mednagolov Гик

    Самопальный DTR вроде срабатывает - 328я "моргает" в конце компиляции IDE, Сделал кнопку reset на 328ю, жал в конце компиляции IDE, всеравно IDEшка пишет ошибка загрузки. Подскажите а какой програматор нужно в IDEшке в моём случае указывать ? Я указывал в IDEшке загрузить через - "AVR ISP" , плата - UNO.
     
  19. mednagolov

    mednagolov Гик

    пробовал менять местами RX TX - не помогло.
     
  20. b707

    b707 Гуру

    mednagolov

    вроде не новичок - какого фига в чужой теме оффтопить, заведите отдельную и в ней спрашивайте