File creation + text centre + split array
This commit is contained in:
71
arduino/Screen code/Screen-code-full/Screen-code-full.ino
Normal file
71
arduino/Screen code/Screen-code-full/Screen-code-full.ino
Normal file
@@ -0,0 +1,71 @@
|
||||
#include <SPI.h>
|
||||
#include "Adafruit_GFX.h"
|
||||
#include "Adafruit_ST7796S_kbv.h"
|
||||
#include "headerFile.h"
|
||||
int i = 0;
|
||||
|
||||
char* Question[] = {
|
||||
"How clean are the toilets?",
|
||||
"How clean is the study area?",
|
||||
"What do you think of the temperature in the study area?",
|
||||
"How crowded would you say the study area is?",
|
||||
"Is there enough help available?"
|
||||
};
|
||||
|
||||
char* Answer[] = {
|
||||
"clean, normal, disgusting",
|
||||
"clean, normal, disgusting",
|
||||
"hot, perfect, cold",
|
||||
"not at all, its fine, really crowded",
|
||||
"no, decently, yes"
|
||||
};
|
||||
|
||||
//simplify the name of the library
|
||||
Adafruit_ST7796S_kbv tft = Adafruit_ST7796S_kbv(TFT_CS, TFT_DC, MOSI, SCK, TFT_RST, MISO);
|
||||
|
||||
|
||||
|
||||
void setup() {
|
||||
tft.begin(); // Initialize the display
|
||||
tft.setRotation(3); // Set the rotation to horizontal
|
||||
tft.fillScreen(ST7796S_BLACK);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
i++;
|
||||
if (i == 5) {
|
||||
i = 0;
|
||||
}
|
||||
|
||||
tft.fillScreen(ST7796S_BLACK); // Fill the screen with black color
|
||||
// writeText(Question[0], 2, 50, 0, 0);
|
||||
// writeText(Answer[0], 2, 50, 300, 4000);
|
||||
writeText(Question[i], 3, 0, 0, 0, true);
|
||||
writeText(Answer[i], 3, 0, 200, 0, true);
|
||||
delay(10000);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void writeText(char* text, int size, int posX, int posY, int screenTime, bool center){
|
||||
//if true overwrites x
|
||||
if (center){
|
||||
posX = centerText(text);
|
||||
}
|
||||
tft.setCursor(posX, posY); // Set the cursor to the top left corner
|
||||
tft.setTextSize(size); // Set textsize
|
||||
tft.println(text);
|
||||
delay(screenTime);
|
||||
}
|
||||
|
||||
int centerText(char* text) {
|
||||
int16_t x1, y1;
|
||||
uint16_t w, h;
|
||||
|
||||
tft.getTextBounds(text, 0, 0, &x1, &y1, &w, &h); // Calculate the width of the text
|
||||
int x = (tft.width() - w) / 2; // Calculate the x-coordinate for the centered text
|
||||
|
||||
return x;
|
||||
}
|
Reference in New Issue
Block a user