16 blocks and a blank bottom row.
That means that you have connected pins 1 and 2 correctly. Also, it looks to me like you know how to connect the LCD control pins 4, 5, and 6 (RS, R/W, and Enable). Seeing the blocks also means to me that you have LCD pin 3 (Vo) connected in a way that works.
If you are using the (unmodified) HelloWorld example, the data pins should be connected as follows:
* LCD DB4 (pin 11 on the LCD) to Arduino digital pin 5
* LCD DB5 (pin 12 on the LCD) to Arduino digital pin 4
* LCD DB6 (pin 13 on the LCD) to Arduino digital pin 3
* LCD DB7 (pin 14 on the LCD) to Arduino digital pin 2
And the LiquidCrystal
statement in the sketch is
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
If you change the data pin connections, you have to change the LiquidCrystal
In other words for the wiring that you told us about in your post, that statement would be
LiquidCrystal lcd(12, 11, 5, 6, 7, 8);
Either change the wiring to agree with the comments (and the LiquidCrystal
statement) in the sketch or change that statement in the sketch to agree with your wiring.
dark pixels and bright pixels or just bright pixels and the background?
This is a monochrome display. A pixel is either on or off. An "on" pixel has a different color than the background. With proper contrast setting (voltage on LCD pin 3) an "off" pixel lets the background show through. I'm thinking that particular display has dark pixels on a light background, but different modules with similar part numbers may have different appearances.