top of page

Sara | Kriti | Shreya

TECHNICALLY
STUDYING

-Guided by Jens Ewald

A two-week course guided by Jens Ewald, where we are exposed to the whole realm of electronics and the language of the machines through a journey of exploring, understanding and reflecting on ourselves.

Triduino

We Sara, Kriti and Shreya, from PDUG20 have taken the journey of this two week course together by exploring different paths individually, reflecting ourselves and helping each other through discussions and finding connections of our practices and merging it to create something new.

 

Triduino reflects how we trio are exploring Arduino and its component's capabilities, reflecting on our observations and documenting the same.

20230131_102855_edited_edited.png

Inventory of Materials 

OUR EXPLORATIONS WITH MAKING 

We all were quite new to the arduino and coding, each of us started exploring different components of arduino as jens said we started with making and practicing.

Ultrasonic sensor and Servo motor

DocScanner Feb 3, 2023 1-25 PM.jpg
Searching for a stimulus for how to start this journey of introspection with electronics transported me to childhood memories because those served as the foundation for shaping my identity and the person I am. Childhood toys evoked fond memories and a sense of nostalgia in me. We all might have had or encountered one shut-eye doll at some point in our childhood. It closes its eyes when laid down and opens them when picked up. I used to try opening its eyes when lying down. That line of thought intrigued me, and I thought of something like making eyes that one can never touch like it closes when you try to poke. 
WhatsApp Image 2023-02-09 at 15.16.37.jpeg

Which component I have could I achieve a shut-eye movement? That's how I started understanding the servo motor—then thought of controlling its direction with the ultrasonic distance calculator. I brushed up my understanding of the connections, and working the codes individually for the components was relatively painless. But as a next step to combine both, it could have been smoother than I imagined. I even attempted to write the code by myself by studying both sketches but realized it was too ambitious for someone new to this whole realm. 

I started understanding servo motor by the basic code copied from internet. Trying to figure out how to do connections and control the degree of movement through coding language.

WhatsApp Image 2023-02-09 at 15.25.50.jpeg

To make the movement of servo motor more interactive I had to go back to figure out how an ultrasonic sensor works?

​

The next stage was to combine both. Through a lot of discussion with people and watching YouTube videos I got introduced to "if" function. I could play with the distance detected by the sensor and the degree of movement of servo!!

It worked!!

"If you're in for a penny, you're in for a pound."

If one servo can work, why not try for two?

I borrowed one more from my friend, Shreya and figured out how to add multiple servos and control it with the sensor.

​

Screenshot (927).png
Screenshot (929).png

the changes made to include the next servo

To add some fun......

Screenshot (930).png
Screenshot (931).png

An applause when you move away.

Screenshot (932).png

introduced map function.

How can I control the movement with the range of distance from the sensor? 

Screenshot (933).png

How to combine ''map" and "if" functions with servos?
was my next question

Ultrasonic sensor + LEDs

I have always been amazed by the interactive toys we had in childhood which would respond to us based on different gestures we perform. Such interactions makes us feel special knowing that it is  you who drives the flow of output based on what input you give. Sometimes things respond in a  way we dont expect and such surprises increases curiosity in oneself. Keeping similar curiosity in my mind I started with quite basic interaction and started exploring ultrasonic sensor and other arduino components.     

Start
by making

Though I was quite new with coding, I looked at my inventory and started creating/ practicing with the materials I had without shopping anything. 

How does ultrasonic sensor work?

Screenshot (9073).png
TS2_assi.jpg

Recapped on previous technical studies and coding. To understand how proximity sensor works, I started with basic coding on distance calculator and started referring to different resources for coding.. 

Combing LED with Ultrasonic sensor

Led on/off

Screenshot (9077).png

Why LED+ sensor? and How do i combine these two? I started with how the LED can be turned on/off'  tried basic code on switching led on/off using sensor.

WhatsApp Image 2023-02-15 at 00.28.07.jpeg

Led fading/ control over brightness

Screenshot (9079).png
Screenshot (9078).png

How about I try fading it? We always wait for that little spark in the led to watch it glow up and see how dramatically it fades away.

WhatsApp Image 2023-02-15 at 00.29.27.jpeg

RGB Led colour transition

Screenshot (9075).png
Screenshot (9074).png
Screenshot (9076).png

Got my hands on rgb led and tried it out. Then i thought of combining  fading and rgb colours but ended up merging the flow from one colour to another again using ultrasonic sensor.

Exploring RGB LED and control over the colour transition using proximity sensor

Colour transition between RGB using ultrasonic sensor

WhatsApp Image 2023-02-15 at 00.31.44.jpeg

Sequential lighting of LEDs

Screenshot (9082).png
Screenshot (9083).png

Now i got an idea of using one led. How about i add multiples leds? Tried switching individual leds to on/off in a flow using distance sensor. We see similar interaction in street lights which turn on/ gloves up when a person or car is passing by. This even ends up saving some amount of energy from gets wasted by being ideal.

Moving on from lighting one LED to multiple LEDs

WhatsApp Image 2023-02-15 at 00.33.36.jpeg

Operating LEDs using 2 ultrasonic sensor

Screenshot (9070).png
Screenshot (9071).png

Now after I tried using one sensor as input,

How about using 2 sensors as input?

How will LEDs react to it?

I proceeded on to see how sensor inputs more than one works. Can variations in outputs be seen wrt different inputs? 

20230210_000813.jpg

Being quite new to arduino and coding I found it quite difficult to understand the code and what task each of the code functioned. But as Jens said, // Practice more and write more/ and how this course is more about making,  experimenting and reflecting, we  started using different resources to get the code, copy paste in arduino. But most of the time the code doesn’t turn out to be working  exactly the way we want but definitely lead you to unexpected outcome. Sometimes i tried to tweak the code, by trial and error method and once got successful then by trying permutations and combinations with the same.

Processing and Arduino

Creating Canvas

I started with essential functions to create a canvas by the coordinate system. Also understood setup() and draw() function used for creating graphics and animations.

​

setup() function is executed only once at the beginning of the program and is used for initializing variables, creating canvas, and setting up the environment for the graphic to be displayed. 

​

The draw() function is used to update the position, color, and other properties of the graphic elements in a loop creating the illusion of motion. 

​

In short, the setup() function sets the stage for the animation, and the draw() function animates the elements on the stage.

Shapes

Then coded shapes like ellipses and rectangles by taking the coordinates.

​

​

Colour

Further added colour to the shapes by adding fill and stroke that determine the appearance of shapes drawn on the canvas. Fill is the interior color of a shape whereas Stroke is the color of the line that outlines a shape. By default both are set to undefined, meaning that shapes will not be filled or stroked. By setting the properties in (R, G, B) order to see the coloured shapes on the canvas.

​

mouseX-mouseY

mouseX and mouseY are built-in variables representing the x and y coordinates of the mouse pointer relative to the canvas. These variables are constantly updated as the mouse moves. 

mouseX-mouseY

Switching mouseX and mouseY controlled by the mouse caused the ellipse to move along a different axis. Instead of moving horizontally with the mouse movement, it moved vertically, and vice versa. it resulted in a different interaction and effect.

​

mouse X - mouse Y

Further experimenting with controlling two ellipses by the mouse cursor.

​

Interact

Adding value to mouse X and mouse Y

​

Interact

Putting background in the function setup kept it unchanged which allows us to see the multiple ellipse generation with the movement of the curser.

​

Interact

Further putting other shapes in the function setup kept it unchanged allowing to cover the canvas by multiple ellipse.

​

Adding motion 

Look at how to create variables and how to use them to animate elements in sketches.

The movement of the ellipse is created by putting the value of the variable "circleX" to be 0. "circleX = circleX + 1" is an assignment statement that takes the current value of "circleX", adds 1 to it, and then stores the result back into "circleX". That is how we see the movement. 

Writing variable

The mouseIsPressed variable is a boolean variable (two possible values: true or false) indicating whether the mouse button is currently pressed or not. On unclicking the mouse we don't see multiple ellipses because background run in loop.

Interact

Using if and else statements are used to conditionally execute certain sections of code based on a boolean expression (two possible values: true or false). This expression is evaluated, and if it is true, the code inside the if block is executed. If the expression is false, the code inside the else block (if present) is executed. Also played with the transparency of the colour.

Interact

Just had fun and further explored the random function 

Interact

Also covers the map function, how to take a value from a given range and map it to a new range.

Interact

Added colour to the map function.

Interact

The draw function is executed repeatedly and is used to draw the spot on the canvas. The function sets the x and y properties of the spot object to random values within the width and height of the canvas, respectively. It then draws an ellipse at the spot's x and y position.

Interact

just exploring range of random colours.

This is something extremely new to me. I started with understanding what Arduino and processing are. Then tried to understand the possibility of what and how it could be done. The coding was the bridge between me trying out how to do it. I started with understanding the basics by referring to various resources. Talking to people who are familiar with coding and following YouTube tutorials helped me learn coding basics step by step. After having little understanding I experimented with incorporating different codes which helped me in solving unending errors which gave me little confidence and a better grasp on understanding and writing.

Then looked at how processing could be incorporated with Arduino. The back and forth process of referring resources and implementing the same, checking for errors and trying different combinations of codes  gave me more control over the language.

Search
Check back soon
Once posts are published, you’ll see them here.

Thank You!

bottom of page