Pranav viswanath

From (art)scienceblr
Revision as of 20:29, 11 April 2017 by Pranav viswanath (Talk | contribs)

Jump to: navigation, search

INTRODUCTION

I am Pranav Viswanath, a second year student majoring in Experimental Media Arts. I had opted for this course especially because sensors have always fascinated me. Although the process of working on programming is quite tedious and at times, frustrating, the output I get out of it has never failed to satisfy me. This has turned out to be the best way for me to express myself and communicate to the world because I have perennially been in love with electronics. I’m also interested in spirituality and philosophy. There is already too much hatred in this world and I really think I can integrate technology and spirituality to make this world a better place.


BASICS

What is a resistor?

All materials resist the flow of electric current at some level. A resistor is a device specifically meant for resisting the passage of an electric current.

Resistors in Series

Resistors connected in Series are chained together in a single line. Since all the current flowing through the first resistor has no other way to go it must also pass through the second resistor and the third and so on. Then, resistors in series have a Common Current flowing through them as the current that flows through one resistor must also flow through the others as it can only take one path. Then the amount of current that flows through a set of resistors in series will be the same at all points in a series resistor network

Resistors in parallel

In a parallel resistor network the circuit current can take more than one path as there are multiple paths for the current. Then parallel circuits are classed as current dividers. Since there are multiple paths for the supply current to flow through, the current may not be the same through all the branches in the parallel network. However, the voltage drop across all of the resistors in a parallel network is the same. Then, Resistors in Parallel have a Common Voltage across them and this is true for all parallel connected elements.

capacitors

capacitor works like a battery. it stores charge. While batteries and capacitors have similarities, there are several key differences. The potential energy in a capacitor is stored in an electric field, where a battery stores its potential energy in a chemical form. The technology for chemical storage currently yields greater energy densities than capacitors. However, when a battery is discharging it can be slower than a capacitor ability to

discharge because there is a latency associated with the chemical reaction to transfer the chemical energy into electrical energy. A capacitor is storing the electrical energy directly on the plates so discharging rate for capacitors are directly related to the conduction capabilities of the capacitors plates. A capacitor is able to discharge and charge faster than a battery because of this energy storage method also.

Personal reflection

I was really impressed when our facilitator took the effort to teach us the basics of electronics,circuits, ohm’s law, water bucket analogy even though this was supposed to be an advanced level class. I realized how rusty my memory was and how much I didn’t know. I was truly humbled after revising the basics.

LAKE VISIT

The lake visit really changed my perspective on sensors. I was able to look beyond electronics. There is so much around me that I was unaware of. My vision has literally expanded after observing microbes under a microscope. It is a whole new world. Maybe communicating with bacteria and small life forms is our first step towards becoming one with nature

PROJECTS

Touch me not monster

Process

Exploring Servo motor

We didn't know where to start. one of us had a servo motor lying around. we just wanted to understand how it works first.
Exp ser.JPG

Controlling two servos using IR sensor

We connected one more servo and at this point we had three ideas
1.pinball game
2.half zombie
3. creepy monster
we went ahead with the creepy monster because servo motor control wasn't smooth enough to make a pinball game or a zombie.

Building the Structure

Building the structure was the trickiest part. It just couldn't stand properly
3 building structure.PNG

Code

Monster code.PNG

Connections

servo 1 :
signal to pin 9
voltage to 5v arduino
ground to arduino ground

servo 2 :
signal to pin 10
voltage to 9v battery +ve terminal
ground to arduino ground
9v -ve to arduino ground

IR sensor:
analog pin to A0
vcc to 5v arduino
ground to arduino ground

Output

youtube link :



5-final output.JPG

challenges and Reflection

challenges
1. we were not able to predict in which direction the motor will move
2. did not really understand the code
3. had problems making it stand
4. did not work under direct sunlight
5. limited time

Honestly speaking, we did not plan to do this. we just ended up with a cute fluffy creature. working in a group was a great opportunity to bond as a team.

Pulse sensor

Using the pulse sensor was actually a cake walk . The connections were simple and like any other sensor with 3 pins.

DSC 1778.JPG

Readings

Empty reading.pngPulse with hand.png

code

Pulse scode.png


Turbidity Sensor

Process

LDR cicuit with switch

My first thought was " How am I going to build a sensor? " but after I checked the turbidity sensor that was already there in the lab, I understood how it works. I learnt an important lesson today.No matter how complex something is, it can be broken down and analysed. It is not that scary anymore.You don't have to super intelligent to achieve something.All it takes is just patience and peseverance. Programming is just like venturing into the sea. you will have to go against the tide initially and it is going to be difficult. As you keep moving forward the sea becomes calmer and after a point it becomes completely calm. So just because you had to cross the tides in the beginning, don't think that you are required to do it all the way. It gets easier.
Ldr with switch.jpg

Putting it all together

IMG 20170310 114205.jpg

Taking the readings

IMG 20170310 114057.jpg IMG 20170310 114114.jpg IMG 20170310 114126.jpg IMG 20170310 114138.jpg K.jpg IMG 20170310 114159.jpg

Graph

800px-ChartGo.png

LED blink using fuction and communicating with serial moniter

I will never forget this program because i have explained it so many times to my friends. Each time I explained, I covered every line including the absolute basics like why we use a semi colon at the end of each statement. I gained so much more clarity and i reached a point where i could i type the program with my eyes closed. I did not memorize it though.. i just understood it with great clarity. I got so used to discussing my thoughts with people that i actually felt more comfortable and confident while working with someone on a program. I worked better when I had to explain what i was doing as it gave me more clarity. The questions my peers asked while learning taught me a lot of things as well. I wouldn't have thought of those questions.

Code

Blink using function.PNG


Challenges

Making the LED blink using a function wasn't really that difficult, i took a lot of time to figure out how to take input from the serial monitor. I kept using the function " serial.Read() " and it did not work. It took me a long time to figure out that Serial.Read() calculates the size of the number(calculates how many bytes of memory is required) instead of actually taking the data. while explaining this to one of my peers I came up with an analogy. This is how I explained the program.

what are functions ?

Functions are people who can be hired to do a specific job in your program. just like how pinMode() tells the arduino which pin you are going to use and the state of the pin, there are a lot of predefined functions in the Arduino library. people didn't understand when i told them it reads the number of bytes. So I gave them an analogy which they can relate. suppose you want to play an mp3 song, this Serial.Read() function will calculate the file size of the song, length of the song etc.. but you want it to play the song. so you use a different function called Parseint().

Parseint() takes the number as such in integer format.. it is specifically meant for giving input to the serial monitor.


LED level control using Potentiometer

Challenges

Understanding how array works was overwhelming and confusing.
I was able to get it to light up one after the other by calibrating the potentiometer but I had to sacrifice my lunch break to make it turn it off one by one. I just had to tweak the for loop a little bit but I figured out how to do that only after a lot of trial and error. After making so many mistakes I'm now very comfortable with for loop and I know how it works.

EMF sensor

literally speaking, when we were asked to build an EMF sensor it was like asking to navigate our way out of a complex maze blind folded. After researching on the net we realized we just needed a conductor and plug it into one of the analog pins.


Emf1794.JPG

Activity

Futuristic human with extended senses

we(janvi and I) started out by collecting scrap that we could find in the campus

IMAG0611.jpg IMAG0618.jpg IMAG0616.jpg IMAG0624.jpgIMAG0627.jpg

There is a webcam on my back for 360 degree vision.
There is a jet back below the cam which can be controlled by the lever on my hand. the lever can also be used to excrete my waste while flying.
There is a fan on my chest which will help me take in more oxygen and give me super human strength
Those multicolored bulbs are psychedelic lights which can make people high just by looking at me

The whole experience was actually a makeshift super hero dream come true. I had a lot of fun going full retard and letting my imagination go wild.

FINAL PROJECT

Concept Iteration

Initially I wanted to make a Robot dog that resembles my dog since I miss my dog a lot. I just wanted to make a realistic dog so I wanted it to perform image tracking and face recognition to recognize the owner and follow them. After getting feedback I understood that it was my concept was too ambitious and I wanted to go for something simpler. Then I thought I would make a remote controlled dog that can fetch stuff from your room. I even wanted to give a scissor life and power it using a stepper motor so that it can reach things that are kept even on tables.

One other Idea I had was a life size work out companion that actually exercises along with you. My second Idea felt more original because there are only apps to support and I don't think anyone has ever made a workout companion robot but a lot of robot dogs are already there on the market.

After I made up my mind that I'm going to make a workout companion, I chose an exercise that can done any where and an exercise which is very convenient for balancing the robot. I chose the push up. Any other exercise would require the robot to execute complex movements and balance is one major criteria that I was concerned about.

Process

I went through a lot to get this to work.. so I have documented my process in 10 steps.

Step 1 - Miniservo control using IR sensor

The most crucial joint required to do a push up is the elbow joint. Without that joint doing a Push up is impossible. To mimic that hand movement, using a Servo motor was my best option. I was very skeptical about how much weight it can lift but I just wanted to first get it to work. Step 1.jpg

Step 2 - LCD display to count number of reps

With the servo motor working fine, my next step was to figure out how to use an LCD screen to display the number of Reps.
File:Step 2.1.1jpg Step 2.2.jpg

Step 3 - Mechanism

Step 4 - Upgrade to Big Servo

Step 5 - Using TIR 122 transistor to power servo

Step 6 - Motor shield

Step 7 - Two separate arduino boards to power each servo

Step 8 - Switching back to batteries to power servo externally

Step 9 - bigger and better

Step 10 - Final output

Code

Challenges

Final Output

Overall Reflection