[Libreria] PCF8574+HD44780 LCD I2C Library

Salve ho acquistato un display 20 x 4. Con modulo I2c. Pfc8574 e dopo molti tentativi sono riuscito a trovare la libreria giusta ora ho la necessita di connettere nello stesso arduino uno due sensori temperatura e umidita tipo DHT11 o DHT22. Ma uno solo riesco. E funziona. La scheda rele ok. Ma appena aggiungo secondo sensore non riesco a trovare un modo per attivarlo ..,, come si fa?

Per libreria giusta intendi questa ? Se così ti ringrazio del feedback positivo.

L'altra domanda non centra nulla con questa libreria, devi aprire un nuovo topic.

Ciao, la tua libreria funziona perfettamente, ma non so come fare una cosa :

Ho trovato in rete una marea di librerie per visualizzare font grandi su 20x4 (per capirci ogni lettera occupa 4 righe).... ma sono tutte per l'altro controller i2c... tipo liquidtwi o bigcrystaltwi.... non riesco ad adattarne nessuna, mi dai qualche dritta ?

grazie del feedback,

queste due sono per l'HD44780, vedi se ti vanno bene, ciao https://code.google.com/p/phi-big-font/

Grazie per la risposta ma sarebbe stato un delirio modificare quelle librerie.
Alla fine me le sono scritte io modificando una che avevo trovato per 16x2.

A chi interessasse allego i due file col font in versione FAT (4x4) ed in versione NARROW (4x3)

Saluti
Dario Cdj

LargeFontPCF8570-20x4narrow.ino (6.52 KB)

LargeFontPCF8570-20x4fat.ino (7.18 KB)

se ti servono solo i numeri va bene, quelle invece sono due librerie che includono anche le lettere ;)

grazie per aver postato gli sketch, possono sempre tornare utili

Testato: se ti servono solo i numeri va bene, quelle invece sono due librerie che includono anche le lettere ;)

grazie per aver postato gli sketch, possono sempre tornare utili

Si lo so che includono anche le lettere, ma NON FUNZIONANO CON PCF8574 :) O forse non sono riuscito io a farle funzionare !

Lettera o numero sono la stessa cosa, sempre un glifo sono. Non avendo mai provato però non posso esseri utile più di tanto.

Testato:
Avevo comprato una breakout board per pilotare in I2C il classico LCD HD44780. parliamo di roba da 1,5€ XD

Cercando in giro ho trovato infinite librerie, ma nessuna funzionava, tester alla mano ho notato che questo modello e’ connesso fisicamente in modo diverso dalle altre, ed in piu’ e’ veramente completa, ha tre pullup sui pin della scelta indirizzo, in modo che saldando la piazzola si puo’ cambiarlo facilmente, ha un jumper per spegnere la retroilluminazione, oppure lo si puo’ sostituire con una resistenza di limitazione (non tenere il jumper connesso senza resistenza se si stanno usando i 5V) ed infine ha le pullup sul bus I2C gia’ montate, quindi non serve metterle nel progetto.

Invece di continuare la ricerca ho messo mano ad una libreria del buon Mario_H rendendola compatibile e, secondo me, migliorandola. (questa la versione non funzionante http://hmario.home.xs4all.nl/arduino/LiquidCrystal_I2C/)

Visto le modifiche apportate, e comunque la non compatibilita’ di questa nuova libreria con la Ver. 2.0 originale, gli ho cambiato nome in PCF8574_HD44780_I2C

In allegato ci sono anche i datasheet dei componenti:

Queste le modifiche fatte:

Ver 2.1 (first release compatible with this breakoutboard):

  • Changed name to PCF8574_HD44780_I2C Library
  • Added Expander I/O Port define
  • Replaced many Hex value with a more friendly _BV() macro
  • Adapted all commands and flags define to this breakout board
  • Changed Backlight logic for NPN transistor used on this breakout board
  • Adapted send() function
  • Removed unnecessary Delay from Init() function
  • Comments added to many #Define

old downloads number: 26

Entro solo per ringraziarti, anche se il topic è vecchio, la realtà su questa libreria non è cambiata ed

iniziavo addirittura a pensare che il problema fosse dovuto ad una partita di display, con controller i2c

non funzionante, finalmente leggo “Hallo World” sul display, ottimo lavoro!!

Vorrei solo capire perché la libreria ufficiale non venga aggiornata, mi stavo proprio innervosendo

eheheh, mille siti e tutto riportato come se non esistessero problemi, ma alla fine la soluzione la trovo

qui, grazie ancora!!

Ciao

prego, e grazie del feedback :slight_smile:
Non c’e’ niente di ufficiale su questo modulo, chissa’ chi e dove sparso per la cina lo ha prodotto, e non ha fornito nessuna libreria.
Ma la forza dell’open source e’ questa, si riesce sempre a metterci una pezza :wink:

Ciao Testato, ti rompo di nuovo perchè ho un problema di compatibilità che non riesco a risolvere…

La tua libreria… (anzi più precisamente ho già problemi includendo solo Wire.h) non mi funziona con una particolare libreria per esp8266 che ti allego e con softwareserial (necessario per comunicare con la esp).

Se riesci a dare un’occhiata mi risolveresti un grosso problema… grazie

Saluti
Dario

Esp8266EasyIoT.h (3.88 KB)

Esp8266EasyIoT.cpp (16.6 KB)

se hai prblemi con la sola Wire.h ufficiale Arduino il rpoblema devi girarlo all'autore di quella lib, fai presente all'autore che non puoi usarla insieme a Wire.h e vediamo cosa risponde.

Buon giorno testato io ho la tua libreria e ti faccio i miei complimenti per il lavoro svolto che ha aiutato altri utenti come me, ma ho un problema con questa libreria: https://github.com/brunialti/MENWIZ, mi sapresti dire come usare la libreria qui grazie in anticipo

Conosco di fama la menviz ma non l'ho mai usata, perché non chiedi sul topic dedicato ad essa ? Lo trovi qui sul forum italiano

grazie della info :)

Ciao a tutti, sono nuovo e sto iniziando adesso ad utilizzare arduino. Ho seguito un pò di guide online ma non riesco a far funzionare in maniera corretta il mio display. Quando carico lo sketch mi visualizza a display solo il primo carattere di ogni riga e non tutte le parole, come mai?
Allego immagini e un pezzo dello sketch.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//#include <PCF8574_HD44780_I2C.h>

LiquidCrystal_I2C lcd(0x3F,16,2);
//PCF8574_HD44780_I2C lcd(0x3F,16,2);

void setup()
{
lcd.init(); // LCD Initialization
lcd.backlight(); // Backlight ON
lcd.clear(); // Clear the display

lcd.setCursor(0,0); // Set the cursor to col 0, row 0
lcd.print(“Hello”); // Print the first word
lcd.setCursor(0,1); // Set the cursor to col 0, row 1
lcd.print(“World!”); // Print the second word
}

void loop()
{
}

img2
img1

Nello sketch non stai usando questa libreria, cosa succede con questa ?

non cambia nulla, vengono visualizzate sempre le solite prime lettere. ho provato a disinstallare e reinstallare il tutto ma non è cambiato nulla. :confused:

RISOLTO! Scaricato un nuova libreria e compilato in questo modo:
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7); // 0x3F is the I2C bus address for an unmodified backpack

void setup()
{
// activate LCD module
lcd.begin (16,2); // for 16 x 2 LCD module
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(HIGH);
}

IO HO PROVATO ANCHE CON LA LIBRERIA NEW LIQUID CRISTAL MA STO EMNU MENWIX NON VA :( HELP

Questa è una libreria per interfacciarsi con un ben definito hw. Nel momento in cui ti funziona Hello World il suo scopo è raggiunto, se menwiz non funziona non è un problema di cui puoi accusare nessuno.

È tutto open source, implementa tu questa funzionalità :)