Browse Source

pcb and ino files

master
Slayr 6 months ago
parent
commit
5017ac535d

BIN
INPUT_OUTPUT/Seven_[7]/INPUT_OUTPUT.gif View File


+ 9
- 0
INPUT_OUTPUT/Seven_[7]/manual-seven/seven_manual_ino/fontALL.h View File

@@ -0,0 +1,9 @@
1
+#ifndef FONTALL_H
2
+#define FONTALL_H
3
+
4
+#include "TVoutfonts/font4x6.h"
5
+#include "TVoutfonts/font6x8.h"
6
+#include "TVoutfonts/font8x8.h"
7
+#include "TVoutfonts/font8x8ext.h"
8
+
9
+#endif

+ 121
- 0
INPUT_OUTPUT/Seven_[7]/manual-seven/seven_manual_ino/seven_manual.ino View File

@@ -0,0 +1,121 @@
1
+#include <TVout.h>
2
+#include <fontALL.h>
3
+
4
+TVout TV;
5
+unsigned char x,y;
6
+
7
+const char signMessage0[] PROGMEM = {" >>> [7] by Sandra Golubjevaite >>> Special Issue X >>> XPUB1 >>> PZI >>> Rotterdam >>> 2019 <<<"};
8
+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 >>"};
9
+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 >>"};
10
+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 >>"};
11
+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"};
12
+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 "};
13
+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"};
14
+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 >>"};
15
+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] >>"};
16
+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 >>"};
17
+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 <<<<<<"};
18
+
19
+unsigned int displayInt;
20
+char myChar0;
21
+char myChar1;
22
+char myChar2;
23
+char myChar3;
24
+char myChar4;
25
+char myChar5;
26
+char myChar6;
27
+char myChar7;
28
+char myChar8;
29
+char myChar9;
30
+char myChar10;
31
+
32
+
33
+void setup() {
34
+  Serial.begin(9600);
35
+  TV.begin(PAL);
36
+  
37
+TV.select_font(font8x8);
38
+  TV.clear_screen();
39
+
40
+  for (byte k = 0; k < strlen(signMessage0); k++) {
41
+    myChar0 = pgm_read_byte_near(signMessage0 + k);
42
+    TV.print(myChar0);
43
+    delay(50);}
44
+  
45
+TV.select_font(font6x8);
46
+  TV.clear_screen();
47
+
48
+  for (byte k = 0; k < strlen(signMessage1); k++) {
49
+    myChar1 = pgm_read_byte_near(signMessage1 + k);
50
+    TV.print(myChar1);
51
+    delay(50);}
52
+
53
+ TV.clear_screen();   
54
+    
55
+    for (byte k = 0; k < strlen(signMessage2); k++) {
56
+    myChar2 = pgm_read_byte_near(signMessage2 + k);
57
+    TV.print(myChar2);
58
+    delay(50);}
59
+
60
+    TV.clear_screen(); 
61
+    
62
+    for (byte k = 0; k < strlen(signMessage3); k++) {
63
+    myChar3 = pgm_read_byte_near(signMessage3 + k);
64
+    TV.print(myChar3);
65
+    delay(50);}
66
+
67
+    TV.clear_screen(); 
68
+    
69
+    for (byte k = 0; k < strlen(signMessage4); k++) {
70
+    myChar4 = pgm_read_byte_near(signMessage4 + k);
71
+    TV.print(myChar4);
72
+    delay(50);}
73
+
74
+    TV.clear_screen(); 
75
+    
76
+    for (byte k = 0; k < strlen(signMessage5); k++) {
77
+    myChar5 = pgm_read_byte_near(signMessage5 + k);
78
+    TV.print(myChar5);
79
+    delay(50);}
80
+
81
+    TV.clear_screen(); 
82
+    
83
+    for (byte k = 0; k < strlen(signMessage6); k++) {
84
+    myChar6 = pgm_read_byte_near(signMessage6 + k);
85
+    TV.print(myChar6);
86
+    delay(50);}
87
+
88
+    TV.clear_screen(); 
89
+
90
+    for (byte k = 0; k < strlen(signMessage7); k++) {
91
+    myChar7 = pgm_read_byte_near(signMessage7 + k);
92
+    TV.print(myChar7);
93
+    delay(50);}
94
+
95
+    TV.clear_screen(); 
96
+
97
+    for (byte k = 0; k < strlen(signMessage8); k++) {
98
+    myChar8 = pgm_read_byte_near(signMessage8 + k);
99
+    TV.print(myChar8);
100
+    delay(50);}
101
+
102
+    TV.clear_screen(); 
103
+
104
+    for (byte k = 0; k < strlen(signMessage9); k++) {
105
+    myChar9 = pgm_read_byte_near(signMessage9 + k);
106
+    TV.print(myChar9);
107
+    delay(50);}
108
+
109
+    TV.clear_screen(); 
110
+
111
+    for (byte k = 0; k < strlen(signMessage10); k++) {
112
+    myChar10 = pgm_read_byte_near(signMessage10 + k);
113
+    TV.print(myChar10);
114
+    delay(50);}
115
+
116
+}
117
+
118
+void loop() {
119
+
120
+
121
+}

+ 9
- 0
INPUT_OUTPUT/Seven_[7]/seven_ino/fontALL.h View File

@@ -0,0 +1,9 @@
1
+#ifndef FONTALL_H
2
+#define FONTALL_H
3
+
4
+#include "TVoutfonts/font4x6.h"
5
+#include "TVoutfonts/font6x8.h"
6
+#include "TVoutfonts/font8x8.h"
7
+#include "TVoutfonts/font8x8ext.h"
8
+
9
+#endif

+ 328
- 0
INPUT_OUTPUT/Seven_[7]/seven_ino/seven_ino.ino View File

@@ -0,0 +1,328 @@
1
+// TV.OUT LIBRARY
2
+#include <TVout.h> 
3
+#include <fontALL.h>
4
+
5
+// for incoming serial data
6
+int incomingByte = 0; 
7
+
8
+// TV.OUT LIBRARY
9
+TVout TV; 
10
+unsigned char x,y;
11
+
12
+int zOff = 150;
13
+int xOff = 0;
14
+int yOff = 0;
15
+int cSize = 50;
16
+int view_plane = 64;
17
+float angle = PI/60;
18
+
19
+
20
+// P1-P7
21
+int toggle_1;
22
+int toggle_2;
23
+int toggle_3;
24
+int toggle_4;
25
+int toggle_5;
26
+int toggle_6;
27
+int toggle_7;
28
+
29
+
30
+//SHUFFLE TEXT
31
+void shuffle(char *array, size_t n)
32
+{
33
+    if (n > 1) 
34
+    {
35
+        size_t i;
36
+        for (i = 0; i < n - 1; i++) 
37
+        {
38
+          size_t j = i + rand() / (RAND_MAX / (n - i) + 1);
39
+          int t = array[j];
40
+          array[j] = array[i];
41
+          array[i] = t;
42
+        }
43
+    }
44
+}
45
+
46
+const char t0[] PROGMEM = "20:00"; // "String 0" etc are strings to store - change to suit.
47
+const char t1[] PROGMEM = "21:00";
48
+const char t2[] PROGMEM = "22:00";
49
+const char t3[] PROGMEM = "sun";
50
+const char t4[] PROGMEM = "is";
51
+const char t5[] PROGMEM = "down";
52
+const char t6[] PROGMEM = "23:00";
53
+const char t7[] PROGMEM = "00:00";
54
+const char t8[] PROGMEM = "PAVEMENT";
55
+// Then set up a table to refer to your strings.
56
+const char *const string_table[] PROGMEM = {t0, t1, t2, t3, t4, t5, t6, t7, t8};
57
+
58
+
59
+const char *const string_table2[] PROGMEM = {t0, t1, t2};
60
+char input[] = "sundown9";
61
+char buffer[255] = "";
62
+
63
+  
64
+
65
+
66
+//TEXT
67
+const char *animals[] = {"repetative", " ", "on", "cockroach"}; //A0
68
+
69
+const char *BOBZ[] = {"labour", "silhouette", "bark", "or", "alligators ", "pitbulls", "depending"}; //A1
70
+
71
+const char *part3[] = {"like", "wind", "not", "overdo"}; //A2
72
+
73
+const char *part4[] = {
74
+  "dont be scared",
75
+  " dont avoid",
76
+  "you are soft",
77
+  " HANDS"
78
+};
79
+
80
+const byte letter = 25;
81
+ char *letters[letter] = {"RUFF","A","B","C","D","RUDE","E","F","G","K","L","repetitive labour","M","N","O","P","R","S","T","U","V","W","Y","Z"}; 
82
+
83
+const char *words[] ={"street", "at night they", "by day"};
84
+
85
+
86
+const int BUTTON1 = 4; //B1
87
+const int BUTTON2 = 5; //B2
88
+const int BUTTON3 = 6; //B3
89
+const int BUTTON4 = 7; //B4
90
+const int BUTTON5 = 8; //B5
91
+const int BUTTON6 = 9; //B6
92
+const int BUTTON7 = 10; //B7
93
+
94
+
95
+
96
+int val1= 0;
97
+int val2= 0;
98
+int val3= 0;
99
+int val4= 0;
100
+int val5= 0;
101
+int val6= 0;
102
+int val7= 0;
103
+
104
+
105
+
106
+void setup() {
107
+  
108
+  
109
+  TV.begin(PAL);
110
+  TV.select_font(font4x6);
111
+  //Serial.begin(9600);
112
+  //TV.println(input);
113
+  //TV.println(input);
114
+  
115
+  pinMode(BUTTON1, INPUT);
116
+  pinMode(BUTTON2, INPUT);
117
+  pinMode(BUTTON3, INPUT);
118
+  pinMode(BUTTON4, INPUT);
119
+  pinMode(BUTTON5, INPUT);
120
+  pinMode(BUTTON6, INPUT);
121
+  pinMode(BUTTON7, INPUT);
122
+  
123
+}
124
+
125
+void loop() {
126
+  
127
+
128
+toggle_1 = analogRead(A6); //P1
129
+toggle_2 = analogRead(A5); //P2
130
+toggle_3 = analogRead(A4); //P3
131
+toggle_4 = analogRead(A3); //P4
132
+toggle_5 = analogRead(A2); //P5
133
+toggle_6 = analogRead(A1); //P6
134
+toggle_7 = analogRead(A0); //P7
135
+
136
+
137
+val1 = digitalRead(BUTTON1);
138
+val2 = digitalRead(BUTTON2);
139
+val3 = digitalRead(BUTTON3);
140
+val4 = digitalRead(BUTTON4);
141
+val5 = digitalRead(BUTTON5);
142
+val6 = digitalRead(BUTTON6);
143
+val7 = digitalRead(BUTTON7);
144
+
145
+//int l = strlen(string_table);
146
+//shuffle(input, l );
147
+  //TV.println(input);
148
+  //delay(200);
149
+
150
+
151
+
152
+//B1
153
+  if (val1 == HIGH) {
154
+  TV.select_font(font4x6);
155
+  TV.print("POETRY");
156
+  Serial.print("POETRY"); //SEND TX
157
+  TV.draw_line(60,20,60,76,WHITE);
158
+  } //done
159
+
160
+//B2
161
+  if (val2 == HIGH) {
162
+  TV.select_font(font6x8);
163
+  TV.print("corner");
164
+  TV.draw_line(20,20,60,76,WHITE);
165
+
166
+  if(toggle_4 < 500){
167
+  TV.print("worst-case scenario",10,10);
168
+  Serial.print("worst-case scenario"); //SEND TX
169
+  }
170
+  }
171
+
172
+//B3 
173
+//crash
174
+  if (val3 == HIGH) {
175
+  for (int i=0; i<TV.hres(); i++) {
176
+  TV.print(i,44,F("cigarette"));
177
+  TV.select_font(font8x8ext);
178
+  TV.print(i,i,F("TTTTTTTTTTTTTT"));
179
+  TV.delay(200);
180
+  Serial.print("cigarette"); ////SEND TX
181
+}
182
+  }
183
+  
184
+//B4
185
+//blinking
186
+  if (val4 == HIGH) {
187
+  TV.print(letters[random(0,letter)]);
188
+  TV.select_font(font4x6);
189
+  TV.print(10,10,F("good evening"));
190
+  TV.draw_rect(20,20,33,76,0,0);
191
+  TV.draw_line(20,20,33,76,1);
192
+  TV.clear_screen();
193
+}
194
+
195
+//B5
196
+//RECEIVES TX
197
+if (val5 == HIGH) {
198
+TV.print((char)Serial.read()); 
199
+TV.delay(20);
200
+} 
201
+
202
+//B6
203
+//alpha
204
+if (val6 == HIGH) {
205
+TV.print(letters[random(0,letter)]);
206
+}
207
+
208
+//B6
209
+//TEXT OUT
210
+if (val7 == HIGH) {
211
+
212
+//SHUFFLE sentance
213
+  //int l = strlen(input);
214
+  //shuffle(input, l );
215
+  //TV.println(input);
216
+  //delay(100);
217
+  //Serial.print("SUN IS DOWN"); //TXT OUT
218
+
219
+//SHUFFLE list/ times
220
+  for (int i = 0; i < 9; i++) {
221
+  strcpy_P(buffer, (char *)pgm_read_word(&(string_table[i]))); 
222
+  shuffle(buffer, strlen(buffer));
223
+  TV.print(buffer);
224
+  delay(100);
225
+  }
226
+}
227
+
228
+
229
+
230
+ if(toggle_5 >500){
231
+
232
+//P1   
233
+//map   
234
+  int animal; //animals
235
+  animal = map(toggle_1, 10, 1023, 0, 3);
236
+  TV.print(animals[animal]);
237
+  delay(50);
238
+
239
+if (toggle_1<10){
240
+  TV.select_font(font4x6);
241
+  TV.print("  ");
242
+  delay(500); 
243
+}
244
+
245
+  
246
+
247
+//P2
248
+//string list
249
+  int BOB; //BOBZ
250
+  BOB = map(toggle_2, 0, 1023, 0, 6);
251
+  TV.print(BOBZ[BOB]);
252
+  TV.delay(50);
253
+  
254
+//P3
255
+//map  
256
+  int w1; //words
257
+  w1 = map(toggle_3, 0, 1023, 0, 3);
258
+  TV.print(words[w1]);
259
+  TV.delay(50);
260
+
261
+//P6
262
+//draw and text
263
+  
264
+
265
+  if(toggle_6>0 & toggle_6<100 ){
266
+    TV.invert();
267
+  TV.print(10,10,F("stretched torso abs rocks "));
268
+  }
269
+  else if(toggle_6>100 & toggle_6<200){
270
+  TV.print(30,50,F("where are you going"));
271
+  delay(50);
272
+  }
273
+  else if(toggle_6>200 & toggle_6<300){
274
+  TV.select_font(font8x8ext);
275
+  TV.print(50,50,F("to step into a dark place"));
276
+  }
277
+  else if(toggle_6>350 & toggle_6<500){
278
+  TV.print(10,70,"need someone to play with");
279
+  }
280
+  else if(toggle_6>500 & toggle_6<1023){
281
+    
282
+  TV.print("scratch");
283
+  }
284
+
285
+ 
286
+
287
+//P7
288
+//
289
+  //int p4;
290
+  //p4 = map(toggle_7, 0, 250, 0, 3);
291
+  //TV.print(part4[p4]);
292
+  //delay(100);
293
+
294
+  if (toggle_7>0 & toggle_7<500){
295
+    for (int i = 0; i < 3; i++) {
296
+  strcpy_P(buffer, (char *)pgm_read_word(&(string_table2[i]))); 
297
+  shuffle(buffer, strlen(buffer));
298
+  TV.print(buffer);
299
+  delay(300);  
300
+  }
301
+  }
302
+  
303
+  else if (toggle_7>500 & toggle_7<800){
304
+    TV.select_font(font8x8ext);
305
+    TV.print(30,10,F("lean on a car"));
306
+  }
307
+    else if (toggle_7>800 & toggle_7<1023){
308
+    //TV.select_font(font8x8ext);
309
+    TV.print("lean on a car");
310
+  }
311
+  
312
+  
313
+  
314
+
315
+
316
+ 
317
+}
318
+
319
+ 
320
+
321
+//P5 
322
+//7777777...
323
+   else if(toggle_5 <100){
324
+   TV.print("7");  
325
+   }
326
+
327
+    
328
+}

BIN
INPUT_OUTPUT/Seven_[7]/seven_pcb.fzz View File


Loading…
Cancel
Save