TavIR I2C_LCD -hez Függvénykönyvtár.

Hogyha sikeresen O/PLED illetve hagyományos alfanumerikus - esetleg tán grafikus kijelzővel gyűlik meg a baja valakinek:)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: Robert »

Más I2C-s Liquidcrystal sincsen sehol fenn?
Melyik Arduino keretrendszer?
Küld fényképet az I2C-s LCDről (ne ami a shopban van, hanem amit összeraktál)
Mit csinál a i2scanner? Mit ír ki?

Kód: Egész kijelölése

// --------------------------------------
    // i2c_scanner
    //
    // Version 1
    //    This program (or code that looks like it)
    //    can be found in many places.
    //    For example on the Arduino.cc forum.
    //    The original author is not know.
    // Version 2, Juni 2012, Using Arduino 1.0.1
    //     Adapted to be as simple as possible by Arduino.cc user Krodal
    // Version 3, Feb 26  2013
    //    V3 by louarnold
    // Version 4, March 3, 2013, Using Arduino 1.0.3
    //    by Arduino.cc user Krodal.
    //    Changes by louarnold removed.
    //    Scanning addresses changed from 0...127 to 1...119,
    //    according to the i2c scanner by Nick Gammon
    //    http://www.gammon.com.au/forum/?id=10896
    // Version 5, March 28, 2013
    //    As version 4, but address scans now to 127.
    //    A sensor seems to use address 120.
    //
    //
    // This sketch tests the standard 7-bit addresses
    // Devices with higher bit address might not be seen properly.
    //
     
    #include <Wire.h>
     
     
    void setup()
    {
      Wire.begin();
     
      Serial.begin(9600);
      Serial.println("\nI2C Scanner");
    }
     
     
    void loop()
    {
      byte error, address;
      int nDevices;
     
      Serial.println("Scanning...");
     
      nDevices = 0;
      for(address = 1; address < 127; address++ )
      {
        // The i2c_scanner uses the return value of
        // the Write.endTransmisstion to see if
        // a device did acknowledge to the address.
        Wire.beginTransmission(address);
        error = Wire.endTransmission();
     
        if (error == 0)
        {
          Serial.print("I2C device found at address 0x");
          if (address<16)
            Serial.print("0");
          Serial.print(address,HEX);
          Serial.println("  !");
     
          nDevices++;
        }
        else if (error==4)
        {
          Serial.print("Unknow error at address 0x");
          if (address<16)
            Serial.print("0");
          Serial.println(address,HEX);
        }    
      }
      if (nDevices == 0)
        Serial.println("No I2C devices found\n");
      else
        Serial.println("done\n");
     
      delay(5000);           // wait 5 seconds for next scan
    }

http://www.tavir.hu - a gazda :)
Mouset
DrótVégénSzéndarab
Hozzászólások: 35
Csatlakozott: 2016. szeptember 10. szombat, 7:13

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: Mouset »

[quote="Robert"]Más I2C-s Liquidcrystal sincsen sehol fenn?
Melyik Arduino keretrendszer?
Küld fényképet az I2C-s LCDről (ne ami a shopban van, hanem amit összeraktál)
Mit csinál a i2scanner? Mit ír ki?
/quote]

Tettem fel máshonnan leszedtet, de azzal sem ment.
Arduino 1.0.5
Csatoltam a képet

A Scanner ezt írja ki:

Scanning...
I2C device found at address 0x27 !
done
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: Robert »

Az LCD _NINCS_ beforrasztva....
A mintakód a GY-IIC sorral megy...
http://www.tavir.hu - a gazda :)
Mouset
DrótVégénSzéndarab
Hozzászólások: 35
Csatlakozott: 2016. szeptember 10. szombat, 7:13

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: Mouset »

Robert írta:Az LCD _NINCS_ beforrasztva....
A mintakód a GY-IIC sorral megy...
OK holnap beforrasztom, de ha csak simán összeillesztem és nem a panelra teszem akkor sem működik. Így szerintem a forrasztás nem befolyásolja, de mind1 holnap megcsinálom.

Aktívvá tettem azt a sort, a helyzet változatlan. :-(
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: Robert »

Vagy a fekete nyák esetén az alábbi sor legyen csak aktív:
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address (black pcb)
http://www.tavir.hu - a gazda :)
Mouset
DrótVégénSzéndarab
Hozzászólások: 35
Csatlakozott: 2016. szeptember 10. szombat, 7:13

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: Mouset »

Robert írta:Vagy a fekete nyák esetén az alábbi sor legyen csak aktív:
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address (black pcb)
Beforrasztottam az I2C-t az LCD-re.
Kipróbáltam az összes sorral külön külön volt aktív.
Egyikkel sem működik.

Itt már nem tudok mit csinálni. Lehet hogy hardware hiba van?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: Robert »

Akklor jön a kísérletezés:
- hány karakter látszódik, hány kocka van?
- Ha a kontrasztot állítod, akkor történik valami?
- A háttérvilágítás ki/bekapcsolása megy programból?
http://www.tavir.hu - a gazda :)
Avatar
csegebiga
Chipgyilok
Hozzászólások: 288
Csatlakozott: 2015. március 27. péntek, 21:27

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: csegebiga »

szerintem kezdjünk egy kisérletbe!
induljunk a kájhától.
1 tölts le egy nem install verzióju keretrendszert pl 1.6.8 windows
2. csomagold ki egy könyvtárba
3. csinálj belőle portable verziót, hozz létre a könyvtárban egy portable mappát
4. indítsd el az arduino.exe-t, majd, ha megnyugodott a program, lépj ki
5. szedd ki a lbraries mappából a LiquidCrystal könyvtárat (töröld, vagy mozgasd el máshova)
6. töltsed le a New LiquidCrystal libraryt
7. add hozzá a letöltött zip-et az arduinohoz

ezekután nekem ez a példaprogi szó nélkül lefutott.
ez egy 4x20 as lcdvel ment

Kód: Egész kijelölése

/* Demonstration sketch for PCF8574T I2C LCD Backpack 
Uses library from https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads GNU General Public License, version 3 (GPL-3.0) */
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
 
LiquidCrystal_I2C  lcd(0x27,2,1,0,4,5,6,7); // 0x27 is the I2C bus address for an unmodified backpack
 
void setup()
{
  // activate LCD module
  lcd.begin (20,4); // for 16 x 2 LCD module pse change it
  lcd.setBacklightPin(3,POSITIVE);
  lcd.setBacklight(HIGH);
  lcd.home (); // set cursor to 0,0
  lcd.print(" Szia, Juvi!"); 
}
 
void loop()
{  
  lcd.setBacklight(LOW);      // Backlight off
  delay(250);
  lcd.setBacklight(HIGH);     // Backlight on
  lcd.setCursor (0,1);        // go to start of 2nd line
  lcd.print(millis());
  
  // for 16 x 2 LCD module pse remark the following 4 rows
  lcd.setCursor (0,2);        // go to start of 3th line 
  lcd.print(" megy ez rendesen!"); 
  lcd.setCursor (0,3);        // go to start of 4th line
  lcd.print("12345678901234567890"); 

  delay(1000);  
}
kiváncsi leszek az eredményre
(c)csege
Mouset
DrótVégénSzéndarab
Hozzászólások: 35
Csatlakozott: 2016. szeptember 10. szombat, 7:13

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: Mouset »

(c)csege: Végig csináltam mindent ahogy leírtad. Az eredmény az hogy az LCD villog. olyan mintha ez futna csak.

lcd.setBacklight(LOW); // Backlight off
delay(250);
lcd.setBacklight(HIGH); // Backlight on

Mert ha a delay állítom akkor a villogás sebessége változik. De egy árva betűt nem ír ki.

Ezt a library fájlt szedtem le és csatoltam fel az Aruinohoz: NewliquidCrystal_1.3.4.zip

Róbert:
16 db kocka van a kijelzőn a felső sorban
ha állítom a kontrasztot az I2C tekerőjével akkor a kockák elhalványodnak majd felerősödnek
A kijelző ütemesen villog
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: kapu48 »

Ha 16 kockát látsz?
Akkor 16 karakteres az LCD!
És igy csináld: lcd.begin (16,4); // for 16 oszlop x 4 sor LCD module pse change it
Mouset
DrótVégénSzéndarab
Hozzászólások: 35
Csatlakozott: 2016. szeptember 10. szombat, 7:13

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: Mouset »

kapu48 írta:Ha 16 kockát látsz?
Akkor 16 karakteres az LCD!
És igy csináld: lcd.begin (16,4); // for 16 oszlop x 4 sor LCD module pse change it
2 soros az LCD és átírtam így:

lcd.begin (16,2);
Mouset
DrótVégénSzéndarab
Hozzászólások: 35
Csatlakozott: 2016. szeptember 10. szombat, 7:13

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: Mouset »

Levideóztam hogy mit csinál: https://youtu.be/G83yHuXaSFw
Avatar
csegebiga
Chipgyilok
Hozzászólások: 288
Csatlakozott: 2015. március 27. péntek, 21:27

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: csegebiga »

a villogás azt mutatja, hogy van élő iic kapcsolat az lcd és az arduino modul között.

egy kérés: a .\portable\preferences.txt -ben állítsd be a "build.verbose=true" sort.
hátha többet elárul a gondodról. lesd meg a fordítási logot, van-e benne warning vagy error?

kettő további kérdés:
1. az iic illesztőn milyen chip van?
2. a NewLiquidCristal példaprogramok között van egy SerialDisplay
az mit csinál?
itt egy módosított verzió:(a setupig cseréltem a fájl elejét)

Kód: Egész kijelölése

/* Displays text sent over the serial port (e.g. from the Serial Monitor) on
 * an attached LCD. */
  
 /* Demonstration sketch for PCF8574T I2C LCD Backpack 
Uses library from https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads GNU General Public License, version 3 (GPL-3.0) */

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
 
LiquidCrystal_I2C  lcd(0x27,2,1,0,4,5,6,7); // 0x27 is the I2C bus address for an unmodified backpack
 
void setup()
{
  // activate LCD module
  lcd.begin (20,4); // for 16 x 2 LCD module pse change it
  lcd.setBacklightPin(3,POSITIVE);
  lcd.setBacklight(HIGH);
  
  Serial.begin(9600);		//soros port a serial monitorhoz
}

void loop()
{
  // when characters arrive over the serial port...
  if (Serial.available()) 
  {
    // wait a bit for the entire message to arrive
    delay(100);
    // clear the screen
    lcd.clear();
    // read all the available characters
    while (Serial.available() > 0) 
    {
      // display each character to the LCD
      lcd.write(Serial.read());
    }
  }
}

ez nem az lcd.print(), hanem az lcd.write() metódust használja
hátha megy.
Mouset
DrótVégénSzéndarab
Hozzászólások: 35
Csatlakozott: 2016. szeptember 10. szombat, 7:13

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: Mouset »

a villogás azt mutatja, hogy van élő iic kapcsolat az lcd és az arduino modul között.

egy kérés: a .\portable\preferences.txt -ben állítsd be a "build.verbose=true" sort.

Nem találtam ilyen sort, de beillesztettem. Csatolom...

hátha többet elárul a gondodról. lesd meg a fordítási logot, van-e benne warning vagy error?

Lefutott simán, nem írt hibát.

kettő további kérdés:
1. az iic illesztőn milyen chip van?
Ez van ráírva (Tavir webshopból van):

PCF8574T
TH7219
knM99483


2. a NewLiquidCristal példaprogramok között van egy SerialDisplay
az mit csinál?

Úgyanúgy csak villog..

itt egy módosított verzió:(a setupig cseréltem a fájl elejét)

ez nem az lcd.print(), hanem az lcd.write() metódust használja
hátha megy.
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: TavIR I2C_LCD -hez Függvénykönyvtár.

Hozzászólás Szerző: kapu48 »

Még mindig rossz: lcd.begin (20,4); !!!!!????
javitsad: lcd.begin (16,2);
Válasz küldése