Automatonophobic (LCD Study)
A piece with one LCD screen, two buttons and crutches.
Produced by: Jérémie Wenger
This small piece with LCD screen, two buttons and crutches displays long, 16-letters words on the screen, randomly shuffling the letters between the two lines. Interactivity puzzles me. Nevertheless, two functions have been added to the piece: one of the buttons allows the viewer to change for another word, and the other generates another randomisation of the letters of the words on the screen. If so wished, the screen result can be transferred to a Processing sketch. On the LCD a discrete but relentless blink gradually eats off the letters, making the screen return to void until another word, or another shuffling, is induced.
The current words in the reservoir are the following:
The circuit is a simple example of connecting an LCD screen through four of its eight data pins, that has been ‘expanded’ through two additional stripboards and some gratuitous soldering. Thin wooden crutch-like objects have been added to the configuration, at once evoking and dispelling the idea of support or construction. The two buttons are primitive push buttons without any attractiveness or complexity. One of them is barely reachable as it lies on the floor, as if fallen. The whole construction is fragile and disorderly.
In the current state the piece exists in two versions, an independent one powered by a 5V battery, and another one that transfers the content of the screen to a Processing sketch.
Much of the background of the piece was a textual enquiry into functions that can be written for this type of device, the 16x2 character screen, seen as a dramatically reduced page. The main project, a function that finds subword (subsequences) within words, is still a work in progress. All functions and attemps can be found in this GitHub repository. The Arduino code used for the presentation can be found under ‘Arduino_project_LCD_6_vanishings’, and the communication with Processing under ‘Arduino_project_LCD_5_Processing_Serial’.
I undexpectedly found a solution for the initial goal I had set to myself, which was to work with subwords, defined defined as words that are contained within another one, with the order of letter respected: 'automatonophobic', for instance, contains words such as 'atman', 'tatoo', 'tonic' or 'topoi' within it, all in the right order, just selecting the letters needed. My code is now available in this GitHub repository. My research has been focussed on this first aspect using regex, working on lists of words extracted from litscape: it is now possible for me to find all subwords for a given long word (superword), or find all superwords for a given subword (see 'Subwords_3' in the repo). The other tricky aspect has been to calculate all possible letter positions for one specific subword. Given 'automatonophobic' and 'tatoo', for instance, there are three possible solutions (see 'Subwords_2_7_recurse4'):
au om n phobic
t ato o
au om noph bic
t ato o
au om on ph bic
t at o o
Writing a function that stores this data and displays it was by far the hardest part of the job, and unfortunately it hasn't been adapted for the Arduino yet (although that will not be so hard: I will develop the data first, then upload it already processed). I could have the various configurations displayed on the LCD as an animation, with buttons to switch between words and subwords. I am also developing a program to write constrained poems, see 'Subwords_4_wordtanglements', whereby the first line is a long word (e.g. 16 letters), the second one any subword from the first, the third any superword from the previous subword, etc. This time one could imagine buttons allowing you to scroll through the poem vertically, up and down, as the LCD can only display two lines of it (and the two words could be entangled each time through the various letter configurations, using the animation just mentioned).
All my thoughts during the elaboration process, including detailed questions regarding the coding part and possible developments, can be found here.