#include #include TVout TV; unsigned char x,y; const char signMessage0[] PROGMEM = {" >>> [7] by Sandra Golubjevaite >>> Special Issue X >>> XPUB1 >>> PZI >>> Rotterdam >>> 2019 <<<"}; const char signMessage1[] PROGMEM = {" >>>> okokokok >> what >> dont be scared >> seven [7] is a straight forward .print & .read device >> you can play the prewritten poem [seven.ino] or you can write your own >> [7] can manipulate text >>"}; const char signMessage2[] PROGMEM = {" it can send an outgoing message or be interrupted by an incoming one >> [7] enjoys repetition, coincidence & a gentle touch >> to channel text the module needs to be connected to a TV screen through a video input >>"}; const char signMessage3[] PROGMEM = {" a video signal is broadcasted and can be listened to in mono >>>>>> mhmhmhmh >> how >> how i approached hardware >> 7 knobs & 7 buttons arranged in no particular hierarchy >> i wanted to create a humble device with clear manual functions >>"}; const char signMessage4[] PROGMEM = {" an interface that makes you feel in control >> this urge became clear after getting familiar with a term [calm technology] during the Special Issue X >> calm technology - a type of information technology where the interaction between the technology"}; const char signMessage5[] PROGMEM = {" and its user is designed to occur in the user's periphery rather than constantly at the centre of attention >> how >> how i approached software >> working within the framework of the tv.out library and a television monitor determined certain "}; const char signMessage6[] PROGMEM = {" features of the program, such as its esthetics and its interface >> with a subject in mind the content of the poem [seven.ino] was developed and written while learning how to code with Arduino IDE >> the way the poem unfolds to a user depends on"}; const char signMessage7[] PROGMEM = {" his/hers interaction with [7] >>>>>> ghhrrghrrr >> why >> in the beginning of the Special Issue X i was intrigued by DadaDodo >> DadaDodo is a program that analyses texts for word probabilities and then generates random sentences based on that >>"}; const char signMessage8[] PROGMEM = {" sometimes these sentences are nonsense but sometimes they cut right through to the heart of the matter and reveal hidden meanings >> i was also interested in the experimental poetry examples mentioned in Florian Cramers [words made flesh] >>"}; const char signMessage9[] PROGMEM = {" but why >> repetition of text is a method that i practice during live vocal performances >> a partial looping of a poem functions as a transition or/and an emphasis >> as a poet i am interested in a life of a written static poem-block >>"}; const char signMessage10[] PROGMEM = {" when a poem does not have a voice present how could it still rustle? >> [7] is a first prototype towards that idea <<<<<<"}; unsigned int displayInt; char myChar0; char myChar1; char myChar2; char myChar3; char myChar4; char myChar5; char myChar6; char myChar7; char myChar8; char myChar9; char myChar10; void setup() { Serial.begin(9600); TV.begin(PAL); TV.select_font(font8x8); TV.clear_screen(); for (byte k = 0; k < strlen(signMessage0); k++) { myChar0 = pgm_read_byte_near(signMessage0 + k); TV.print(myChar0); delay(50);} TV.select_font(font6x8); TV.clear_screen(); for (byte k = 0; k < strlen(signMessage1); k++) { myChar1 = pgm_read_byte_near(signMessage1 + k); TV.print(myChar1); delay(50);} TV.clear_screen(); for (byte k = 0; k < strlen(signMessage2); k++) { myChar2 = pgm_read_byte_near(signMessage2 + k); TV.print(myChar2); delay(50);} TV.clear_screen(); for (byte k = 0; k < strlen(signMessage3); k++) { myChar3 = pgm_read_byte_near(signMessage3 + k); TV.print(myChar3); delay(50);} TV.clear_screen(); for (byte k = 0; k < strlen(signMessage4); k++) { myChar4 = pgm_read_byte_near(signMessage4 + k); TV.print(myChar4); delay(50);} TV.clear_screen(); for (byte k = 0; k < strlen(signMessage5); k++) { myChar5 = pgm_read_byte_near(signMessage5 + k); TV.print(myChar5); delay(50);} TV.clear_screen(); for (byte k = 0; k < strlen(signMessage6); k++) { myChar6 = pgm_read_byte_near(signMessage6 + k); TV.print(myChar6); delay(50);} TV.clear_screen(); for (byte k = 0; k < strlen(signMessage7); k++) { myChar7 = pgm_read_byte_near(signMessage7 + k); TV.print(myChar7); delay(50);} TV.clear_screen(); for (byte k = 0; k < strlen(signMessage8); k++) { myChar8 = pgm_read_byte_near(signMessage8 + k); TV.print(myChar8); delay(50);} TV.clear_screen(); for (byte k = 0; k < strlen(signMessage9); k++) { myChar9 = pgm_read_byte_near(signMessage9 + k); TV.print(myChar9); delay(50);} TV.clear_screen(); for (byte k = 0; k < strlen(signMessage10); k++) { myChar10 = pgm_read_byte_near(signMessage10 + k); TV.print(myChar10); delay(50);} } void loop() { }