Tak snaha je základ a pokud rozumíš schématům, tak je to správně.
-
D0-D3 nemusíš přepojovat. Jenom na RD0-RD3 nastav 0 nebo přenastav komunikaci s LCD na 8-bitovou. Komunikace je 2x rychlejší, protože každý byte je Nastavit data->Nastavit RS->Kmitnout E. 4-bitová komunikace tohle celé dělá pro každý byte 2x. Pokud teda knihovna umí použít 8-bitový přenos…
-
Anodu a katodu podsvícení (pokud bys měl) nepřipojuj přímo k MCU. Anodu připoj na VCC, katodu přes tranzistor na GND, bázi tranzistoru na pin MCU (samozřejmě přes odpor…). Přímé připojení by pin případně celý MCU nemusel proudově ustát. Doporučuji do série s podsvícením přidat odpor (nebo na něj alespoň rezervovat místo na DPS).
-
Displej potřebuje po zapnutí čas na vnitřní inicializaci. Pro začátek po zapnutí zinicializuj piny MCU a počkej cca 500ms, než zavoláš inicializaci LCD. Proto ta řada čtverečků - LCD po zapnutí “prošvihnul” inicializační sekvenci z MCU. Za předpokladu, že zapojení odpovídá nastavení v programu, by to mělo naskočit, pokud MCU zrestartuješ resetem (bez vypnutí napájení).