Автоматическая подсветка лестницы

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 19 сен 2013.

  1. sergey_dp

    sergey_dp Нуб

    Китайцы пишут что у них аналоговый выход и максимум 80см
    Ето он на али нашол на 150см
    Нужно будет заказать . Вот код, я в программировании не силен но наверное можно будет чтото придумать.
     
    Последнее редактирование: 21 фев 2015
  2. ИгорьК

    ИгорьК Гуру

    а если идти сверху вниз?
    Насколько мне помнится, выключение происходит с той стороны, откуда включение начиналось.
    Да, ИК датчики бывают нескольких диапазонов. Вам придется самому делать решение на нем - от датчика к плате должен будет приходить цифровой ноль, когда датчик определил когото.
    Плата должна будет просто опрашивать пин, к которому присоединен датчик, и в случае нуля включать лестницу.
    Кстати, вот возможный вариант. Он по умолчанию в единичке, а как расстояние менее 60 - сбрасывает в ноль. Вопрос, конечно, не мало ли 60 см, но это зависит от конкретной реализации.
     
    Последнее редактирование: 25 фев 2015
  3. sergey_dp

    sergey_dp Нуб

    Выключение происходит оттуда какой датчик был последний пересечен.
    Т.е если идти сверху вниз , то выключается с низу в верх, а если спустится с верха в низ и сразу подняться то выключается с верху.
    Во как.
     
  4. sergey_dp

    sergey_dp Нуб

    Еще есть вопрос , а можно как-то ограничить интервал срабатывания от и до, есть включать если значение меньше чем #define bottomDistance 80 тоесть меньше 80см и чтобы было еще и больше чем 5см к примеру. Чтобы исключить ложные срабатывания они выражаются в единицах с минусом (-125 пример), откуда они берутся я так и не понял.
     
    Последнее редактирование: 23 фев 2015
  5. sergey_dp

    sergey_dp Нуб

    понимаю что сюда
    нужно чтото вписать , а что?
     
  6. sergey_dp

    sergey_dp Нуб

    помоему так
     
  7. Djvan

    Djvan Нерд

    На даче тоже делал подсветку лестницы - но сделал, все намного проще - диодная лента + 2 pir датчика с китая (рублей по 100 стоили) - один сверху на лестницу смотрит - срабатывает, как на первую ступеньку наступил (сложнее всего было настроить положение датчика - чтобы не было случайных сработок при проходе рядом с лестницей), второй на втором этаже - как в коридор из комнаты выходишь - подключены параллельно, выставил задержку секунд на 10 (как раз, чтобы из зоны одного датчика пройти не торопясь в зону второго) - и все ок. Дешево, удобно, без лишних элементов.
     
  8. sergey_dp

    sergey_dp Нуб

    Не получилось, сделал так
    получилось что когда проводишь рукой у верхнего датчика на расстоянии до 20см включалось с низу... бред.
    Буду покупать еще ультрасоники.
     
  9. ИгорьК

    ИгорьК Гуру

    Неоднократно говорил - сначала все надо собрать и добиться работоспособности на макетной плате, чтобы не возникало таких странностей. Когда на макетной плате все работает, Вы точно знаете - остальное ошибки монтажа и соединений.
    Сначала добейтесь вот этого:

     
    Последнее редактирование: 24 фев 2015
  10. birdtlt

    birdtlt Нуб

    Игорь, не поможете со скетчем для лестницы с 20-ю ступенями? По вашей схеме видимо с ШИМ не получится, поэтому интересует простейший вариант без плавного включения. Но подсветку первой и последней ступени на пониженной яркости(ШИМ) хотелось бы оставить.
    PS. пытался на макетке собрать лукьяновскую схему, но младший сын немножко "помог", в итоге спалили драйвер М5450, заказывать ее и ждать 1-1,5 месяца не хочется, да и не из дешевых она, проще Мегу купить.
     
  11. ИгорьК

    ИгорьК Гуру

    Вот скетч на 20 ступенек. Первая и последняя имеют ШИМ - ночную подсветку, остальные просто включаются и выключаются.
    Работоспособность скетча не проверял - нет ни меги ни датчиков. Если кто-то будет собирать на макетке - отпишитесь.
     

    Вложения:

    Последнее редактирование: 12 мар 2015
  12. birdtlt

    birdtlt Нуб

    Спасибо большое!
     
  13. ИгорьК

    ИгорьК Гуру

    Пожалуйста, посмотрите документацию на процессор. Кроме того, что лимитируется ток на отдельную ногу, также лимитируется ток на весь процессор. Поэтому, чтобы не спалить Мегу, возможно будет необходимо использовать только 10 светодиодов на макетке - ставьте их через один, но не забудьте первую и последнюю ступеньку, чтобы видеть как работает ночная подсветка.
    Так, на всякий случай. Разберитесь сами, возможно я дую на молоко.
    Это не касается окончательного проекта с использованием UNL или транзисторов - там ток минимальный.
     
  14. birdtlt

    birdtlt Нуб

    спасибо... но тут оказался другой косяк вылез.
    у меня есть arduino pro mini и вот-вот приедет arduino uno (а я почему-то был уверен, что заказывал Мегу).
    Видимо придется реализовывать проект из того, что есть и на сдвиговых регистрах 74HC595. У вас нет случайно в загажнике никакой заготовки для такого варианта (интересует именно для 20 ступеней и больше)? типа такого: http://mysofts.ru/publ/novosti/quot...aja_podsvetka_lestnicy_dachnogo_doma/8-1-0-31
    Но там скетч совсем не понятный для меня. По железу-то проблем нет, а вот с софтом...(
     
  15. ИгорьК

    ИгорьК Гуру

  16. birdtlt

    birdtlt Нуб

    Игорь, добрый день!
    Можно еще вопрос? Я-таки реализовал на макетке свой вариант подсветки лестницы на 20 ступеней. Правда на arduino pro mini и для расширения кол-ва выходов пришлось задействовать 3 шт. 74HC595. А вот для 1-ой и 20-ой ступеньки я использовал ШИМ-выходы с ардуинки, чтобы можно было реализовывать ночной дежурный режим... Но это мелочи. Работает.
    Суть вопроса вот в чем - мне очень понравился принцип (скелет) вашего скетча - организация основного цикла из подпрограмм через enum - опыта программирования нет, да и из того что я читал, такого не видел.
    Вы описываете основной массив подпрограмм как enum {NAME1, NAME2, ... NAMEx, } programmSteps;
    И потом уже в основном цикле запускаете по необходимости ту или иную подпрограмму через switch:
    void loop() {
    switch (programmSteps) {
    case NAME1:
    {подпрограмма }
    programmSteps = NAME2; //переход на следующую подпрограмму
    break;
    Очень красиво получилось, а главное в основной своей массе доступно для понимания даже мне (я последний раз что-то программировал для кафедры в институте. это было году в 1990-92).
    Игорь, извиняюсь за много букв - сам вопрос-то: Я правильно понял идеологию вашего скетча?
    Спасибо.
    PS. я заказал на алиэкспрессе Мегу2560, как придет - соберу макетку под ваш скетч, протестирую
     
  17. ИгорьК

    ИгорьК Гуру

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

    birdtlt Нуб

    Спасибо! Обязательно посмотрю... я не эксперт, но ваш стиль необычен и, я бы сказал, изящен... в общем мне он просто понравился =)
     
  19. ИгорьК

    ИгорьК Гуру

    Он описан в статье под первой ссылкой :) "Все украдено до нас", как утверждал здесь один из гостей.
     
  20. birdtlt

    birdtlt Нуб

    Игорь, добрый день! В этом скетче (на 20 ступенек) нет ли ошибки в массиве ног?
    Т.к. последняя ступенька массивом прописана на 46 ноге, а это уже не ШИМ-выход, то ночная подсветка работать не будет.

    byte OutPins[2][20] = {2,3,4,5,6,7,8,9,10,11,12,13,33,34,35,35,37,44,45,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // Массив PWM ног

    Наверное имеет смысл вместо 46 ноги использовать, например 3, т.е. эту строчку в скетче написать так:
    byte OutPins[2][20] = {2,4,5,6,7,8,9,10,11,12,13,33,34,35,35,37,44,45,46,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // Массив PWM ног