roboforum.ru

Технический форум по робототехнике.
Текущее время: 26 ноя 2024, 19:42

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 14 мар 2016, 22:34 
Не в сети

Зарегистрирован: 13 авг 2014, 09:20
Сообщения: 124
прог. языки: Blitz3D, Processing
ФИО: Михаил
Задача в чем? Есть светодиод и фотоэлемент в одном корпусе. Плюсы у них приходят отдельно а вот минус общий. Как узнать замкнул ли фотоэлемент цепь или нет? То есть я питаю фотоэлемент с пина 1 к примеру. Если фотоэлемент засвечен то он замыкает цепь. Как узнать замкнута цепь или нет? Или может надо с другого боку подходить?


Вложения:
IMG_20160314_205433[1].jpg
IMG_20160314_205433[1].jpg [ 1.6 МиБ | Просмотров: 1977 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 14 мар 2016, 22:53 
Не в сети
Аватара пользователя

Зарегистрирован: 13 май 2011, 21:37
Сообщения: 3202
Откуда: Bb
Написать скетч? Если открыт - отправить в юарт 1, если нет то 0 отправлять.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 14 мар 2016, 23:00 
Не в сети

Зарегистрирован: 13 авг 2014, 09:20
Сообщения: 124
прог. языки: Blitz3D, Processing
ФИО: Михаил
ilalexey, Открыт пин? а как узнать открыт или нет? какие команды используют?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 14 мар 2016, 23:10 
Не в сети
Аватара пользователя

Зарегистрирован: 13 май 2011, 21:37
Сообщения: 3202
Откуда: Bb
HIGH и LOW наверно(digitalRead).
Может лед диод посадить для визуальной оценки?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 14 мар 2016, 23:27 
Не в сети

Зарегистрирован: 13 авг 2014, 09:20
Сообщения: 124
прог. языки: Blitz3D, Processing
ФИО: Михаил
ilalexey, так вот в чем дело то. Ставлю пин 1 как output чтобы питать (пока возьмем) свето диод. Он горит. Но читать пин не могу, потому что он установлен как output. А если поставить Input и подавать digitalWrite (HIGH) то это немного не правильно, или так делают?

Добавлено спустя 5 минут 51 секунду:
попробовал сдлать пин как Input и подал на него HIGH. интерестный эффект. Когда есть потребитель(Светодиод) то напряжение на пине низкое. Контрольный лэд не горит. Но если потребителя нет, то лэд загорается. Это нормальная структура? ничего страшного что пин настроен на Input?

Код:
  digitalWrite(chk, HIGH);
  if(digitalRead(chk)==HIGH){
    digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  }else{
    digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  }


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 14 мар 2016, 23:33 
Не в сети
Аватара пользователя

Зарегистрирован: 13 май 2011, 21:37
Сообщения: 3202
Откуда: Bb
"светодиод и фотоэлемент в одном корпусе" = "щелевая оптопара"
Не уверен в сути твоей затеи, но этот элемент специально придумали, чтобы разделить одно от другого. Зачем тебе одной ногой и читать и писать?
На излучающий диод повесь питание на пмж, а другую сторону воткни на пин и читай его.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 14 мар 2016, 23:53 
Не в сети

Зарегистрирован: 13 авг 2014, 09:20
Сообщения: 124
прог. языки: Blitz3D, Processing
ФИО: Михаил
ilalexey, то есть если я правильно понял, то диод излучая засветит фотоэлемент и на его ноге появится сигнал, так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 14 мар 2016, 23:59 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2014, 13:53
Сообщения: 448
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч
Судя по фотографии это оптический энкодер. В его состав входит обычная оптопара светодиод-фотодиод. Совершенно не понятно зачем вы пытаетесь светодиод питать от контроллера? Подключите светодиод через сопротивление 100Ом-1кОм к +5В. Фотодиод соедините так же через сопротивление 1кОм на +5В, общую точку сопротивление-фотодиод подключайте к нужному выводу МК, вывод настройте на ввод, и командой digitalRead() читайте состояние пина, только имейте ввиду, что импульсы будут инверсные. Но т.к. у вас энкодер, то в этом случае рекомендуется использовать программные прерывания, иначе имеется большая вероятность потерь импульсов.
Схема должна быть такой:
Вложение:
Безымянный.jpg
Безымянный.jpg [ 29.64 КиБ | Просмотров: 1940 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 15 мар 2016, 00:26 
Не в сети

Зарегистрирован: 13 авг 2014, 09:20
Сообщения: 124
прог. языки: Blitz3D, Processing
ФИО: Михаил
lori, меня не правильно поняли) Я про светодиод говорил, про обычный. Не про тот что в энкодере, а про простой тестовый. Ну вот по схеме попробую соединить. А инверсные импульсы, это то есть с отрицательным знаком? Есть особенность в считывании импульсов такого типа?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 15 мар 2016, 00:40 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2014, 13:53
Сообщения: 448
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч
Нет не с отрицательным, в вашем случае будет так: если светодиод освещает фотодиод, то считываться будет логический 0, если засветки нет то 1.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 15 мар 2016, 00:41 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
MIHAnik22 писал(а):
попробовал сдлать пин как Input и подал на него HIGH

Пин остается входом, но при записи в него HIGH к нему подключается подтягивающий резистор (через него может гореть светодиод). При LOW он просто висит в воздухе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 15 мар 2016, 00:48 
Не в сети

Зарегистрирован: 13 авг 2014, 09:20
Сообщения: 124
прог. языки: Blitz3D, Processing
ФИО: Михаил
Scorpio, благодарю, теперь понятно!)

lori, все пойду пробовать)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 15 мар 2016, 01:11 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2014, 13:53
Сообщения: 448
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч
MIHAnik22 писал(а):
Scorpio, благодарю, теперь понятно!)

lori, все пойду пробовать)

Удачи!!! :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 15 мар 2016, 11:02 
Не в сети
Аватара пользователя

Зарегистрирован: 13 май 2011, 21:37
Сообщения: 3202
Откуда: Bb
..спасибо всем, ну а волку - кожура..
Всё, обиделся. Не буду больше подсказывать никому ничего


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать, есть ли потребитель на пине у платы или нет?
СообщениеДобавлено: 15 мар 2016, 11:07 
Не в сети

Зарегистрирован: 13 авг 2014, 09:20
Сообщения: 124
прог. языки: Blitz3D, Processing
ФИО: Михаил
Класс! все считал как хотел! вот загвоздка только в понятии направлении вращения диска с прорезями. Я знаю как можно определить направление вращение диска, но напряжение которое я считываю очень малое меньше 1 в аналоговом исчислении, можно ли как то усилить настолько слабый сигнал?

ilalexey, оп. Да лан, что обижатся то?) Ну тебе тоже благодарность)) За Желание)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO