FRArt Algoliterary Publishing

1. Seminar: On human, plant and artificial intelligences

  • type: Article
  • ref: DOC.2023.10
  • Creation date: 25 Octobre 2021
  • description:

    Seminar organised in ESA Saint-Luc Bruxelles, with lectures by Jara Rocha (SP), Outi Laiti (FI), Stephan Kempelman (BE) and Nathalie Grandjean (BE).

  • Outi Laiti and Jara Rocha
  • 20211025_152322_seminar1.jpg
  • image/jpeg
  • 3,66 MB
  • download
  • Stephan Kampelmann
  • 20211025_162537_seminar2.jpg
  • image/jpeg
  • 3,55 MB
  • download
  • Nathalie Grandjean
  • 20211025_172905_seminar3.jpg
  • image/jpeg
  • 3,95 MB
  • download
  • Outi Laiti
  • 20211025_151107_seminar0.jpg
  • image/jpeg
  • 3,66 MB
  • download
  • Audience: students ESA St-Luc + friends
  • 20211025_152246_seminar_audience.jpg
  • image/jpeg
  • 3,21 MB
  • download

Two lectures were given in English and two in French.

Wherever possible, translated texts of the lectures were provided.

A trans*feminist take on 'An Algoliterary Publishing House: making kin with trees' [EN]

Thinker and mumbler Jara Rocha introduced the research project by Anaïs Berck, for which this seminar tried to give a broader context. They did this in a critical trans*feminist way, providing reflections and questions that can help the research further. Unusual connections, surprising associations, farfetched ideas and oblique worldviews.

Jara Rocha works through the situated and complex forms of distribution of the technological with an antifa and trans*feminist sensibility. Tends to be found in tasks of remediation, action-research and in(ter)dependent curatorship, and their main areas of study have to do with the semiotic materialities of cultural urgencies. Together with Femke Snelting they are making a book titled “Volumetric Regimes: Material Cultures of Quantified Presences” and also with Helen Pritchard they currently work on The Underground Division: an emerging research on the co-constitution of the so-called body of the earth and the patriarchocolonial turbocapitalist volumetric regime. With Karl Moubarak and Cristina Cochior, they conform the Cell for Digital Discomfort at the 20/21 Fellowship for Situated Research of BAK, Utrecht. Jara lives in Barcelona, and their show "Naturoculturas son Disturbios" emits monthly from that city's local Dublab radio.

http://jararocha.blogspot.com/

Panepistemological aspects of research [EN]

Outi Laiti, Ph.D. is an Indigenous Sámi game researcher and designer. In 2020, gamesindustry.biz nominated her as one of the 100 Game Changers for her work on promoting e.g. Sámi gaming. She gave a talk on how Survivance, Indigenous worldview, Sámi intangible cultural heritage and cross-generational nature relationship can define Indigenous digital game design and research processes.

Outi Laiti is an Associate researcher at the University of Helsinki Indigenous studies. Her field of research is education and computer science with a focus on Sámi language and culture in digital games and programming. She is also active in designing and co-organizing Sami Game Jams and has been involved in several game development and educational projects in the past. Her doctoral thesis “Old Ways of Knowing, New Ways of Playing” published in January 2021, discusses the potential of collaborative game design to empower Indigenous Sámi.

The life of a cut tree [FR]

Stephan Kampelmann gave an overview of how trees are currently "treated". His point of departure is the Sonian Forest, where he is active in the Sonian Wood cooperative. He also extended towards the production, processing and sale of wood in Europe, on the existing labels that represent so-called sustainable wood production.

Stephan Kampelmann is co-founder of the Sonian Wood Coop, a Brussels-based cooperative with the mission to locally valorise wood from the Forêt de Soignes/Sonian Forest. He is an economist by training and teaches economics at the Faculty of Architecture La Cambre Horta of the ULB.

https://sonianwoodcoop.be/

Connecting what had been separated [FR]

Can we imagine artificial intelligence and the intelligence of trees together, in the same gesture? How can we think of them as connected and not separate? Thanks to the work of Latour, Haraway, Tsing and Despret, we can deconstruct the separation between natures and technologies. Nathalie Grandjean guided us through this ecofeminist panorama.

is Doctor in Philosophy (UNamur, 2018). Her fields of research are body and technology, digital ethics, feminist and gender philosophy and ecofeminisms. She has edited the books « Corps et Technologies. Penser l’hybridité » (avec Claire Lobet, Peter Lang, 2012), « Valeurs de l’attention » (avec Alain Loute, Presses du Septentrion, 2019) et vient de publier « Généalogie des corps de Donna Haraway. Féminismes, diffractions, figurations » (Presses de l’ULB, 2021). She is also an administrator of Sophia, the Belgian gender studies network (www.sophia.be). She is currently a FNRS research fellow at the Université Saint-Louis (Brussels). Her project explores the political bodies of the Anthropocene, trying to rethink encorporation, subjectivation and temporalities from feminist and ecofeminist writings.

2. Tree(s) sort(ed)

  • type: Article
  • ref: DOC.2023.11
  • description:

    A series of posters are a creation for the exhibition in the framework of the Open Door Days in ESA Saint-Luc Bruxelles in Feb 2021.

  • Posters in exhibition ESA St-Luc
  • IMG_2353.JPG
  • image/jpeg
  • 0 B
  • download
  • Posters in exhibition ESA St-Luc
  • IMG_2347.JPG
  • image/jpeg
  • 0 B
  • download

The generator of this poster is the tree sort algorithm, the subject are all the trees, algorithmic exercises and human beings involved in the residency of Anaïs Berck at the Villa Empain and ESA Saint-Luc Bruxelles in October 2021. The images and texts are sorted following different criteria: time, colour and the natural element in the alt-text description of the images.


Tree sort or binary search tree allows for fast lookup, addition, and removal of data items, and can be used to implement dynamic sets and lookup tables. The basic operations include: search, traversal, insert and delete.They are used in relational databases, data compression code, in Unix kernels for managing a set of virtual memory areas, and more.  The binary search tree algorithm was discovered independently by several researchers, including P.F. Windley, Andrew Donald Booth (UK), Andrew Colin (UK), Thomas N. Hibbard (US), and attributed to Conway Berners-Lee (UK) and David Wheeler (UK), in 1960 for storing labelled data in magnetic tapes.

website: https://frart.algoliterarypublishing.net/treesort/
posters: Sorted by date , Sorted by colour, Sorted by natural element, Sorted by Alt-text 
code repository: https://gitlab.constantvzw.org/anais_berck/trees-sorted

license: Collective Conditions for (re-)use (CC4r), June 2021
thanks: Danielle Lenaerts, Mark Streker

3. Workshop Oracle for Consentful Publishing Infrastructures

  • type: Article
  • ref: DOC.2023.9
  • description:

    Loren Britton organises this workshop for the students of ESA St-Luc.

  • Output Oracle game with students
  • oracle1.jpeg
  • image/jpeg
  • 520,57 KB
  • download
  • Output Oracle game with students
  • oracle2.jpeg
  • image/jpeg
  • 0 B
  • download
  • Output Oracle game with students
  • oracle3.jpg
  • image/jpeg
  • 1,34 MB
  • download

One Value card of the deck

Welcome to the workshop engaging the Oracle for Consentful Publishing Infrastructures that we are currently developing.
To begin read aloud these collective conditions from below. Eveyone in the space (on or offline) is invited to read one condition outloud, and the next person can read the next one.
The purpose of these collective conditions is to create intentional ways of being together in any space that create collective access for many bodyminds.

# C o l l e c t i v e  C o n d i t i o n s #

  • If anyone would like to share the duties of translating, let's talk about how this can happen.
  • No "well actually's" --> don't correct others on minor mistakes ‘well ACTUALLY a TLS handshake...’, https://www.recurse.com/.
  • One diva one mic --> don't interrupt.
  • If you would like anyone to slow down, please ask or raise your hand.
  • Privacy --> personal stories stay within the room.
  • Movement is good and taking care of your own needs is good leaving space for silence is good.
  • Leaving the room and coming back in is good.
  • Be mindful of speaking times and use your voice to speak up.
  • This is a space that welcomes all genders, is decidedly anti-racist and anti- ableist, there is no room for -isms such as: classism, racism, ableism, anti- queer sentiment, misogyny, ageism, religious discrimination or any other form of discrimination and oppression.
  • Not all disabilities are apparent, please don't assume what is normal for other people.
  • Not all genders are apparent, please don't assume someone else's gender based on their presentation.
  • There is as many teachers in this room as there are people in this space.
  • This is a multi lingual space. Please ask for clarification or translation.
  • Caretaking is a responsibility shared by everyone --> please feel free to check in with your neighbor, and neighbors feel free to say yes or no.
  • When mistakes happen: Let us make sure that people affected by a mistake receive the care they need. Let us set further conditions to make sure that mistakes are not repeated and that we as a group can account for them.
  • If you bring material into the space that might have an emotional impact on the people in the space, please share a content warning.
  • After reading these out loud together, please discuss them amongst the group. Are all of the words clear to everyone? Does anyone disagree with any of these conditions? Would anyone prefer a reformulation of how they are articulated?

Please begin by reading the text: A Few Rules for Predicting the Future by Octavia Butler, published in Essence Magazine in 2000. A link to it is here: http://kalamu.com/neogriot/2013/07/09/history-octavia-butler-gave-us-a-few-rules-for-predicting-the-future/

After reading, please discuss with your group what came up. What were you surprised by? What not? What do you think it means to predict the future as Octavia Butler suggests it?
While you are discussing assign one person to make three lists of the: values, objects and situations that emerge from reading Butler's text?

After some discussion, please *take a break of at least 15 min*.

Welcome back to the **Oracle for Consentful Publishing Infrastructures**.
How to use the *Oracle for Consentful Publishing Infrastructures*
Welcome! This oracle is a hands-on card deck designed to help us collectively envision and share ideas for what consentful publishing infrastructures might be... or might not be.


The game is part of Anaïs Berck's residency exploring the concept of an Algoliterary Publishing House. As Anaïs Berck represents a collective of humans, trees and algorithms, the algoliterary publishing house will function within this collective.
This means that we will have to rethink all aspects of publishing in collaboration with all entities involved. This raises a series of questions, like: how can questions around ethics and ecology be thought alongside print or online publishing? What does consent mean when working with trees and more than humans?
To begin this workshop, please start with a definition of consent, publishing and infrastructure as these are the terms that you are asked to work with in this workshop.

The framework of **consent** that we are thinking with is based on the principles of FRIES, which is easy to remember because FRIES are delicious. :) So for us we think about consent that is: Freely Given, Reversable, Informed, Enthuastic and Specific. This means that it is specific to each circumstance, aware of all of the information needed to make a decision, can be stopped at any time: not coercive -- it is not something that is wishy-washy or un-enthuastic and it is understandable as a clear 'yes' from both parties.
In this research we are working with, we think about publishing as a yet indeterminate practice - which is why we are thinking with this oracle. Publishing could mean - to publish a book, but it also could mean to think about growth as publishing or reciept printing as publishing. We are thinking about taking publishing to be a process that is about dissemination / sharing - but leave open ended the methods of how this sharing unfolds.
In this research we think with infrastructures that are temporary and specific. Infrastructure could mean a building or bureaucratic system but it also could be the format of a book. Infrastructures are repeatable, require care and can make sharing possible when it otherwise might not be.
The wisdom of the oracle is questionable, sometimes embedded with values we wish to pursue, sometimes not. We offer this as an unstable tool to consider what values are often already embedded in technological infrastructures and which ones are not. What kind of inventing, play, agencies and collaborations will be necessary to remake the world of publishing with care for more-than-humans included? How does consent work with more-than-humans including trees, algorithms, machines and more?
This oracle has been inspired and iterated on by the *Oracle for Transfeminist Tech*, which we love and can be found and learned about here: https://www.transfeministech.codingrights.org/.

Goal: The purpose of the Oracle for Consentful Publishing Infrastructures is to create ideas for technologies that are imbued with values that will remake the world so that many worlds can fit.

Take anywhere between 10 / 20 minutes for each step depending on how long you have for the activity.
11:15 - 12:30

1. Consult the Oracle
Each group/person takes:
1 or 2 Values Cards
1 Object Card
1 People and Places Card 1 Situation Card

2. Read your cards
_Value card(s): Each Value card represents a value from the texts we have shared in the reader but also that take into account the lectures from Monday. Take a moment to reflect individually and/or discuss in your group, what this value means to you. Do you wish to take this value into your work or leave it behind?
If you decide to leave it behind, keep working with this value and write down three steps in each direction away from this value, what is the most intense version of this value, what is the furthest value from this one? For example if you had 'optimisation' - perhaps the steps towards most intensity of this value would be: extraction, removal of bodies, automation - and the steps away from optimisation might be - slowing down, working with problems, doing very little. Consider what this spectrum of values around 'optimisation' is and keep brainstorming until you have an intensity of this value that works for you. Once you have finalised this, continue on.
_Object card: Each Object card represents an object referenced in our text from the reader or from the lectures on Monday.
_People/Places card: in the people/places cards all say the same thing. "Be in your own body. Be in the place you inhabit." Some speculative design exercises encourage you to imagine that you are another kind of person, but trans*feminism encourages us to recognize the importance of situated and embodied knowledge. Instead of pretending that you are someone else and you know what they need, take a moment to reflect on who you are. What body are you in? Where do you live? What privileges and burdens do your body and place provide?
_Situation card: Situations cards provide you with a situation that you need to deal with. This is a way to focus your energy on an apparatus that you might want to transform.

3. Create your Blueprint
Your goal is to envision a consentful publishing infrastructure/technology that:
_is embodied in your Object;
_is guided by your Values;
_is developed by and for your People, in your Place;
_and will help you work with the situation presented to you by the oracle.
Remember, it's the future, so objects are not limited by today's capabilities... everything's possible!
This speculative exercise should have a title, a diagram or drawing of your technology, and a brief description of how it works and what it creates.

4. Share your ideas
At the end: Share your ideas back with the others! Share your ideas about how this process did or did not work for you with us! As this is still in progress and we are accumulating ideas/processes & methods. Very happy to hear your thoughts on this work.

Thank you for participating in this workshop. These instructions are available to be iterated on or borrowed to lead your own workshop. Please do let us know at publishinghouse@anaisberck.be if you would like to be in dialogue!
 

4. Forest Bathing Workshop

  • type: Article
  • ref: DOC.2023.7
  • Date begin: 26 Octobre 2021
  • Date end: 30 Octobre 2021
  • description:

    An Mertens invited 4 groups of students of ESA St Luc to a forest bathing experience in Bois de la Cambre and Sonian Forest.

  • Students in Bois de la Cambre, Brussels
  • 20211027_140944_forest_bathing.jpg
  • image/jpeg
  • 5,76 MB
  • download
  • Students during guided meditation
  • 20211027_152654_forest_bathing2.jpg
  • image/jpeg
  • 9,28 MB
  • download

Introducing the context

  • connecting to the macro-cosmos:
    • walk in silence
    • mute phones
    • open up to experiments, even if there can be some resistance
  • Bois de la Cambre / Forêt de Soignes:
    • 5km walk
    • max 3hs

Introducing some species

Looking at bark, leafs, fruits, specific values in use, in Celtic use

  • beech
  • hornbeam
  • poplar
  • oak
  • linden
  • maple
  • chestnut 

Experiments

  • share a memory of a tree
  • choose a tree and say hello, observe its bark, look up to the leaves, down to the roots, be conscious about the wood wide web
  • how does a tree manage to have its leafs change colour and fall down (this workshop was in autumn)
  • photosynthesis
  • basic exchange tree-human: oxygen & CO2
  • breathing together
  • guided meditation: become an oak of 35Oys old, smell the soil in which it is rooted
  • meet a tree
    • find a tree that calls you
    • greet the tree
    • ask a question following Philippine practice
  • explore your expression with your own medium (drawing/writing/photography...
  • final sharing

5. Performing the Tree Sort algorithm

  • type: Article
  • ref: DOC.2023.4
  • Date begin: 26 Octobre 2021
  • Date end: 30 Octobre 2021
  • description:

    Workshop by Gijs de Heij where he introduced the students of ESA St Luc to the history, use and functioning of the tree sort algorithm.

Recipes

Recipes used during the workshop to execute the tree sort algorithm manually (with a group of people).

To insert a node within a tree

*This recipe inserts a new node into an (empty) tree. It is assumed there is a place defined where the tree will be started (rooting point?). When the recipe is executed the **current position** is considered to be rooting point.*

1. Look at your *current position*, if it's empty (there is no node) this will be your place: you are inserted in the tree, and the recipe is finished. If there is a node continue with step two.

2. Ask the node in the *current position* for its value.

3. Compare the answer of the node to your own value. Is your value smaller than theirs? Then follow the left arm of the node, and take that as the new *current position* and move back to step one. Otherwise continue with step four.

4. Is your own value the same as or bigger than the answer the node gave? Then follow the right arm of the node, and take that as your new *current position* and go back to step one.

To measure the depth of a tree

*This recipe discovers the depth of the deepest branch in the (sub)tree. It is initiated by asking the root or any other node to measure its depth.*

1. Ask the node attached to your left arm for its depth, or take zero if you have none.

2. Ask the node attached to your right arm for its depth, or take zero if you have none.

3. Pick the greater one out of the answers you collected in step one and two, and add 1 (increment by one).

4. Answer the number you calculated in step 3 to the node which asked you to measure your depth.

To traverse the tree in order:

*This recipe transforms the (sub)tree into an ordered row (or list)*. It is initiated by asking the root or any other node to traverse.

1. If you have a left node: ask it to traverse. Once it has finished traversing ask the resulting row (list) to stand to  the *left* of you. It is important the row maintains it order.

2. If you have a right node: ask it to traverse. Once it has finished traversing ask the resulting row (list) to stand to  the *right* of you. It is important the row maintains it order.

3. By combining the row on the left, yourself, and the row to your right a new row has formed. Tell the node who asked you to traverse that you're ready.

 

6. Executing manually using objects

  • type: Article
  • ref: DOC.2023.5
  • Date begin: 26 Octobre 2021
  • Date end: 30 Octobre 2021
  • description:

    Students find stones, flowers and other objects to manually explore the tree sort algorithm.

  • Sorting flowers by colour
  • 20211027_125747_sorting_flowers.jpg
  • image/jpeg
  • 0 B
  • download
  • Sorting flowers by size
  • 20211027_130250_sorting_flowers_by_size.jpg
  • image/jpeg
  • 0 B
  • download
  • Sorting stones by amount of flat sides
  • 20211027_130052_sorting_stones.jpg
  • image/jpeg
  • 0 B
  • download
  • Sorting words
  • 20211027_130629_sorting_words.jpg
  • image/jpeg
  • 3 MB
  • download

7. Tree Sort Code

  • type: Article
  • ref: DOC.2023.6

Code implementations

A simple implementation of the tree sort algorithm can be found here: https://gitlab.constantvzw.org/anais_berck/tree-sort

  • workshop/code/treesort.py

Implementation of the binary search tree. When the script is

python workshop/code/treesort.py

  • workshop/code/tree-visualizer.py

Visualizes a tree using graphviz
python workshop/code/tree_visualizer.py

  • workshop/code/text-tree.py

Reads a text (`workshop/text-to-sort.txt`) and generates a visual tree:
python workshop/code/text_tree.py

Requirements

The implementations are written in python and require python 3, find information on how to install python here: https://www.python.org/downloads/

The visualizer and the text_tree both use graphviz to generate the visualization. Find information on how to install graphviz:  https://graphviz.org/download/

The visualizer and the text_tree also require graphviz the graphviz python bindings. The easiest way to install them is through pip:

$ pip3 install graphviz

8. A Living Library of Plants

  • type: Article
  • ref: DOC.2023.8
  • description:

    Guillaume organises a workshop for the students of ESA St-Luc around using electricity to connect and foster our relationship with plants 

Concept

Inspiration

From electro-culture to recent touché experiments, using electricity to connect and foster our relationship with plants are numerous.

Two plants, one with electrode, the other without. Illustration of an experiment to prove the efficiency of growing plants with electricity

Here we continue this tradition, as a way to make sense of the technology we have, and as an excuse to spend time with plants.

Déroulement

The workshop a living library of plants is to link texts, trees and human  through the use of the ESP32 microcontroller.

The idea is to create a small wifi access point, tied to a plant, that will publish different text depending on its electrical activity and the moisture of its soil.

Set-up (30 minutes- keep faith)

Necessary elements

In order to participate to this workshop you will need:

Installing the Arduino IDE

For this workshop we will use the arduino IDE. It is an open-source, easy to use IDE (Integrated Development Environment ) to upload code to a microcontroller. It was developped for a range of microcontroller also named arduino (which is why it can be confusing).

To install it,  you can follow this link: https://www.arduino.cc/en/software and click on the download link fitted to your operating system (macOS, windows or Linux)

Installing the USB driver of the esp32

The esp32 is a microcontroller, meaning that it can perform some simple computing task such as reading a sensor, printing a message on a communication canal or performing simple operations.

The ESP32 is not a traditional arduino board and requires a specific driver to be installed for it to be able to communicate with your computer. A driver is a small programm that will allow the communication between your computer and another device, in other words it will make your computer recognise the esp32.

You can find the driver on this website: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers, select the link corresponding to your operating system (macOS, Windows, Linux) and follow the instructions. Installing the library for esp32 on the arduino IDE 1/2

Now your computer recognise the esp32, but the arduino IDE should know which language to speak to it. In order for them two to communicate smoothly, we need to install a library for the esp32 on the arduino IDE.

1. Open the Arduino IDE. Make sure that you are at version 1.8 or higher, if not then update your IDE with the latest version.

2. Click on the *File* menu on the top menu bar.

3. Click on the *Preferences* menu item. This will open a Preferences dialog box.

   preference

4. You should be on the *Settings* tab in the Preferences dialog box by default.

5. Look for the textbox labeled “*Additional Boards Manager URLs*”.

6. If there is already text in this box add a coma at the end of it, then follow the next step.

7. Paste the following link into the text box – ***https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json***

8. Click the OK button to save the setting.

Installing the library for esp32 on the arduino IDE 2/2

Next, you will need to use the new  entry to actually add the ESPO32 boards to your Arduino IDE. You do that by following this procedure:

1. In the Arduino IDE click on the *Tools* menu on the top menu bar.

2. Scroll down to the *Board:* entry (i.e. *Board: Arduino/Genuino Uno*).

3. A submenu will open when you highlight the *Board:* entry.

4. At the top of the submenu is *Boards Manager*. Click on it to open the Boards Manager dialog box.

5. In the search box in the Boards Manager enter “*esp32*”.

6. You should see an entry for “*esp32 by Espressif Systems*”. Highlight this entry and click on the *Install* button.

7. This will install the ESP32 boards into your Arduino IDE

Selecting the right board and port

1 - Once your board library is installed, you can select the board in the board manager. Select either esp32 Dev Board or Node32s

2 - Then you can select on which port it will be communicating (the USB port)

Now you are ready to create script and upload them to your microcontroller ! Well done.


Using esp-32 touch sensor with a crocodile cable

Sensing electricity

Here is the code you want to put in your arduino IDE before sending it to your esp-32

int touch_sensor_value=0;
void setup()
{
  Serial.begin(115200);
  Serial.println("Touch sensor - ESP32 - electric feel");
}

void loop()
{
  touch_sensor_value = touchRead(T0);
  Serial.print("It can feel = ");
  Serial.println( touch_sensor_value);
  delay(1000);
}

To make sure that you made no mistake you can check it first with the little checkmark button before sending it with the little arrow.
In order to know wether your touch sensor and your code is running, you need to open your serial monitor. It is a tool that let you peak into the conversation between the esp32 and your computer.

In order to do this go to Tool>Serial Monitor

If all go well you should be able to see the values of your touch sensor.

Now if we detail this script:

**1- Enummerating the actors in our process.**

We first declare a variable, something that will be monitored, something that exists for the esp32, in our case the value of the sensor, how much electricity. At the beginning of the process, it is zero.

int touch_sensor_value=0;

**2- Setting the stage.**

void setup is a way to start the command of the esp-32, it will only be run once.

void setup()
{

In our case, we want to communicate with the esp-32 on the canal that represent the baud frequency of 115200, so in the voice setup we will open this canal.

 Serial.begin(115200);

And in order to make sure that this is open, we will print, say something on it

Serial.println("Touch sensor - ESP32 - electric feel");

And then we will close this first, setup script.

}

**3- Describing recurring events/command**

the stage is set, so now we will describe what we want the controller to continually do. In our case, it is to check the value on the alligator clip and print it in our communication canal, the serial 115200

The loop is a way to start recurring command, that will be called again and again

void loop()
{

inside this loop command we ask the esp-32 to read the value on its sensor attached to its pin T0 and store it in the touch-sensor-value variable. How much electrical energy is there?

touch_sensor_value = touchRead(T0);

Then we print this value in the serial communication canal

Serial.print("It can feel = ");
Serial.println( touch_sensor_value);

And then we let the esp32 rest for a second before starting again from the start of the loop.

delay(1000);
}

In order to see what is being printed, we need to open the serial monitor in the Tool section and select baud rate 115200

 

Task:

Find your own way to ask (or not) for permission to attach the alligator clip to the plant. Do not attach the clip directly as it closes quite strongly, attache a piece of coil that you put around the trunk.

"Asking permission shows respect for the personhood of the plant, but it  is also an assessment of the well-being of the population. Thus I must  use both sides of my brain to listen to the answer. The analytic left  reads the empirical signs to judge whether the population is large and  healthy enough to sustain a harvest, whether it has enough to share. The intuitive right hemisphere is reading something else, a sense of  generosity, an open-handed radiance that says take me, or sometimes a  tight-lipped recalcitrance that makes me put my trowel away. I can’t  explain it, but it is a kind of knowing that is for me just as  compelling as a no-trespassing sign. This time, when I push my trowel  deep I come up with a thick cluster of gleaming white bulbs, plump,  slippery, and aromatic. I hear yes, so I make a gift from the soft old  tobacco pouch in my pocket and begin to dig."

(Robin Wall Kimmerer, Braiding sweetgrass)

If you feel like it gave it to you, attach the clip to the plant and check the behavior when you touch the plant on a the trunk, on the leaf, near the soil.

Alligator clip attached to the G0 of a esp32 microcontroller on a table with cables in the background

-> as you can see the alligator clip **is connected to G4 which is touch 0** **(T0)** on this pin-out diagram

schematic of an esp-32 pinout

Making text appear whenever the sensor is touched

So now we can see the value on the alligator clip. We now want to use this information to trigger a behaviour, whenever the value drops under a certain level, we want to display a text:


int touch_sensor_value=0;
void setup()
{
  Serial.begin(115200);
  Serial.println("Touch sensor - ESP32 - electric feel");
}

void loop()
{
  touch_sensor_value = touchRead(T0);

  Serial.print("It can feel = ");
  Serial.println( touch_sensor_value);

if (touch_sensor_value<40){
  Serial.println("     | ");  
  Serial.println("   <>|<> ");  
  Serial.println("  <>~|~<> ");
  Serial.println("<>~<>|<>~<>  ");
  Serial.println("<>~<>|<>~<>  ");
  Serial.println("  <>~|~<> ");
  Serial.println("     |  ");
  Serial.println("     |  ");
  Serial.println("For each of us as women, there is a dark place within, where hidden and growing our true spirit rises");
  Serial.println(""beautiful/and tough as chestnut/stanchions against (y)our nightmare of weakness/"** and of impotence.");
  Serial.println("Audre Lorde");
  Serial.println("     | ");  
  Serial.println("   <>|<> ");
  Serial.println("  <>~|~<> ");
  Serial.println("<>~<>|<>~<>  ");
  Serial.println("<>~<>|<>~<>  ");
  Serial.println("  <>~|~<> ");
  Serial.println("     |  ");
  Serial.println("     |  ");
  delay(10000);
}
else {
  Serial.println("    ~|~ ");
  Serial.println("  ~  | ~  ");
  Serial.println("  ~  |  ~    ");
  Serial.println("    ~|~   ");
  Serial.println("     |  ");
  Serial.println("     |  "); 
}
delay(1000);
}

What we do first is getting the value of the sensor:


touch_sensor_value = touchRead(T0);

Serial.print("It can feel = ");
Serial.println( touch_sensor_value);

Then we add a condition that says : if the value is inferior to 10, then print this message, if it is superior, print this other message.
We do this as follows.
We first open the condition

if (touch_sensor_value<40){

Then we print the message (the tree is just aesthetically pleasing)


  Serial.println("For each of us as women, there is a dark place within, where hidden and growing our true spirit rises");
  Serial.println(""beautiful/and tough as chestnut/stanchions against (y)our nightmare of weakness/"** and of impotence.");

Then we close this condition

}

And we add another statement for all other cases that do not conform to this first condition


else {
  Serial.println("    ~|~ ");
  [....]
}

Task

Come up with your own text and illustrative elements when the plant is touched. Code your own behaviour for the interaction.

Using esp-32 with a moisture sensor

To use the esp-32 with a moisture sensor, we do a similar exercise, with the addition of  an electrical circuit for the soil moisture sensor, which needs to be electrified itself, hence we must connect it to a pin that gives it a current of 5V and a pin that gives it a ground.

Once this is done, here is the code to read the output



int SENSE= 2; // Soil Sensor input at Analog PIN A0

int value= 0;

void setup() {

  Serial.begin(9600);
  
  Serial.println("SOIL MOISTURE SENSOR");

  Serial.println("-----------------------------");

}

void loop() {

  value= analogRead(SENSE);

  value= value/10;

  Serial.println(value);

}

an esp32 micro-controller with dupont cables one yellow linked to pin g2 and one grey gnd, in the background there is a moisture sensor

an esp-32 controller with an orange cable tied to pin V5, there is a plate with a leaf in the background and a small aluminium corner of a macbook pro

Creating a webserver with the esp-32

In our last task, we are gonna set-up a web server that runs autonomously on the esp-32 and that can react to the touch or the soil moisture.
MAYBE WITHOUT HTML AT FIRST?


#include
#include
// SSID & Password
const char* ssid = "Plant_poem";  // Enter your SSID here
const char* password = "";  //Enter your Password here

// IP Address details
IPAddress local_ip(192, 168, 1, 1);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
WebServer server(80);  // Object of WebServer(HTTP port, 80 is default)

Here we first declare two variables, which are gonna be the name of the network of your network and its password

The second paragraph is about the adress of your network, its IP adress, to what you will connect to see your website

The third paragraph is the content of your website, here in html

**2- Setting the stage.**


void setup() {
  Serial.begin(115200);

  // Create SoftAP
  WiFi.softAP(ssid, password);
  WiFi.softAPConfig(local_ip, gateway, subnet);

  Serial.print("Connect to My access point: ");
  Serial.println(ssid);

  server.on("/", handle_root);

  server.begin();
  Serial.println("HTTP server started");
  delay(100);
}

Here we are gonna first open the communication canal for baud rate 115200

Then create our own Wi-Fi access point using the variable we declared in the previous step and let know the user by printing a statement on the communication canal

Then we will specify what happens on the "/" adress of our server. Here we call another function called handle_root . the behavior of this function will be explained in the next step.

Then activate our server and let it know through the communication canal

**3- Describing recurring events/command**


void loop() {
  server.handleClient();
}

Here we ask the controller to handle the client (your browser) so it can access the server.

**4- special function - handle root**


// Handle root url (/)
void handle_root() {
  server.send(200, "text/html", HTML);
}

This function details what is happening when someones connect to 192.168.1.1 without any character after this (the root address)

How to add touch sensor to this code?

In order to add a sensor to the code we must:

1- introduce its name

2- make the script check for its value chronically

3- use this always updated value in a if statement

How would that look? Can you point out the steps in the code below?


#include
#include
// SSID & Password
const char* ssid = "Plant_poem";  // Enter your SSID here
const char* password = "";  //Enter your Password here
int touch_sensor_value=0;

// IP Address details
IPAddress local_ip(192, 168, 1, 1);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);

WebServer server(80);  // Object of WebServer(HTTP port, 80 is default)

void setup() {
  Serial.begin(115200);

  // Create SoftAP
  WiFi.softAP(ssid, password);
  WiFi.softAPConfig(local_ip, gateway, subnet);

  Serial.print("Connect to My access point: ");
  Serial.println(ssid);

  server.on("/", handle_root);

  server.begin();
  Serial.println("HTTP server started");
  delay(100);
}

// Handle root url (/)
void handle_root() {
  if (touch_sensor_value<40){
    server.send(200, "text/html", HTML);
  }
  else {
    Serial.println("Nothing to print here    ~|~ ");
  }
}

void loop() {
  server.handleClient();
  touch_sensor_value = touchRead(T0);
  Serial.print("It can feel = ");
  Serial.println( touch_sensor_value);
}

Task

How would you do the same with the soil moisture sensor? How can you combine the two?

Technical links

Epressif documentation on esp-32: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/establish-serial-connection.html

How to use esp-32 as a touch sensor: https://microcontrollerslab.com/esp32-touch-sensor-button-example/

Driver for the esp-32: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

Arduino website for download: https://www.arduino.cc/en/software

esp-32 wifi communication with arduino IDE: https://microcontrollerslab.com/esp32-server-client-wi-fi-communication-arduino-ide/

creating a webserver with esp-32: https://electropeak.com/learn/create-a-web-server-w-esp32/

Misc links

On mineral necessary for electronics: https://www.dissentmagazine.org/online_articles/the-problem-with-conflict-minerals

the secret life of plants: https://www.youtube.com/watch?v=xvtcA46O-vA - controversial documentary sometimes dubbed as pseudo-science - for inspiration

wikipedia on the secret life of plants: https://en.wikipedia.org/wiki/The_Secret_Life_of_Plants

Supply chain analysis for minerals needed for electronics: https://www.dissentmagazine.org/online_articles/the-problem-with-conflict-minerals

tree thinking: https://placesjournal.org/article/tree-thinking/

Jagadish Chandra Bose: https://en.wikipedia.org/wiki/Jagadish_Chandra_Bose

Chaine d'approvisionnement de plusieurs matériaux d'un ordinateur: https://supplystudies.com/manifest/#manifest

https://supplystudies.com/manifest/json/samples/typical-laptop.json

Francis Hallé on specific trees: https://thereader.mitpress.mit.edu/walking-trees-parasitic-flowers-remarkable-plants-illustrated-guide

Music

Mall Grab - Spirit Wave: https://open.spotify.com/track/5zfDn2VAMkLya9CRKEYZyb?si=c8a501261b734c9e

Soichi Terada - Bamboo fighter: https://open.spotify.com/track/0QKc8g97mQsbybkvHYN2Bi?si=f2956b81b57c4c58

Susobrino - La hoja de eucalipto: https://open.spotify.com/track/5jWvkNfoQW1A42btmzJinP?si=934bdf4d871d48df

Stevie Wonder - the secret life of plants: https://open.spotify.com/album/3LSgLZrSXELqWt5eqb6XMY?si=y25zwRzbQlCJFWJiFTcAUA
 

9. Projects by students ESA St-Luc

  • type: Article
  • ref: DOC.2023.12
  • Date begin: 26 Octobre 2021
  • Date end: 30 Octobre 2021
  • description:

    Inspired by the 4 workshops the students of ESA St-Luc developed their own projects, which they presented to each other and the teachers on Friday 30-10-21.

List of projects inspired by the different workshops

___ ORACLE
1. Octavia Butler : lier ce qu'on fait artistiquement à la politique, 4 questions
2. Travail sur une autre version de l'Oracle (valeurs spécifiques, situations) ou illustrations et dessins
3. Un futur où les plantes et les technologies ne font qu'un

___ SORT TREE ALGORITHM 
4. Racine : Composition de dessins à partir de l'algorithme de tri, avec des éléments végétaux/animaux/organiques 

___ FOREST BATHING
5. Développer sa propre marche dans la forêt 
6. Rencontre avec l'arbre 
7. Fresque forêt : Représenter la rencontre avec la forêt d'un point de vue illustratif 
8. Capter l'émotion 
9. Musique expérimentale & images 

___ LIVING LIBRARY OF PLANTS
10. Faire de la musique avec des plantes
11. Impact des paroles sur les plantes
12. Plante connectée qui expose des œuvres en fonction de différents facteurs

___ COMBINED
13. Terroir de création: gathering everything I learned to make something new, numeric + symbiosis with nature, create machines that do things with nature
14. Photogrammetry with plants
15. Create a new language with a plant