lcd.begin(2, 16);
Shouldn't that be (16,2)?
LiquidCrystal lcd(2, 3, 4, 5, 11, 12);
And this should be (12, 11, 5, 4, 3, 2) according to the wiring in the photo (best that I can tell).
Almost all of the LCD tutorials have the wiring of the contrast pot wrong. It is a mistake that has been perpetuated through the years. The right way is to wire the one end of the pot to ground and the wiper to LCD pin 3 (V0). The other end of the pot is left disconnected. So the pot is a variable resistor. Actually I find that a 1K fixed resistor from ground to Vo gives me satisfactory contrast on virtually every LCD that I have tried.

void loop() {
lcd.print("Hello");
{ // this is an opening bracket, needs a closing bracket }
That loop will just spam the display. Move the lcd.print to setup so that it just prints once.