Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > CyberWrt

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.03.2015, 17:09   #1
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599
melsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud of
По умолчанию Re: CyberWrt модуль "Термостат"

Цитата:
Сообщение от sakatgg Посмотреть сообщение
Да еще один момент надо учитывать - при подключении 2х PCF8574 уровень на gpio увеличиться до (2шт 4.7кОм в паралель), что не есть гут. Надо как то компенсировать или заменить в обоих подвязку в 2 раза выше или в одном модуле выпаять
(tp-link 3020)
Я никаких подтяжек к +5v у себя не делал. Подключено по i2c на gpio-18 и 20 (это выводы переключателя) четыре штуки PCF8574.
Там уже впаяны резисторы подтяжки к 3v.
И для 8574 достаточно (единицы 2,8v) и проц не угробишь. Кабель витая пара. Длина около 3-метра к троим i2c, а один сантиметров 10 от роутера.

Переключатель только в крайнее положение к LAN разъему. И зафиксировал каплей клея.
melsem вне форума   Ответить с цитированием
Старый 14.03.2015, 20:04   #2
sakatgg
Senior Member
 
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989
sakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nice
По умолчанию Re: CyberWrt модуль "Термостат"

Цитата:
Сообщение от melsem Посмотреть сообщение
И для 8574 достаточно (единицы 2,8v) и проц не угробишь.
Это понятно когда питание 3В на 8574. Но 1620 на 3В еле тянет, приходиться на 5В подключать, и через подтяжку пойдет на gpio уже поболее.
Вот еще проблемы какие у меня с подключенным LCD 1620 через 8574:

1. Прописываю ручками в консоле - нормально подрубается:
echo 57 > /sys/class/gpio/export
echo 59 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio57/direction
echo out > /sys/class/gpio/gpio59/direction
insmod hd44780
echo 1 > /sys/class/gpio/gpio59/value

в rc.local вписываю - не подрубается, т.е. по cat /sys/kernel/debug/gpio не появляются пункты "gpio-60 (HD44780_DB4" и т.д.

2. Script text: вписал вывод даты и датчик темпы -> жму RUN -> Save -> 1620 все выводит. При перезагрузке приходиться вводить что в 1 пункте ручками, но на 1620 пусто, не помогает также остановка скрипта и запуск снова - пусто.

Что посоветуете?

Последний раз редактировалось sakatgg; 14.03.2015 в 20:30.
sakatgg вне форума   Ответить с цитированием
Старый 14.03.2015, 21:29   #3
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599
melsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud of
По умолчанию Re: CyberWrt модуль "Термостат"

Цитата:
Сообщение от sakatgg Посмотреть сообщение
Это понятно когда питание 3В на 8574. Но 1620 на 3В еле тянет, приходиться на 5В подключать, и через подтяжку пойдет на gpio уже поболее.
Питание подано на pcf8574 5v.
А подтяжка не на 5v а на 3v. Потому и писал что на входе 2.8v достаточно для pcf8574 при 5v питании.


Для запуска написать два одинаковых скрипта и все.
Но с такими именами:
HD44780 закинь в /etc/init.d атрибут 755
S88HD44780 закинь в /etc/rc.d атрибут 777

Код:
#!/bin/sh /etc/rc.common
START=88
start() {

  insmod i2c-dev
  insmod i2c-gpio-custom bus0=0,18,20

  echo pcf8574 0x27 > /sys/bus/i2c/devices/i2c-0/new_device

  echo 57 > /sys/class/gpio/export
  echo 59 > /sys/class/gpio/export
  echo out > /sys/class/gpio/gpio57/direction
  echo out > /sys/class/gpio/gpio59/direction
  insmod hd44780
  echo 1 > /sys/class/gpio/gpio59/value

}
stop() {

  rmmod hd44780

}
Вместо 0,18,20 вписать свои gpio для i2c. А вместо 0x27 адрес pcf8574.
И перезагрузи.

Она будет первой (с адресом 0x27) инициализирована после перезагрузки и gpio будут от 56 до 63.

Что бы другие pcf8574 добавить. Пропиши ниже этой строки:
Код:
echo pcf8574 0x27 > /sys/bus/i2c/devices/i2c-0/new_device
Команды с адресами других расширителей.
Все остальные gpio будут здесь читай.

Последний раз редактировалось melsem; 14.03.2015 в 23:43.
melsem вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:02. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика