Why would this code not work with 16x2 lcd?
I'm not an expert programmer neither a good English speaker so don't criticize me.
const int contrast = 11;
const int RS = 10;
const int RW = 9;
const int enable = 13;
const int DO = 12;
const int D1 = 8;
const int D2 = 7;
const int D3 = 6;
const int D4 = 5;
const int D5 = 4;
const int D6 = 3;
const int D7 = 2;
void lcdwrite() {
analogWrite(RS, 5); // makes RS pin HIGH which makes it write mode
}
void lcdinst() {
analogWrite(RS, 0); // makes RS pin LOW wich makes it instruction mode
}
void lcdcontrast(int value) {
analogWrite(contrast, value); // makes VO pin the value of int value
}
void lcdmodewrite() {
analogWrite(RW, 0); // makes RW pin low for write mode
}
void lcdenable() {
digitalWrite(enable, HIGH);
delay(1500);
digitalWrite(enable, LOW);
}
void setup() {
lcdcontrast(3);
lcdwrite();
digitalWrite(12, HIGH); // code under should print F(binary: 1000110)
delay(500);
digitalWrite(8, LOW);
delay(500);
digitalWrite(7, LOW);
delay(500);
digitalWrite(6, LOW);
delay(500);
digitalWrite(5, LOW);
delay(500);
digitalWrite(4, HIGH);
delay(500);
digitalWrite(3, HIGH);
delay(500);
digitalWrite(3, LOW);
lcdenable();
}
void loop() {
}