|
|
Опции темы | Поиск в этой теме | Опции просмотра |
16.01.2015, 01:52 | #1 |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599 |
Расширитель gpio (ввода/вывода) TP-LINK TL-MR3020 по i2c на PCF8574
Расширитель gpio (ввода/вывода) портов на чипе PCF8574
Почитав статью, и использовав всего 2 - gpio для i2c получаем очень много дополнительных выводов (ввода/вывода). Которыми можно легко управлять как обычными пинами. Пример с LCD: Фаил hd44780.ko с архива закинуть в /lib/modules/3.10.4 Исправил в модуле hd44780 (использовавший 6-пинов проца) под присланные с китая i2c платы на PCF8574. wn1602 и 2004 по шине i2c работают. Вот моё соответствие по выводам от pcf8574 к lcd. Встречал три разных подключения. * Pins of PCF8574 : P3. P0. P1. P2.. P7 P6 P5. P4 * Pins of HD44780: LED RS RW E... D7 D6 D5 D4 Линия SDA к gpio-18 Линия SCL к gpio-20 Адрес pcf8574 0x27 (к которому подключен lcd wn2004) Код:
opkg update opkg install i2c-tools opkg install kmod-i2c-gpio-custom 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 Курсор в начало второй строки printf '\xff\xc0' > /dev/hd44780 и DATa=$(date +%d'.'%b'. '%H:%M) && echo '*'$DATa' * ' > /dev/hd44780 На табло второй строки будет: *16.Jan. 00:35 * Курсор в начало первой строки printf '\xff\x80' > /dev/hd44780 и echo -n 'TP-Link CyberWrt' > /dev/hd44780 На табло первой строки будет: TP-Link CyberWrt -- А так еще одну pcf8574 подключил: Адрес pcf8574A 0x38 Код:
echo pcf8574 0x38 > /sys/bus/i2c/devices/i2c-0/new_device echo 48 > /sys/class/gpio/export echo 49 > /sys/class/gpio/export echo 50 > /sys/class/gpio/export echo 51 > /sys/class/gpio/export echo 52 > /sys/class/gpio/export echo 53 > /sys/class/gpio/export echo 54 > /sys/class/gpio/export echo 55 > /sys/class/gpio/export echo in > /sys/class/gpio/gpio48/direction echo in > /sys/class/gpio/gpio49/direction echo in > /sys/class/gpio/gpio50/direction echo in > /sys/class/gpio/gpio51/direction echo out > /sys/class/gpio/gpio52/direction echo out > /sys/class/gpio/gpio53/direction echo out > /sys/class/gpio/gpio54/direction echo out > /sys/class/gpio/gpio55/direction cat /sys/kernel/debug/gpio и i2cdetect -y i2c-gpio0 Последний раз редактировалось melsem; 24.09.2015 в 07:53. |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|