#include <Wire.h>
#define LCD05 0x63 // LCD05 address
char stringBuf[20];
byte buffer[4];
void setup()
{
delay(100); // Delay to wait for everything to power up
Wire.begin();
buffer[0] = 0; // Clear the screen
buffer[1] = 12;
buffer[2] = 19;
buffer[3] = 31;
buffer[4] = 10;
Wire.beginTransmission(LCD05);
Wire.write(buffer,5);
Wire.endTransmission();
}
void loop()
{
//---------------------------------------------------------------------------------------------------- Title page
Wire.begin();
buffer[1] = 19;
buffer[2] = 3;
buffer[3] = 2;
buffer[4] = 1;
Wire.beginTransmission(LCD05);
Wire.write(buffer,5);
Wire.endTransmission();
String message = " -={TORSION RIG}=-"; // The message to be put on the screen
int len = message.length() + 1; // Length of the message
message.toCharArray(stringBuf, len); // Convert the message to a car array
stringBuf[0] = 0; // First byte of message to 0 (LCD05 command register)
Wire.beginTransmission(LCD05);
Wire.write(stringBuf, len);
Wire.endTransmission();
delay (5000);
//---------------------------------------------------------------------------------------------------- Clear Screen
Wire.begin();
buffer[1] = 12;
Wire.beginTransmission(LCD05);
Wire.write(buffer,2);
Wire.endTransmission();
delay (500);
//---------------------------------------------------------------------------------------------------- Second page title (Select force)
Wire.begin();
buffer[1] = 19;
buffer[2] = 3;
buffer[3] = 2;
buffer[4] = 3;
Wire.beginTransmission(LCD05);
Wire.write(buffer,5);
Wire.endTransmission();
String message1 = " {SELECT FORCE}"; // The message to be put on the screen
int len1 = message1.length() + 1; // Length of the message
message1.toCharArray(stringBuf, len1); // Convert the message to a car array
stringBuf[0] = 0; // First byte of message to 0 (LCD05 command register)
Wire.beginTransmission(LCD05);
Wire.write(stringBuf, len1);
Wire.endTransmission();
//-------------------------------------------------------------------------------------------------- Second Page (newtons)
Wire.begin();
buffer[1] = 19;
buffer[2] = 3;
buffer[3] = 4;
buffer[4] = 2;
Wire.beginTransmission(LCD05);
Wire.write(buffer,5);
Wire.endTransmission();
String message2 = " (NEWTONS):"; // The message to be put on the screen
int len2 = message2.length() + 1; // Length of the message
message2.toCharArray(stringBuf, len2); // Convert the message to a car array
stringBuf[0] = 0; // First byte of message to 0 (LCD05 command register)
Wire.beginTransmission(LCD05);
Wire.write(stringBuf, len2);
Wire.endTransmission();
//------------------------------------------------------------------------------------------------ Second Page (Select in N)
Wire.begin();
buffer[1] = 19;
buffer[2] = 3;
buffer[3] = 4;
buffer[4] = 14;
Wire.beginTransmission(LCD05);
Wire.write(buffer,5);
Wire.endTransmission();
String message3 = " 1000N"; // The message to be put on the screen
int len3 = message3.length() + 1; // Length of the message
message3.toCharArray(stringBuf, len3); // Convert the message to a car array
stringBuf[0] = 0; // First byte of message to 0 (LCD05 command register)
Wire.beginTransmission(LCD05);
Wire.write(stringBuf, len3);
Wire.endTransmission();
delay (5000);
//-------------------------------------------------------------------------------------------------------- Clear Screen
Wire.begin();
buffer[1] = 12;
Wire.beginTransmission(LCD05);
Wire.write(buffer,2);
Wire.endTransmission();
delay (500);
//-------------------------------------------------------------------------------------------------------- Third Page (Title)
Wire.begin();
buffer[1] = 19;
buffer[2] = 3;
buffer[3] = 2;
buffer[4] = 2;
Wire.beginTransmission(LCD05);
Wire.write(buffer,5);
Wire.endTransmission();
String message4 = " {SELECT NO CYCLES}"; // The message to be put on the screen
int len4 = message4.length() + 1; // Length of the message
message4.toCharArray(stringBuf, len4); // Convert the message to a car array
stringBuf[0] = 0; // First byte of message to 0 (LCD05 command register)
Wire.beginTransmission(LCD05);
Wire.write(stringBuf, len4);
Wire.endTransmission();
//------------------------------------------------------------------------------------------------------- Third Page (Both Ways)
Wire.begin();
buffer[1] = 19;
buffer[2] = 3;
buffer[3] = 4;
buffer[4] = 3;
Wire.beginTransmission(LCD05);
Wire.write(buffer,5);
Wire.endTransmission();
String message5 = " (Each Way):"; // The message to be put on the screen
int len5 = message5.length() + 1; // Length of the message
message5.toCharArray(stringBuf, len5); // Convert the message to a car array
stringBuf[0] = 0; // First byte of message to 0 (LCD05 command register)
Wire.beginTransmission(LCD05);
Wire.write(stringBuf, len5);
Wire.endTransmission();
//-------------------------------------------------------------------------------------------------------- Third Page (Number of cycles each way)
Wire.begin();
buffer[1] = 19;
buffer[2] = 3;
buffer[3] = 4;
buffer[4] = 17;
Wire.beginTransmission(LCD05);
Wire.write(buffer,5);
Wire.endTransmission();
String message6 = " 5"; // The message to be put on the screen
int len6 = message6.length() + 1; // Length of the message
message6.toCharArray(stringBuf, len6); // Convert the message to a car array
stringBuf[0] = 0; // First byte of message to 0 (LCD05 command register)
Wire.beginTransmission(LCD05);
Wire.write(stringBuf, len6);
Wire.endTransmission();
delay (5000);
//-------------------------------------------------------------------------------------------------------- Clear Screen
Wire.begin();
buffer[1] = 12;
Wire.beginTransmission(LCD05);
Wire.write(buffer,2);
Wire.endTransmission();
delay (500);
//-------------------------------------------------------------------------------------------------------- Fourth Page (Title)
Wire.begin();
buffer[1] = 19;
buffer[2] = 3;
buffer[3] = 2;
buffer[4] = 4;
Wire.beginTransmission(LCD05);
Wire.write(buffer,5);
Wire.endTransmission();
String message7 = " {IN PROGRESS}"; // The message to be put on the screen
int len7 = message7.length() + 1; // Length of the message
message7.toCharArray(stringBuf, len7); // Convert the message to a car array
stringBuf[0] = 0; // First byte of message to 0 (LCD05 command register)
Wire.beginTransmission(LCD05);
Wire.write(stringBuf, len7);
Wire.endTransmission();
//-------------------------------------------------------------------------------------------------------- Clear screen and back to top of loop
delay (5000);
Wire.begin();
buffer[1] = 12;
Wire.beginTransmission(LCD05);
Wire.write(buffer,2);
Wire.endTransmission();
delay (1000);
}