ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Вход/выход  (Прочитано 3644 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Александр Глухов

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 122
Вход/выход
« : 05 Ноября, 2014, 11:06:18 »

Здравствуйте, я перехожу к новой теме вопросов, и мне нужна помощь в подключении и получении входных/выходных сигналов:
Сначала с входными. Есть магнитный датчик, от него идут два контакта и нужно их воткнуть в тион и видеть замкнут датчик (магниты вместе) или разомкнут (магниты разведены). Вопрос вот в чем:
1) Куда, к какому разъему/интерфейсу можно присоединить эти два контакта?
2) Как в Тионе с Linux (или в Java) увидеть состояние этих контактов?
Можете посоветовать, какие разъемы/интерфейсы на Тионе подойдут для этой задачи? Может есть некое описание по этим вопросам?
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Вход/выход
« Ответ #1 : 05 Ноября, 2014, 11:34:17 »

Добрый день.
Замкнут контакт или разомкнут можно определить с помощью GPIO. Один контакт на землю, второй к линии GPIO.

Как работать с GPIO в Linux описано, например, тут:
https://www.kernel.org/doc/Documentation/gpio/gpio.txt
Записан

Александр Глухов

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 122
Re: Вход/выход
« Ответ #2 : 05 Ноября, 2014, 12:28:36 »

Я правильно понимаю, что GPIO разъемы, это X19 и X22?
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Вход/выход
« Ответ #3 : 05 Ноября, 2014, 12:37:56 »

Да, эти выводы можно использовать как GPIO.
Записан

Александр Глухов

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 122
Re: Вход/выход
« Ответ #4 : 05 Ноября, 2014, 12:59:09 »

На Тионе в папке /sys/class/gpio/gpiochip вижу вот что:
gpiochip0/   gpiochip128/ gpiochip32/  gpiochip64/  gpiochip96/
Это имеет отношение к выводам Х19 и Х22?
Записан

Александр Глухов

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 122
Re: Вход/выход
« Ответ #5 : 05 Ноября, 2014, 15:16:27 »

Сделал
echo 52 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio52/direction
echo 1 > /sys/class/gpio/gpio52/value
Соединил светодиодом 1-й и 6-й ножки (см. картинку)
http://clip2net.com/s/jdNkFl
получил горящий диод))
Но это на выводе. Один конец к питанию, другой к выводу. А на входе? Я правильно понял, что входящий сигнал подключаю одним концом к выводу, а другим к земле? (это две ножки по другую сторону от питания?)
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Вход/выход
« Ответ #6 : 05 Ноября, 2014, 15:24:11 »

Сразу после export'а GPIO на вход (или echo out > .../direction).

> одним концом к выводу, а другим к земле?

Да если у вашего устройства выход напряжения, логический с уровнем 3.3V и нет наводок, способных повредить вывод процессора (иначе нужна доп. схема защиты).
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Вход/выход
« Ответ #7 : 05 Ноября, 2014, 15:24:51 »

> одним концом к выводу, а другим к земле?

И полярность не перепутайте, если она есть.
Записан

Александр Глухов

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 122
Re: Вход/выход
« Ответ #8 : 05 Ноября, 2014, 15:32:04 »

Хорошо, спасибо, буду иметь ввиду, а как смоделировать этот входной сигнал? От батарейки если или просто замкнуть, можно получить единицу на
cat /sys/class/gpio/gpio52/value?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Вход/выход
« Ответ #9 : 05 Ноября, 2014, 15:36:23 »

Можно замыкать 3.3В от самого разъёма на желаемый контакт, лучше через резистор ~1к, чтобы не было обидно в случае ошибки.
Записан