LCD i konwerter PCF8574A

Dział poświęcony czujnikom/urządzeniom które obsługuje nettemp
chemikall
Posty: 6
Rejestracja: czw sty 28, 2016 9:08 pm

Re: LCD i konwerter PCF8574A

Postautor: chemikall » czw lut 16, 2017 9:18 pm

Dzięki jot za zainteresowanie zerkałem na ten wątek i nie doszukałem się rozwiązania które mógł bym zastosować jak pisałem wcześniej Patcha jeszcze nie wiem jak zrobić czy grzebać w binarce ;) inny użytkownik mariuchol pisze ze miał uszkodzony konwerter kupił nowy z adresem 27 i wszytko gra heh ja wolał bym zostać przy tym który mam jedynie zmienić adres na 3f i pewnie wszytko by działało czytałem też twój MOD MultiLCD super opcja jeżeli chodzi o wyświetlacz ale za bardzo nie wiem jak zainstalować twoje poprawki ;) jestem nowicjuszem w tym temacie ;) ale bardzo mi się podoba ;) aha wyświetlacz sprawdzałem na arduino i wszystko działa oczywiście na 5v w malinie podaje 3,3v bo przy 5v nie wykrywa urządzenia
Kosiarz
Posty: 143
Rejestracja: ndz mar 27, 2016 5:17 pm
Lokalizacja: Warszawa

Re: LCD i konwerter PCF8574A

Postautor: Kosiarz » czw lut 16, 2017 9:51 pm

@chemikall -mam to samo więc edytuj plik poleceniem:

Kod: Zaznacz cały

nano /var/www/nettemp/modules/lcd/lcd

i zamień wpisy tak jak napisano w poprzenich postach w kilku liniach tam gdzie masz $dir/modules/lcd/lcdi2c na $dir/modules/lcd/lcdi2c 0x3f chyba w około 5 liniach
po tym wyjdz ctrl +x i zapisz zmiany +reboot
jedyny minus jest taki ze po update nettemp bedzie zmieniało ci z powrotem na 27 :)
#RPI 3+/beta 4.1.15 NT główny # RPI 2/beta 4.1.15 NT testowy # wdzięczny zawsze za wsparcie
chemikall
Posty: 6
Rejestracja: czw sty 28, 2016 9:08 pm

Re: LCD i konwerter PCF8574A

Postautor: chemikall » czw lut 16, 2017 10:10 pm

Dzięki Kosiarz za pomoc jak to mało trzeba heh udało mi się zmienić adres teraz mam kolejny MAŁY problem z napięciem widzę na wyświetlaczu że coś tam się wyświetla ale ledwo widać podejrzewam że napięcie 3,3 v swoje robi powinien działać na 5v ale jak podaje mu 5v znika z magistrali i2c nie wykrywa urządzenia ;)
Kosiarz
Posty: 143
Rejestracja: ndz mar 27, 2016 5:17 pm
Lokalizacja: Warszawa

Re: LCD i konwerter PCF8574A

Postautor: Kosiarz » czw lut 16, 2017 10:22 pm

chemikall pisze:Dzięki Kosiarz za pomoc jak to mało trzeba heh udało mi się zmienić adres teraz mam kolejny MAŁY problem z napięciem widzę na wyświetlaczu że coś tam się wyświetla ale ledwo widać podejrzewam że napięcie 3,3 v swoje robi powinien działać na 5v ale jak podaje mu 5v znika z magistrali i2c nie wykrywa urządzenia ;)


na 3,3 V mi tez działa
sprawdź potencjometr [pokręć lewo prawo]
zworka musi być tez założona na konwenterze
sprawdź dokładnie sda scl i vcc i gnd czy dobrze podłaczone
#RPI 3+/beta 4.1.15 NT główny # RPI 2/beta 4.1.15 NT testowy # wdzięczny zawsze za wsparcie
chemikall
Posty: 6
Rejestracja: czw sty 28, 2016 9:08 pm

Re: LCD i konwerter PCF8574A

Postautor: chemikall » czw lut 16, 2017 10:34 pm

Sprawdziłem wszystko jak podłączam 5v nie wykrywa go na i2c jak daje 3,3v coś tak się wyświetla ale ledwo widać już wygooglowałem że potrzebuje Konwerter poziomów logicznych dwukierunkowy, 4-kanałowy hmm ale skoro tobie Kosiarz działa to nie wiem dlaczego u mnie nic nie widzę na lcd potencjometr kręciłem w jedną i drugą stronę zworka podłączona
Kosiarz
Posty: 143
Rejestracja: ndz mar 27, 2016 5:17 pm
Lokalizacja: Warszawa

Re: LCD i konwerter PCF8574A

Postautor: Kosiarz » czw lut 16, 2017 11:10 pm

tak powinien wygladac kod w pliku sparwdź proszę czy po 3f masz reszte znakow

Kod: Zaznacz cały

#! /bin/bash

dir=$( cd "$( dirname "$0" )" && cd ../../ && pwd )
file=$dir/tmp/lcd

lcd=$(sqlite3 -cmd ".timeout 2000" $dir/dbf/nettemp.db  "SELECT lcd FROM settings WHERE id='1'")
lcd4=$(sqlite3 -cmd ".timeout 2000" $dir/dbf/nettemp.db  "SELECT lcd4 FROM settings WHERE id='1'")

if [[ "$lcd" == "on" ]]
then

    $dir/modules/lcd/lcdi2c4 -a 0x3f -l -b 1 -r 4
"$(printf "%-15s %-15s" "$(echo nettemp.pl| cut -c 1-15) " "$(echo lcd mod| cut -c 1-15)")"
    sleep 2
    while :
   do
   
   IFS=$'\n' lines=($(cat $file))
   max=$(cat $file |wc -l)
   f="0"
   s="1"
      
   while [ "$s" -le "$max" ] ; do
        $dir/modules/lcd/lcdi2c4 -a 0x3f -l -b 1 -r 4 "$(printf "%-15s %-15s" "$(echo ${lines[$f]} | cut -c 1-15)" "$(echo ${lines[$s]}| cut -c 1-15)")"
               echo "$(printf "%-15s %-15s" "$(echo ${lines[$f]} | cut -c 1-15)" "$(echo ${lines[$s]}| cut -c 1-15)")"
       sleep 2
       f=$(expr $f + 1)
       s=$(expr $s + 1)
       if [[ "$max" == "2" ]]; then
      break   
       fi
      
   done
   done

elif [[ "$lcd4" == "on" ]]
then

    $dir/modules/lcd/lcdi2c4 -a 0x3f -l -b 1 -r 4 "$(printf "%-15s %-15s" "$(echo nettemp.pl| cut -c 1-15) " "$(echo lcd mod| cut -c 1-15)")"
    sleep 2
    while :
   do
   
   IFS=$'\n' lines=($(cat $file))
   max=$(cat $file |wc -l)
   f="0"
   s="1"
   t="2"
   l="3"
   while [ "$s" -le "$max" ] ; do
       $dir/modules/lcd/lcdi2c4 -a 0x3f -l -b 1 -r 4  "$(printf "%-20s%-20s%-20s%-20s" "$(echo ${lines[$f]} | cut -c 1-20)" "$(echo ${lines[$t]} | cut -c 1-20)" "$(echo ${lines[$s]} | cut -c 1-20)" "$(echo ${lines[$l]} | cut -c 1-20)")"
            $dir/modules/lcd/lcdi2c4 -a 0x3f -l -b 1 -r 4  "$(printf "%-19s %-19s %-19s %-19s" "$(echo ${lines[$f]} | cut -c 1-19)" "$(echo ${lines[$s]} | cut -c 1-19)" "$(echo ${lines[$t]} | cut -c 1-19)" "$(echo ${lines[$l]} | cut -c 1-19)")"
                         echo  "$(printf "%-19s %-19s %-19s %-19s" "$(echo ${lines[$f]} | cut -c 1-19)" "$(echo ${lines[$s]} | cut -c 1-19)" "$(echo ${lines[$t]} | cut -c 1-19)" "$(echo ${lines[$l]} | cut -c 1-19)")"
           sleep 3
           f=$(expr $f + 1)
           s=$(expr $s + 1)
           t=$(expr $t + 1)
       l=$(expr $l + 1)
       if [[ "$max" == "4" ]]; then
      break   
       fi
   done
   done

fi
#RPI 3+/beta 4.1.15 NT główny # RPI 2/beta 4.1.15 NT testowy # wdzięczny zawsze za wsparcie
chemikall
Posty: 6
Rejestracja: czw sty 28, 2016 9:08 pm

Re: LCD i konwerter PCF8574A

Postautor: chemikall » pt lut 17, 2017 3:48 pm

Postępy postępy ;) wyświetlacz przemówił ale działają dwa wiersze i zamiast wyświetlać temperaturę zadanych czujników wyświetlają się jakieś szlaczki wkleiłem kopię twojego kodu w plik lcd.
Kosiarz
Posty: 143
Rejestracja: ndz mar 27, 2016 5:17 pm
Lokalizacja: Warszawa

Re: LCD i konwerter PCF8574A

Postautor: Kosiarz » pt lut 17, 2017 5:40 pm

chemikall pisze:Postępy postępy ;) wyświetlacz przemówił ale działają dwa wiersze i zamiast wyświetlać temperaturę zadanych czujników wyświetlają się jakieś szlaczki wkleiłem kopię twojego kodu w plik lcd.

W ustawieniach nettemp masz zaznaczony odpowiedni wyświetlacz? To jest plik przykładowy bez ustawienia na 4x20 LCD w nettemp
wiec:
1.ustaw w Device /LCD odpowiedni wyświetlacz
a)kliknij reboot
2.otwórz plik jak wcześniej pisałem
3.znajdź odpowiednia linijke i zamień kod na 0x3f [linia 12,23,38,50]
4 zapisz zamknij kliknij reboot
#RPI 3+/beta 4.1.15 NT główny # RPI 2/beta 4.1.15 NT testowy # wdzięczny zawsze za wsparcie
jot
Posty: 813
Rejestracja: śr lut 03, 2016 8:50 pm

Re: LCD i konwerter PCF8574A

Postautor: jot » pt lut 17, 2017 8:18 pm

Kosiarz pisze:tak powinien wygladac kod w pliku sparwdź proszę czy po 3f masz reszte znakow

W Twojej kopii pliku wypychające dane na LCD chyba wkradły się dwa błędy:
1) w linii 12 po '-r 4' jest znak nowej linii, którego chyba tam być nie powinno, a może to powodować, że lcd nie zostanie zainicjalizowany poprawnie
2) w oryginale w linii 51 ( https://github.com/sosprz/nettemp/blob/ ... cd/lcd#L51 ) jest na początku wstawiony znak komentarza, którego u Ciebie brakuje w linii 52. W związku z czym w Twojej wersji ostatnia kolumna na wyświetlaczu zawsze będzie pusta.
Kosiarz
Posty: 143
Rejestracja: ndz mar 27, 2016 5:17 pm
Lokalizacja: Warszawa

Re: LCD i konwerter PCF8574A

Postautor: Kosiarz » pt lut 17, 2017 8:42 pm

jot pisze:
Kosiarz pisze:tak powinien wygladac kod w pliku sparwdź proszę czy po 3f masz reszte znakow

W Twojej kopii pliku wypychające dane na LCD chyba wkradły się dwa błędy:
1) w linii 12 po '-r 4' jest znak nowej linii, którego chyba tam być nie powinno, a może to powodować, że lcd nie zostanie zainicjalizowany poprawnie
2) w oryginale w linii 51 ( https://github.com/sosprz/nettemp/blob/ ... cd/lcd#L51 ) jest na początku wstawiony znak komentarza, którego u Ciebie brakuje w linii 52. W związku z czym w Twojej wersji ostatnia kolumna na wyświetlaczu zawsze będzie pusta.

Racja @jot dlatego napisalem ze to tylko przyklad a najlepiej chyba tak jak ja robilem dokonac zmiany na swoim pliku poprzez zmiane adresu w odpowiednich liniach :-)
Ale racja trzeba byc dokladnym w przekazie:-)
#RPI 3+/beta 4.1.15 NT główny # RPI 2/beta 4.1.15 NT testowy # wdzięczny zawsze za wsparcie

Wróć do „Nettemp Devices”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości