A device to read the city: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
No edit summary
Line 516: Line 516:
   delay(100);
   delay(100);
}
}
'''Real Final Code:'''
#include <BMI160Gen.h>
#define listener 12
#define observer 14
const int select_pin = 10;
const int i2c_addr = 0x69;
int aState;
int aLastState;
void setup() {
  Serial.begin(115200);
  while (!Serial);   
  BMI160.begin(BMI160GenClass::I2C_MODE, i2c_addr);
  BMI160.setStepCountEnabled(1);
  BMI160.setStepDetectionMode(0);
  pinMode (listener, OUTPUT);
  pinMode (observer, OUTPUT);
  digitalWrite(listener, HIGH);
  delay (1000);
  digitalWrite(listener, LOW);
}
void loop() {
  int steps = BMI160.getStepCount();
  if (steps > 100){
    BMI160.resetStepCount();
  }
  Serial.println(steps);
  aState = digitalRead(steps);
  Serial.println(steps);
  if(steps > 0 && steps < 50){
  digitalWrite (listener, HIGH);
  }
  else {
  digitalWrite (listener, LOW);
  }
  if(steps > 50 && steps < 100){
  digitalWrite (observer, HIGH);
  }
  else {
  digitalWrite (observer, LOW);
  }
}

Revision as of 10:38, 12 June 2024

By reading we mean finding another possible form of seeing, moving, listening



Project template

Context The project starts from a concept that an urban environment can be read, analyzed and criticized as a text. By aimlessly wandering and drifting we can name exactly what we see, hear. List making can make very explicit what is missing, and who is not present or what is successfully hidden. If the city can be read it can also be annotated Posters, newspapers, graffitti, clothing, performances in public squares, protest, traffic serve as footnotes, annotations with very diverse comments.

More context

Many services and "smart solutions" provide comfort but also drastically reduce the level of unpredictability in a city. In a highly scripted cities, filled with prohibitions, navigations, how can we use scripts to enforce and strenghten unpredictability?


What is it? (physical description)

A physical device and a publication closely connected, working together. (Used as a method to encourage chance discovery and unproductive inefficiency, activated by a workshop)

Components:a device

  • a tube that can be carried with you and accompany your walk
  • a tilt sensor
  • device is multifunctional, can be used to observe and to listen to
  • what material its made from? fabric

a guide - printed

  • a manual for the device
  • collect scripts

workshop (scripts writing, a walk, exchanging and performing scripts and rituals, sharing the "unsmooth" encounters)

  • scripts writing
  • a walk to perform scripts

documentation of the workshops and the project


Why make it?

In a smart city ruled by obsession with perfection, maintenance and efficiency, how do we measure to whom those spaces are serving? And who decide what is the norm? This project is an attempt to find new forms of observing the city, to understand who is present in a particular space and what are their real needs and desires? What kind of city do we actually want? For the people performing this to be brave and curious, be concious of the unwritten structures that are designed into the 'city behaviour' and try to break them. At the Gemente visit, we were told that 98% of our behaviour is without having to think about it, but we do not belive that is true, our behaviour in this environment is really dictated by the rules and restrictions that are in place. Re-claim a city that does not feel yours with these little breaks of paths.


Allows continuously overwriting many parts of one street ( seeing a familiar place within a very different context)

Different narrative, objects, words, sounds, observations revealed


Plan


Week 1:

concept

writing scripts

Prototype 1

Design of the device - come up with ideas, sketches, materials, all rthe inspiring visual references

Power the device - find the


Week 2

Editing of the scripts

A guide - template

Finalize the device

Plan a workshop

Send invites for a workshop


Week 3

Print the guide

Workshop

Adjust the guide if time allows with insights from the workshop


Week 4

Playing cards

Drinking wine

Celebrating the project

Finalizing documentation from the workshooooop

Scripted city

Smooth city is expierienced differently by different people, and as much as everyone needs a safe and clean urban environment, free from danger and crime, it can also be a highly normative, controlling environment, gradually eliminating any chance for unexpected changes, productive friction, or oppurtunities to intervene according to one’s own ideas and desires.

Steering away from the expectations set by the "smooth city" often leads to various forms of social discomfort, ranging from disapproving looks to police intervention. Consequently, anything that strays from these expectations is seldom allowed to evolve naturally or at its own pace, resulting in a homogenized environment where diversity and individuality are suppressed.

Scripts for perfection and efficiency

- Contemporary urban scenarios - predictable what can happen

- Dictating what kind of activities are allowed

- Controlled terrain

- Social norms

- Certain expectations

- How people are expected to behave?

What kind of city do we accually want?

- Never speak to strangers / talk to strangers

- Desire for smoothness / desire for friction

- Frictionless environment / Random chances encounter

- Predictable / Surprising

- Higly controlled spaces / Autonomous spaces

- Privatised / Collectively shaped

Script open for interpretations

" In the ‘Smooth City’, complexities are deliberately erased. Spaces and narratives are simplified to form a streamlined version of urban life. The city, with its highly scripted and predictable spaces, becomes easy to use and thus remains unquestioned. The opposite of smoothness, unsmoothness, does not necessarily equate to unscriptedness. Like a theatre script that results in a different play according to a different director and actors, the ‘Unsmooth City’ enables a variety of narratives and interpretations. As such, smoothness and unsmoothness can coexist and even enhance each other." René Boer



scripts

ENDLESS EVER CHANGING ROUTE

Continuosly overwriting many parts of one place

Different narratives depending on the character

Different objects, words, observations revealed

https://teaching.ellenmueller.com/walking/assignments/exercises/

Random Set of Directions

1. Start at your front door and take exactly 37 steps to the left.

2. Turn right and walk until you see the third tree on your right.

3. Make a left turn at the tree and proceed straight for 50 steps.

4. Turn to your right and walk until you reach the first intersection.

5. Take a left at the intersection and follow the road for 2 blocks.

6. When you see a red car, turn right

7. Cross the street and walk diagonally until you reach a grassy area.

8. Walk around the perimeter of the grassy area twice.

9. Find a stick and draw a map of your walk in the dirt.


Different Walking Styles

1. Walk quietly, making as little noise as possible.

2. Alternate hopping and stepping

3. Drag your feet slightly as you move, making minimal effort to lift them off the ground

4. Take long, exaggerated steps

5. Walk smoothly, keeping your movements fluid as if you’re ice-skating

6. Add a slight bounce to each step


Interactions

Imagine the life stories of people you see

Walk until you find a bench. Sit down and go to the page number...

Walk to the nearest intersection and cross to the opposite corner

Notice an intriguing scent? Follow it

Close your eyes and listen to the city’s sounds for a momemnt

Pace

Observe people's routines

Notice the pace of people

Notice the timing of traffic lights

Follow the color Choose a color and follow objects of that color. For example, if you choose red, follow red cars, red flowers, or red signs.

Hidden stories

Imagine the lives of the people inside the houses you pass,

uncover hidden stories

Explore Side Streets: Whenever you see a narrow alley or a side street, take it.

Follow a theme: infrastructure

Let this theme guide your path and focus your observations on related elements.

Spend some time looking up at the tops of buildings

Then carefully examine the ground

Look for objects that could easily stay unnoticed


Flip a coin

Flip a coin at your starting point. Heads, go left; tails, go right.


Textures

Focus on the textures you encounter—brick walls, wooden benches, metal railings.

Touch and describe them

Who and what is missing Notice a recurring patterns, observe people and pay attention to who is missing



OBSERVER

Spend a moment scanning the building from top to the bottom - observing without moving.

Focus on small details: the texture of a building's façade, the color of a passerby's coat, notice infrastructurE

Try to find a surveillance camera

Observe the people around you. Notice their body language, expressions, and interactions. What stories do you imagine for them?



LISTENER

  • Identify as many sounds as you can. What do they tell you about this place?
  • Listen for the layers of sound. Notice the background hum, the mid-level sounds, and the prominent noises.


Look for contrasts:

old / new

busy / quiet areas

natural / urban

predictable / unpredictable

chance / control

staging / spontaneoity

Observer

Bring the device to one of your eyes, and close the other one, as if you were using a telescope.

Touch with your eyes Look at how the buildings and objects around you touch. Are they kind to each other? Are their bonds strong? How long do you imagine they could have they been there for together? Draw the lines they create below, then use them as a map to get to a new place.

Stroll and show Stand still, in front of a city object of choice. Examine it closely. Notice how it looks, feels and sounds. How it exists in space. Now imagine being this object, looking at the world from the same stationary position. Pretend you share the same set of eyes and go for a little adventure.

Tracking Sit or stand while you look around. Imagine you were able to archive exactly how your eyes are moving. Try to do that by drawing it on this page. Follow the shapes made by your eyes as closely as possible, as if they were a map.


Listener

Now bring the device to your ear, and listen closely

Layers Think of the sounds around you right now. They may appear as one big thing at first, but as you pay more attention, you notice how each is so separate.

Imagine now that they are different instruments in a song, and try to identify all of them.

Separate the different layers as you walk along them.

Now perform the sounds as if you were a musician, using the device as your instrument.


How much noise are you making right now? How much noise are you making right now? How loud is your step? Are you listening to music on headphones? Are they bleeding any sound? Are you breathing loudly enough to be heard?

Read around and search for the sounds you are making on someone else. Are they the same?


Moving sounds Stand or sit in one spot. Try to focus on all the different sounds around you. Which are stationary, and which are moving around.

Pick one moving sound you think you can follow and see where it brings you. Draw an arrow map of where you are going.

Rhythm collection Listen to the rhythm the sounds around you are creating. Try to ignore the tones, and only focus on the pattern the sounds are making. Some are fast,


slow,


repetitive.


How many different kinds of rhythms can you collect?


Loud in quiet Walk to the quietest place you can think of in your close surroundings.



Now read around for the loudest sound.


Navigation?

Secret Language Walk around. Write down your walking rhythm as if you were using a secret language.

Be conscious of your movement step-by-step, as if you were performing an elaborate dance.

Feel every muscle moving, each millimeter creating its own choreography.


Find all the walls

Reading Walk along one street. Read the words that you can find written around you.

Write a poem with the sounds they make.

Walking patterns

Try to draw with your feet, every step being a little dot on the page. Think on a great scale, imagine the city is as big as a paper.

Step Walk using a different step you normally would. Maybe try a bouncy walk, almost as if you were going to jump after every step. Or a really slow and wide one, as if you were falling asleep more and more every step. How does this change the environment you are in?

Copy Look at the people in the environment around you. Pick one and copy how they move. Thier step, how they move their hands, maybe even their tone of voice if you can hear them talking. Imagine who they are, and what they notice in the city. Look for this.

Prototyping the device

We work on the (sensor) hardware while also thinking about the look of the device.

Technical aspects for the technical aspects we need:

  • Tilt sensor
  • Wires
  • Microcontroller with SD card
  • 3 leds
  • battery
  • maybe resistors

Led one turns on after one step. This led is corresponding to the observer section of scripts in the publication/guide. This will prompt the curious pedestrian playing to go to that section and perform a chosen script.

Led two turns on after 200 [could be changed, temporary value for testing] steps. This corresponds to the listener section of the publication/guide. This will prompt the curious pedestrian playing to go to that section and perform a chosen script.

Led three turns on after 500 [could be changed, temporary value for testing] steps. This corresponds to the listener section of the publication/guide. This will prompt the curious pedestrian playing to go to that section and perform a chosen script.

It would be nice if after this, the succession would continue in a loop, to have the pedestrians be able to keep playing after, choosing to perform new scripts.

For now (7 June), the code looks like this:

#define outputA 14
#define outputB 12
#define outputC 13
#define outputD 15
#define outputE 2
int counter = 0; 
int aState;
int aLastState;  

void setup() { 
  pinMode (outputA,INPUT); //this is giroscope
  pinMode (outputB,INPUT);
  pinMode (outputC, OUTPUT); //this is led so signal goes out
  pinMode (outputD, OUTPUT); //this is led so signal goes out
  pinMode (outputE, OUTPUT); //this is led so signal goes out
  digitalWrite (outputC, LOW); //turns all led off at beginning
  digitalWrite (outputD, LOW); //turns all led off at beginning
  digitalWrite (outputE, LOW); //turns all led off at beginning


 Serial.begin(9600);
   Serial.println("Hello World.");
 delay(2000);
  
  aLastState = digitalRead(outputA);   //checking the connection
  Serial.println(aLastState);
} 
void loop() { 
    
aState = digitalRead(outputA); //0 on groun 1 on 5 v, also checking connection
  if (aState != aLastState){     
    // If the outputB state is different to the outputA state, that means the encoder is rotating clockwise
    if (digitalRead(outputB) != aState) { 
      counter ++;
    } else {
      counter --;
    }
    Serial.print("Position: ");
    Serial.println(counter); //write the number of turns
    if(counter >= 50){
     digitalWrite(outputC, HIGH);
    } //turn on led if it has turned more than 50 times
    else {
     digitalWrite (outputC, LOW);
    }
    if(counter >= 100){
     digitalWrite(outputD, HIGH);
    }
    else {
     digitalWrite (outputD, LOW);
    } //turn on led if it has turned more than 100 times
    if(counter >= 150){
     digitalWrite(outputE, HIGH);
    }
    else {
     digitalWrite (outputE, LOW);
    } //turn on led if it has turned more than 150 times
  } 
  aLastState = aState; // Updates the previous state of the outputA with the current state
}


Reference used: https://howtomechatronics.com/tutorials/arduino/rotary-encoder-works-use-arduino/

Like this, the three LED turn on after 50 turns of gyroscope each, but we want them to turn off also, so it still has to be modified.


  1. include <BMI160Gen.h>

const int select_pin = 10; const int i2c_addr = 0x69;

void setup() {

 Serial.begin(9600); // initialize Serial communication
 while (!Serial);    // wait for the serial port to open


 BMI160.begin(BMI160GenClass::I2C_MODE, i2c_addr);
 BMI160.setStepCountEnabled(1);
 BMI160.setStepDetectionMode(0);

}

void loop() {

 int steps = BMI160.getStepCount();
 Serial.println(steps);
 delay(100);

}

Real Final Code:

#include <BMI160Gen.h>
#define listener 12
#define observer 14
const int select_pin = 10;
const int i2c_addr = 0x69;
int aState;
int aLastState; 


void setup() {
 Serial.begin(115200); 
 while (!Serial);    
 BMI160.begin(BMI160GenClass::I2C_MODE, i2c_addr);
 BMI160.setStepCountEnabled(1);
 BMI160.setStepDetectionMode(0);
 pinMode (listener, OUTPUT);
 pinMode (observer, OUTPUT);
 digitalWrite(listener, HIGH);
 delay (1000);
 digitalWrite(listener, LOW);
}
void loop() {
 int steps = BMI160.getStepCount();
 if (steps > 100){
   BMI160.resetStepCount();
 }
 Serial.println(steps);
 aState = digitalRead(steps);
 Serial.println(steps);
 if(steps > 0 && steps < 50){
 digitalWrite (listener, HIGH);
 }
 else {
 digitalWrite (listener, LOW);
 }
 if(steps > 50 && steps < 100){
 digitalWrite (observer, HIGH);
 }
 else {
 digitalWrite (observer, LOW);
 }
}