Ix Lab Recitation 10 – Joel Rao

Last recitation I decided to sit in on the object oriented programming section. I’m very interested in video game development, so I thought this class would help to illuminate some of the programming challenges and solutions behind it. What I learned from Luis’s lecture is that object oriented programming helps a lot with cleaning up the main source code. By separating out  classes from the main code, it becomes a lot easier to spawn objects in the main code. And because the objects already have their functionality defined by the class, it becomes a lot easier to program new objects. In Luis’ class we used what we learned from the lecture and apply it. I decided to apply object oriented programming to a bouncing ball code I worked on earlier in the semester (see below) Using the code, a user could create infinite amounts of balls to bounce around. The below uses 500 of them.

Object oriented programming could help with the project Jeffrey Han and I are seeking to create. A film strip that allows users to change the video on screen by manipulating cube objects within each frame. By preloading our videos in the set-up it will be easier to call them from an array to present on screen. And it could help with our other hopeful functions, like changing filters, adding in sound effects and more. The possibilities are potentially endless.

//based on code from http://drdoane.com/thinking-through-a-basic-pong-game-in-processing/
//the following code is the class and the called object of a ball bouncing

class bball {
  float rectX = width/3;
  float rectY = height/2;
  float rectH = 10;
  float rectW = 10;
  float dirX = random(1, 5);
  float dirY = random(1, 5);

  bball(float px, float py) {
    rectX = px;
    rectY = py;
  }
  void update() {
    if (rectX>width) { //movement
      dirX = -dirX;
    }
    if (rectX<0) {
      dirX = -dirX;
    }
    if (rectY<0) {
      dirY = -dirY;
    }
    if (rectY>height) {
      dirY = -dirY;
    }
    rectX = rectX +dirX;
    rectY = rectY +dirY;
  }

  void display() {
    rect(rectX, rectY, rectH, rectW, 5); //the ball
  }
}


bball[] mybballArray = new bball[600];

void setup() {
  size(500, 250);
  for(int i=0;i<mybballArray.length;i++){
    float x = random(0, width-1);
    float y = random(0,height-1);
   print("the element " + i + "x "+ x + " y " +y);
    mybballArray[i]= new bball(x,y);
  }
}

void draw() {
  background(0);
  for(int i=0;i<mybballArray.length;i++){
    mybballArray[i].update();
    mybballArray[i].display();
  }
}

Recitation 10

At the recitation, I chose to participate in the workshop for Serial Communication. Nicholas explained every part of the code in blocks and then we proceeded to learn how to communicate different values between arduino and processing. Some of the things I learned were that serial write only ends in bytes and that serial.print sends the ascii value. 

We first built a circuit with a button and two potentiometers. By turning the potentiometers, we could control a ball on the screen and once the button is pressed, the colours of the ball changed randomly. As for processing to arduino, the example we used was a ‘palette’ of three colours and a white on the right. By moving the mouse up and down the ‘palette’ we could change the colour of the rgb led in the circuit. Once the white colour is pressed, the buzzer made a sound. We could easily change the sound in the code.

Overall, the recitation was a really helpful for solidifying the knowledge about how processing and arduino talk to each other. It is very helpful for the final project.

Week11: 3D Modeling & 3D Printing Exercise

For the 3D modeling exercise, I made a model based on the Cupman I designed before. As its name, the cupman is a cup. Its hat and face is the cap of the cup, while its body is the body of the cup. The ring on its hand serves as the handle.

I used four cylinders to make the hat, face, body, and the feet and then grouped them together. I added a torus to the hat to make it more like a gentleman hat.

I had some problem when I was making the arm of the Cupman. First, I used a capsule and extruded its surfaces to make the hand, but it looked weird, especially the palm part. After asking Marcela, I remade the arms with a cube instead of a capsule. Since a capsule has too many subdivisions, it is very hard to sculpture the shape I want. However, a cube has fewer surfaces. Therefore, it is easy to control the shape.

For the suit, Marcela taught me to create a polygon, wrap it around the body cylinder, and then use boole to carve it into the body.

It is my first time to do 3D modeling. To be honest, I found it really hard. Even though this Cupman is not that complex, it is still a little difficult to make the details and adjust the size of each object, especially at the beginning when I was not familiar about how to use extrude.

After 3D modeling, everything went on smoothly. I exported the file into stl. With the help of Leon, I convert it into Gcode and started the 3D printing. To save material, I printed the Cupman upsidedown so that it could use less material to print the support part of the hat and the ring.

 The picture above is how the cupman looks like when it was freshly printed. Then I manually took all the support away. However, after I taking all the support away, the surfaces of the remaining part are rough. Even though I used abrasive paper to make them smoother, it didn’t work too well.

It was a long process. It took about 3 hours and 40 minutes to print the Cupman, but everything worth after seeing this cute object printed without any accident. (I still remember when I first used 3D printer 4 years ago to print a button, I printed 5 times to get a proper one.)

Maria Paula Calderon – Solar Satellites Chapter Summaries

Maria Paula Calderon – Solar Satellites Chapter Summaries
Solar Satellites: Chapters 1, 2, and 8

Introduction

Considering our imminent depletion of natural resources and the increasing need of a steady and reliable clean energy source, the development and launch of solar satellites, specifically those of the Sunsat variety, is crucial to the conservation of our planet. The principal purpose of these satellites is to be positioned around Earth’s atmosphere in strategic positions to directly capture the Sun’s energy and then send it back to Earth. This alternative source of energy would be a vital source of “base load power”, as the electrical power generated as a result would be able to be accessed and delivered anywhere in the world. However, in order to reach such a prosperous outcome, there are still several factors that must be further developed.  Firstly, larger and more sophisticated space platforms, arrays, and power transmission systems must be developed. More robots and reliable transportation systems to deliver materials must also be done, along with more specialized large-scale receivers, converters, storage and distribution systems on Earth. In-orbit position allocations must also be granted, along with a radio frequency spectrum for the transmission of the energy from Earth’s atmosphere. Finally, an effective operational arrangement and management system would also be crucial for this project to be carried out, as it would ensure that all the components work in a safe and efficient manner.

Chapter 1: What is a Solar Power Satellite?

A solar power satellite is a vehicle located in space whose main function consists of collecting sunlight directly from the Sun and delivering it back to Earth in the form of electrical power through antennas on the ground, which would be plugged into electrical power grids. In order to provide such enormous amounts of energy, the Sun’s energy would be converted into low-density radio or light frequency waves, which would provide “many times more electrical power than we use today” (4). In order to do so, and increase efficiency, large-scale reflectors would be used to concentrate the Sun’s photons. This would result in the PV cells perceiving more energy from the Sun than would usually be the normal.

Currently, there are no solar powers operating yet, but the pressing need for clean, abundant, and instant energy is paving way for the development of such satellites. These satellites would also have functions such as communication (to broadcast audio and video, enable mobile telephony, broadband data, and Internet), remote sensing (to keep a check on weather, environmental surveillance, and mapping), navigation and geo-positioning. The difference between the newly envisioned Sunsats and the current in-orbit satellites pertains to their qualities in terms of the space segment, the Earth segment, and the transport segment.

The Space Segment

New solar power satellites would include several features that are already present in communications platforms, such as a satellite bus, solar arrays, onboard processing, telemetry control, and wireless transmission systems. However, solar power satellites would be specifically made for the purpose of relaying energy back to earth to be converted into electricity, unlike the current comsats that only gather smaller proportions of energy from the Sun simply to power their own spacecraft. With the current advances on thinner, lighter, and cheaper photovoltaic cells, Sunsats would benefit greatly as they would not only be more productive, but also less expensive. However, there is still a great need for bigger, more efficient solar panels in order for such an ambitious goal as that of using Sunsats to replace current energy resources to be achieved.

The Launch Segment

For the successful launching of vehicles or objects out of Earth’s atmosphere, launch systems are crucial. Various reusable launch vehicles (RLV) are used in order to do so, which are of various types, including the “vertical takeoff vertical landing”, and even “single stage to orbit” or “two-stage to orbit” types. At first, Sunsats would use private, commercial, government rockets to get into space, similar to normal communications satellites. Another future possibility is to assemble the solar satellites from components lifted by rockets into a low-Earth orbit. A final alternative would also be to use more powerful thrusters to have the same effect. In terms of its maintenance, the Sunsat would be constructed and maintained tele-robotically by operators on the ground.

The Ground Segment

Similar to radio and TV receivers, rectifying antennas would receive the signals sent by the solar satellites and convert them into electricity. However, these receivers would be larger and would be more spread out to enable a lower density of energy, as passing radio frequency beams with highly concentrated transmissions could potentially harm airline passengers passing by and could even interfere with other communication satellites. These rectifying antennas would also be networked into power distribution centers. Another advantage of these sites is that they could potentially hold agricultural crops or fish farms.

Challenges That Sunsat Face

In order for the Sunsats to be launched, there are still several challenges that are to be faced. Such a project faces challenges in terms of their orbital registration, position, frequency allocations, and levels of power transmission, which would be a further struggle in current times as there are scarce orbital slots. The nation-by-nation approval process that would have to be passed would also be an enduring constraint. The lack of commitment from the government is also a hindrance to the project in general, which is mostly being carried out by the private sector. Finally, some of the technical challenges that this project faces include increasing the efficiency and capacity of solar cells, enabling wireless power transmission and receiver networks, developing energy conversion mechanisms, and further developing the storage and distribution systems.

 

Chapter 2: What are the principal Sunsat services and markets?

Overall, solar power satellites are crucial solutions to our need for a clean energy resource as they can be strategically placed in orbital sectors where the greatest amount of solar energy can be collected, supply power at all times due to this, and their land receivers can be used for multiple purposes.

As listed by the National Space Society, other advantages of solar powered satellites include:

  • No emission of greenhouse gases
  • No production of hazardous waste
  • High quantity availability at all times
  • No requirement of environmentally problematic mining operations
  • No potential target for terrorists (unlike nuclear power plants)

Other main uses for the solar satellites pertain to the production of baseload electrical power to support agriculture, desalinate water, disaster relief, military operations, and other uses.

  • Power utilities: will provide on-demand electric power that can be repurposed and reutilized and could also potentially replace other, polluting sources of energy.
  • Agriculture: could pave way for the creation of a multipurpose greenhouse that would have constant temperatures and light all year round. Not only allows farmers to farm their cash crops but also serves as a supply of electricity.
  • Terrestrial purposes: Rectennas would be placed along with other solar power plants, and can be designed to let light pass through, so the same area could be used for the production of electricity through normal solar plants, or could be even used for agriculture.
  • Fresh water: the satellite could also provide the power needed to desalinate seawater, a process that would provide freshwater at all times every day.
  • Cities: the continuous and non-depleting supply of energy would be crucial in meeting the growing energy needs of cities. As there is no atmospheric nor cloud interference and no night nor seasons, this continuous baseloud resource is vital.
  • Disaster sites: these solar powered satellites could also not only provide illumination and a communication means during power outages in disaster sites, but could also provide an alternative means to recover from a power outage through its readily available energy. An extension of this possibility is to create a navigable airship that hovers around the stratosphere to provide help when needed. It would be able to relay up to one billion watts of energy to any surface on Earth that would need it, which could power a million homes during a crisis. It could even potentially run generators and power up an electrical grid, and could contain passive electro-optical and active radar sensors to find people trapped in debris.

 

Chapter 8: How is Sunsat Development Faring Internationally? *Focusing only on section on China

Given the rapid growth of China accompanied by a growing need of electricity and energy, the country is currently developing space-based solar satellites in its attempt to provide an alternative clean means of meeting the energy demand. Given that by 2050, 85% of the growth in energy demands would feed from fossil fuels, nuclear power, and hydropower, and only 30% of the remaining 15% would be met by alternative renewable energy resources, the situation calls for a pressing, and early, development of solar power satellites. To make matters worse, the Chinese Academy of Engineering reported that oil, coal, and natural gas would be depleted in the next 15, 82, and 46 years respectively. In response, the Chinese Academy of Space Technology (CAST) has stated in its report on “Solar Power Satellites Research in China” the following timeline in terms of its goals related to the development of SPS.

  • 2010: finish concept design
  • 2020: finish industrial level testing of in-orbit construction and wireless transmissions
  • 2025: complete first 100kw SPS demonstration
  • 2035: 100mw SPS will have electric generating capacity
  • 2050: first commercial level SPS system will be in operation

Amongst the CAST’s priorities in the development process of SPS, sustainable development, a skilled workforce, and a means of disaster prevention and mitigation are included. Four other important areas of development include the launching approach and mechanisms, the in-orbit construction mechanisms, high efficiency solar conversion, and wireless transmission.

 

Inflatables: Lab-Building a dome. Abubakar Zahid, Professor Mikesell

The website for the dimensions of gore calculator made it really convenient to make our gore. The website gave us the dimensions of the length and changing widths of the gore. Also, it gave us the number of gores we needed to make our dome. With all the given dimensions, the task we had to do was cut out the gores and then heat them using a heat sealer.

The plastic we used

Since the given calculations in the website also took into account the extra amount of plastic required to be used in sealing, unaware of this, we cut a greater length then the one mentioned in the calculations. This lead us to the slight problem of changing the dome like shape of our dome.

ima-vid

However, the lab was very useful in the sense that we learned the importance of cutting exact dimensions of plastics in order to make the desired shape of our inflatable and also to use the heat sealer more efficiently.

Recitation 10 – Soldering

For this recitation I decided to learn soldering. I soldered for the midterm; however, since that was my first time doing it, I had to do it several times, often times without success. Therefore, I wanted to use this recitation to learn how to properly solder.

The recitation was broken down into three separate soldering exercises. First, we soldered a wire to a little piece of copper tape. I think this was the easiest since everything was placed on a flat surface so there were no movements or adjustments needed to be made.

Then we soldered two wires together. This part proved to be a little tricky since we had to place the wires perfectly together to where the ends connected together just right for the solder to melt onto.

Lastly, we made a circuit by soldering wires to a LED lightbulb and then soldering a resistor to one of the wires. I think the most difficult part of this step was soldering the resistor. Since the diameter of the resistor was so small it was difficult for the helping hands to hold on to it. Overall, this recitation was extremely helpful. The recitation has significantly improved my confidence in my soldering skills.

By properly learning how to solder I can apply this new skill to my final project. For Vera and I’s final project there will be multiple sensors. Some of which might be far away from the Arduino and laptop. Therefore, soldering extra wires will be a valuable skill.

Week 12: Response to Rachel Greene (Chen)

Response to “History of Internet Art”

Rachel Greene, in her article “History of Internet Art”, discusses the history and topic of internet art. Internet art, or “net.art” does not have a single, solid definition, but can be described as an interactive work of art online. Internet art is one of the newest artistic movements, due in part to the recent creation of the internet in the 1990s. Internet art is very innovative and not bound by many limitations. While a painting is restricted to its canvas and movies are restricted to what was filmed, internet art manages to break those barriers with its interactive element. Internet art can have animation or sounds. The same internet art project can look different from one another if a user interacts with it differently. While internet art began as very simple designs on old computers, it has evolved to endless creations involving every aspect of the arts. Internet art is widely used today, in works used to promote activism or critique politics, news outlets, etc. I found a connection between this article and Paul Rand’s “Computers, Pencils, and Brushes”. In his article, Paul Rand discusses how classic artistic equipment, such as pencils and brushes, can be replaced by computers. He views the computer as an artistic tool not bound by the many limitations traditional art has. In my opinion “net.art” can be an outlet for people who are not good at working with the traditional arts but are good at working with computers. The medium of the internet is a way for both artists and computer coders to create and share their art.

Capstone- Outline & Thesis Statement

 

Central Question or Core Idea:

  • Sound Map of Shanghai
    • Labor Map
      • In response to current political issues surrounding the China-US trade war
  • Critiquing tendency for maps to highlight “wealthy areas of interest”
    • Rule: Labor highlighted will not appear on a Google Map search
      • In response to algorithms by Google Maps and Baidu Maps, how these ‘hotspots’ affect economic activity, creating thus feedback loop
  • What is the form of interaction? Piano, discuss issues with this

 

Fuel your audience interest by highlighting an unexpected discovery:

 

Your Project’s Engagement with Something Larger:

“Mierle Laderman Ukeles: Maintenance Art”

Harun Faroki: Labor in a Single Shot

Blue Collar Art is Having a Moment

 

Ceremonial Sickle of the “Fieldworker of Amun” Amunemhat

… which influenced surrealist sculpture by Martin Puryear

 

The Problem with ‘Areas of Interest’ on Google Maps

 

What Do Chinese People Think About the Trade War?

 

https://www.nytimes.com/interactive/2018/03/06/business/china-tariffs.html

Inflatables: Class 9 Lab – Maya Wang, Professor Mikesell

For this class’ lab, we split into groups of 3 and put together an air pump with a valve that was controlled by Arduino, and later, an an air pressure sensor. The first part of the lab was to put together the air pump and valve, so we got out components which included: an AC adapter, a voltage converter, TIP 120 (not pictured), air pump, valve, diode, Arduino board, breadboard, and jumper cables. The air pressure sensor is pictured also, but we didn’t use it until the second part of the lab. I began by soldering some jumper wires to the pump so we could attach it to the breadboard. We followed a circuit diagram that was similar to the one pictured below, except instead of a resistor, there was a diode, and we had to include a voltage converter.

Before we could put any of the other components on the breadboard, we had to adjust the converter to output 6 volts so it would be the correct amount to power the circuit. We measured the voltage using a multimeter, then adjusted it accordingly.

We put the rest of the components on the board, following the diagram. The TIP 120 was the most confusing to wire, since the pins didn’t match up with the actual diagram we were given. We double checked the position of everything, and uploaded the example code. However, it didn’t work initially, only the pump was blowing air and the valve was not “clicking” like it was supposed to. We checked the wiring and code again, and found that 1. there was an extra “0” in the milliseconds of the example code, and 2. I had accidentally put one wire above the actual spot it was supposed to be in, which made the valve part of the circuit not closed. We fixed those two problems, and then the valve and pump worked.

The next part of the lab was to incorporate an air pressure sensor into the circuit, which I don’t have the circuit diagram for anymore. We just followed that by essentially wiring the digital pressure sensor to the Arduino. Once the example code was uploaded, the sensor began reading input. Regular human lungs couldn’t provide enough air pressure to make a large change in the serial readings, so we used a syringe to pressurize the air. The working air pressure sensor is shown in this video below.

//valve control

void setup() {
 // initialize digital pin LED_BUILTIN as an output.
 pinMode(6, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
 digitalWrite(6, HIGH); // turn the LED on (HIGH is the voltage level)
 delay(1000); // wait for a second (There was an extra 0 in the example code which affected our initial attempt)
 digitalWrite(6, LOW); // turn the LED off by making the voltage LOW
 delay(1000); // wait for a second
}

//pressure sensor

//Pressure sensor code

#include "Wire.h"
#include <Arduino.h>

#define sensor_I2C 0x28 // each I2C object has a unique bus address, the DS1307 is 0x68
#define OUTPUT_MIN 1638.4 // 1638 counts (10% of 2^14 counts or 0x0666)
#define OUTPUT_MAX 14745.6 // 14745 counts (90% of 2^14 counts or 0x3999)
#define PRESSURE_MIN 14.5 // min is 0 for sensors that give absolute values
#define PRESSURE_MAX 100 // 1.6bar (I want results in bar)
float psi = 0; // 14.5 psi is pressure at sea level

void setup()
{
 Wire.begin(); // wake up I2C bus
 delay (500);
 Serial.begin(9600);
}



void loop()
{
 float pressure, temperature;
 //send a request
 Wire.beginTransmission(sensor_I2C); // "Hey, CN75 @ 0x48! Message for you"
 Wire.write(1); // send a bit asking for register one, the data register (as specified by the pdf)
 Wire.endTransmission(); // "Thanks, goodbye..."
 // now get the data from the sensor
 delay (20);

Wire.requestFrom(sensor_I2C, 4);
 while (Wire.available() == 0);
 byte a = Wire.read(); // first received byte stored here ....Example bytes one: 00011001 10000000
 byte b = Wire.read(); // second received byte
 byte c = Wire.read(); // third received byte stored here
 byte d = Wire.read(); // fourth received byte stored here



byte status1 = (a & 0xc0) >> 6; // first 2 bits from first byte
 //Serial.println(status1, BIN);

int bridge_data = ((a & 0x3f) << 8) + b;
 int temperature_data = ((c << 8) + (d & 0xe0)) >> 5;



pressure = 1.0 * (bridge_data - OUTPUT_MIN) * (PRESSURE_MAX - PRESSURE_MIN) / (OUTPUT_MAX - OUTPUT_MIN) + PRESSURE_MIN;
 temperature = (temperature_data * 0.0977) - 50;



Serial.println(pressure);
 Serial.print("PSI ");

Serial.print("temperature (C) ");
 Serial.println(temperature);
 Serial.println("");

delay (500);
}