Датчик движения перестаёт слать данные

Тема в разделе "Arduino & Shields", создана пользователем Gelezako, 23 сен 2017.

  1. Gelezako

    Gelezako Нерд

    всё верно

    Я ни в чём не уверен, но думаю силы тока ему должно хватать, из описания характеристик у датчика потребляемый ток 60uA, а у шилда 250 мА.

    Стаб не греется вообще.


    Как видно из картинки у стабилизатора 4 входа, один выдаёт 2 ампера, и 3 другие по одному амперу. Там где 2 ампета у меня такая же ардуино нано, с точно таким же шилдом, но на ней плюс висит ещё 3 прожорливых датчика, mq2, mq135, dht22 + плата расширения Funduino Nano т.к. для всех датчиков не хватало ножек питания. Внутри код у них идентичный с датчиком движения, только паблиш в другой топик, даже сервер тот же. Так вот с этим блоком уже месяц никаких проблем. А вот с датчиком движения бедулька. Т.к. на той ардуино 3 датчика я ей дал 2 амера. Ну а там где только датчик движения вставил где стабилизатор выдаёт 1 ампер.

    Думал что сервер mqtt в какой-то момент отказывает из-за того что у меня бесплатный план в акаунте. Но как объяснить то что после обновления\ресета прошивки сервер сразу начинает всё принимать? Значит всё таки дело в прошивке. Сегодня я убедился что сам датчик рабочий т.к. сериал порт сразу показывает еденичку при движении, но публикация не происходит. Уже почти уверен что проблема в этой строчке,

    Код (C++):
    client.publish("data/HCSR501", sensorValue ? "1" : "0");
    но как проверить что публикация прошла успешно?
     
    Последнее редактирование: 26 сен 2017
  2. DIYMan

    DIYMan Guest

    Код (C++):
    if(client.publish("data/HCSR501", sensorValue ? "1" : "0"))
    Serial.println("publish done.");
    else
    Serial.println("publish ERROR.");
     
    Gelezako нравится это.
  3. Gelezako

    Gelezako Нерд

    ага, понял, значит функция возвращает true или false, спасибо, буду пробовать.
     
  4. DIYMan

    DIYMan Guest

    Заметьте - я сам не пользуюсь этой библиотекой, просто открыл её исходники и посмотрел, что функция имеет возвращаемое значение. Вы сами могли с успехом проделать то же самое ;) Документации не надо бояться - её надо читать в случае возникновения непоняток ;)
     
  5. Gelezako

    Gelezako Нерд

    я понимаю что исходник или бинарник где-то лежит, но пока не понял как к ним добраться. Я немного работал с visual studio, там по одному клику можно попасть в реализацию, а как в Arduino IDE попасть во внутрь билиотеки не разобрался ещё. Всё моё программирование сводится к поиску похожего решения и попыткам переделать под себя. Опыта пока не очень много, не судите строго.
     
  6. DIYMan

    DIYMan Guest

    Как устанавливать библиотеки - вы ведь знаете, раз поставили эту? Вот в папке с библиотеками все исходники и валяются ;)
     
  7. Gelezako

    Gelezako Нерд

    ну тут надо отдать должное иде, всё делается прозначно через интерфейс, я даже не знаю откуда они скачиваются и куда заливаются. Но конечно F3 по папкам ни кто не отменял. Я действительно не догадался поискать их и попробовать самому почитать исходники библиотеки, каюсь.
     
  8. DIYMan

    DIYMan Guest

    В настройках IDE есть путь к папке с установленными библиотеками:
    screen.png
     
  9. rkit

    rkit Гуру

    Это зарядник для телефона. Он сильно ровного напряжения не выдает.
     
  10. Gelezako

    Gelezako Нерд

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

    ЗЫ на сколько "плохо" для ардуинки програмный ребут через каждые 10 мин?
     
  11. rkit

    rkit Гуру

    На фото у вас зарядник для телефона. Питать чувствительную технику без дополнительный стабилизаторов им не рекомендуется.
     
  12. Gelezako

    Gelezako Нерд

    а, понял, посоветуйте какой стабилизатор использовать? У меня правда автомат вырубает всю квартиру если напряжение больше 240 вольт. Это не спасёт?
     
  13. rkit

    rkit Гуру

    Попробуйте запитать от батареек 7-12 вольт через разъем питания, либо пины vin и gnd. Если поможет, то купите блок питания на 12, напряжения будет стабилизировано стандартно от ардуино
     
  14. Gelezako

    Gelezako Нерд

    я не понял, если вы говорите что "напряжения будет стабилизировано стандартно от ардуино" , то зачем мне дополнительно стабилизатор?

    проблема в том что я использую нано, там нет разъёма для блока притания, поэтому питать я могу только через разъём ЮСБ. А блоков питания, у которых на конце будет ЮСБ разъём я не встречал. Поэтому купил обычный преобразователь напряжения если так можно выразится, но про стабилизатор не подумал. Может он уже там есть?
     
  15. rkit

    rkit Гуру

    Почитайте про схему питания ардуино. Я тут разжевывать не буду это все.
     
  16. Tomasina

    Tomasina Сушитель лампочек Модератор

  17. Gelezako

    Gelezako Нерд

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