All posts by jdignan

Story Models

ISSUES/TOPIC/THEME/CONTENT

  • Music (strings/ticking clocks)
  • Mystery
  • Culture
  • Complex transitions
  • Character development
  • Crisis
  • Moral choices
  • Grey morality
  • Stigmas
  • a quest for power
  • past sins
  • a return to old skills
  • adapting
  • observing
  • overcoming fear
  • no point

STRUCTURE/STYLE/TECHNIQUE/EFFECTS

  • Sound design
  • Time
  • Variety of characters
  • Hero/ anti-hero / non-hero
  • Open ended
  • Color (or lack thereof)
  • Characterizations
  • Volume
  • an object of power
  • wild sounds
  • key changes
  • Imagery
  • Show, not tell
  • voice of experience
  • symbolism
  • facial expressions
  • anthromophism

NMD 200 Final Project

This was the project I have been waiting for all semester. I had no idea that I was going to be able to accomplish as much as I have in such a short time. What I did know is that it was possible, and I have found that to be one of the greatest drives towards any of my creations.

When I started this semester, I was extremely ambitious, and had no idea. As I learned more, I became aware of the things that I did not know, and learned that what I wanted to really do, was not yet possible. I stepped down from a drone concept and considered creating a full on electric powered scooter. I eventually considered this to be just as ambitious for the the time and knowledge I had.

I finally decided on the car concept, and really wanted to create something that I would want to keep for a long time. Having worked on the previous project in a team setting, I gained some experience with developing cars, but felt held back in the interest of letting some failure be just as much a lesson for the rest of the group. I found the challenge of overcoming those barriers in the end gratifying.

What I wanted to seek out was a proof of concept of a prototype wireless remote control. While many other connection methodologies were suggested, I chose the route of bluetooth radio frequencies. I understand that the transmittal range was that of 30 feet, but I really couldn’t justify my creation being that far away in the first place. I have had some experience with bluetooth in the past, and knew how much of a <beeeep> it is to setup. I also knew that my plan was ambitious as it was, and began work on the project as soon as the proposal was assigned.

The most important component was control. I could not justify designing the car until I knew how I was going to control it. There is no point, and would have required me to redesign the car as the program and hardware changed.

I developed the circuitry as I developed the code for the Arduino, as well as develop the android program in Processing. I have found that developing the code while developing the hardware has been extremely beneficial. I liken it to playing multiple instruments at the same time, and by weaving the threads of code between the environments, I can make the entire system sing together. I could not prototype this type of setup in 123d circuits. The program just doesn’t have the flexibility I need for the hardware I was developing. Fortunately prior training, and education was extremely helpful.

Once I had the program and circuits completed, I soldered the board together. With the past practice, I was able to apply my lessons to a new board. The stakes were much higher as an Arduino Nano, HC-05 bluetooth module,  and an L293d motor driver were all hostage to my hands. I did destroy a motor driver, but I expected it and it had come with nine other sacrificial brothers and sisters. I replaced it and was able to enhance my soldering skills even further. I’m sure that the next board I put together will be beautiful. It is an art I have found, and it requires some serious planning. I look forward to my next project for this part alone.

My board was all put together, programmed and ready to be installed within whatever rig I wanted. I had some basic components already. A servo, motors, AA battery holder, motherboard. All of these worked well together. This is where my experience with Rhino 3D finally paid off. I measured every component, and modeled them out. I took very careful measurements with calipers and recreated each part. With these measurements I was able to shape a body that would be able to hold the components without having to accept weight for creating a chassis. I was able to create a very simple design that could be laser cut. I chose my securing hardware, and modeled every bolt, washer and nut. I put it together on screen, and pre made holes for every mounting, and every bolt hole. I made sure to think of every little thing, and took extreme care in anticipating issues. In an attempt to avoid failure, I did look more into motors and servos and found that there were much better options in the world then what were already in my hands. I opted to spring money towards a beefy motorized gearbox and a servo that could push and pull anything I wanted.

Between the design of the circuits, programs and the chassis, I had already spent a week and a half focusing on this project. Apart from soldering together the circuit board, I had not manufactured anything. I realized that I still had my 3D printer ready to go from the previous project for the printing I never did for it. The most complex part to manufacture was the swing arms for the steering system. This I felt was the perfect candidate for a 3D print as it was small, and due to its complexity, the 3D printer was the better choice of tool. Having let the print run for a time, it produced my parts exactly as I needed them, with only one small exception. Due to the constraints of the material, the hole I made was not big enough to allow the arm to shift up and down on the suspension system I designed. Oh, sigh. I guess I’ll try suspension another time. I intend on printing a second pair of arms, in case the first one breaks during its presentation.

I wanted to make sure that every aspect of the design was solid, and perfect. I wanted to be able to walk in with my material and confidently place it into the equipment and watch it burn. When I finally got to lay photons on wood, I watched as the material was cut precisely to my every path. My hand was cutting the materials. I made my design, I considered it, and the materials. Once I committed the file to reality, I had already made it. The tools were only there to gestalt my will into this world. How can you not watch what was in your mind become physical and not feel some flicker of hubris.

I finally had the parts that would bring my project together. The bones of my device. I had everything else. As I assembled it, and slipped the first bolt through the first holes, I was greeted with a perfect fit. It was at this moment that I found myself nearly shaking with excitement as I began assembling my device. I made sure not to rush, and took my time to ensure that I was putting it together, using my pre designed model on my computer as reference. All my planning and hard work paid off substantially. That little flicker of hubris just became something of a butane torch in a matter of moments. I liken the process of the assembly as like opening a prefabricated kit and assembling it yourself. Within an hour or two ( I can’t remember how long it took), I had the unit fully together, and ready to be tested for the first time. It had ragged connections and faulted a number of times, but it reacted and responded to the program on my phone. I instantly recognized a number of issues that had to be corrected. I anticipated issues. However, my design worked.

I spent more time working out the bugs, and calibrating the coding to the physical setup. I had to reduce the range of the servo so that it wouldn’t flip the wheels inside out. The control interface was reversed (left was right, right was left, forward was back …ect), and there were some cross signals going on. I had discovered that in bluetooth it was much easier to code my data in byte arrays. Since there are only 255 bytes, I had to reserve some of the byte range to be command codes. This allowed me to expand the functionality of my interface allowing me to add in control of headlights.

I worked out the last of the bug and have ended up with a very solid chassis and control interface. It works as designed. Now it was time for the aesthetics. It is in my view that I had to work in these three stages to completion before I could move on to the next stage. Step 1: what do I need to make this thing go? Step 2: What do I need to make to keep this thing together? Step 3: What do I need to do to make this look pretty?

With vehicles, weight is an issue. It has become my belief that your power source should be the heaviest thing on the vehicle. With this design philosophy, I am hoping to keep weight to a minimum, even with my aesthetics. Initially I was going to do a 3D print, but felt that I would be playing a lot of risk against time and potential failure. While the body design meets the complexity requirement for a 3D printer, its size makes it prohibitive. I instead turned back to the laser cut and apply a skill I taught myself a long time ago.

I used to create 3D models of spaceships using a laser printer and cardstock. Through this process, I learned how folding and cutting paper in certain ways allowed me to make complex shapes. However I had used a program called Pepakura to print premanufactured designs. This would be my first time designing, unfolding and creating patterns for a laser cutter. This is a tool I wish I had back then. The most painful and arduous process of creating the models was the delicate process of cutting the patterns out with a xacto blade, tweezers, and steady hands. By creating a pattern, and letting the laser do it for me, I could cut an insane amount of time off of this process and get a perfect rendering instead.

My first attempt did not work out, but I solved the issue in realizing that there were multiple paths that were overlaid on each other. This threw off the laser printer and made it nearly impossible for me to complete my first attempt. After redrawing the patterns in illustrator, my second time was flawless, and lacked any scaling issues I had the first time round as well.

Once again, I was prepared for the final steps. I knew exactly how I wanted to enhance the aesthetics by using self designed decals, and some random reflective yellow/black striped tape. Prior to applying these things, I spray painted the paper with light layers of primer. Overall, I have achieved the level of aesthetics that I had planned on, and it worked out very well. The paper folded body adds no weight to the entire construction, and easily comes on and off in case I have to mess with the electronics.  

This was probably the most fun I have had in creating anything. It is incredible the amount of power that I know I could leverage to attain anything I want. Knowing it is possible is half the battle. Knowing that you don’t know how to do it is the other two thirds. Wait.. that’s bad math. Anyways, I knew I did not know how to design a car. However, I knew how to create 3D models. I knew I could program an arduino, I knew I could program for android, and I have worked with bluetooth before. There was the whole part of not knowing much about creating self propelled rolling things. This consumed a good chunk of research time, and it resulted in my making changes to the design compared to the proposal I submitted.

What made this project go so well for me, was that I had a great deal of experience using many of the tools applied. I learned how to use 3D modeling, and graphical design softwares on my own. I developed a level of comfort with them that does not hinder my creative imagination. I used to think of my talents and skills as individual things. Now as I venture even further into New Media, I discover that they can all be brought to the table at once. I have demonstrated to myself, and to others, that I am capable of handling every aspect of a project well. From initial design and prototyping, to the development and troubleshooting. I can leverage creative skills to hack answers, and use my professional training to keep pushing on.

I never thought I would find myself papercrafting again. It was a fun skill to develop, but had no practical use for it besides making spaceships. Suddenly I found the perfect use for those skills, and it was from that experience that I knew how to create my own design and patterns. The laser cutter added the next level. What would have taken me the better part of a day, I was able to accomplish in an hour and a half.

I can’t live without this technology ever again. I am absolutely impassioned by what I have accomplished. I look on my creation and feel joy, and smugness. What used to only exist in my head, and in my computer was made real. I was happy to do this project, and find something that brought everything that I have learned into play. I used both laser cutters, my own 3D printer, vinyl cutter, integrated circuits, and microcontrollers. Added to this my experience, I was able to plan out my every step and made sure that I took into account every little detail. This preparation and planning made all the difference in this project. By knowing exactly what I wanted and needed, I could prepare, and be ready. As soon as that phase’s manufacturing was completed, assembly was rapid, and troubleshooting could begin immediately.

There is nothing like a plan that comes out as planned. Not many do. This was the rare case in which everything came out exactly as I planned, and ahead of schedule. I can’t tell you how disgustingly pleased I am.

Color Changing Characters

This code is a simple extensions of a previous assignment. When the user clicks the mouse, the characters or elements must change color. I took my previous bird sketch and implemented this. Overtime the mouse is clicked, the birds change color to random red blue green values.

 


function setup() 
{
 createCanvas(1000,1000); 
 bird0 = new Bird();
 bird1 = new Bird();
 bird2 = new Bird();
 bird3 = new Bird();
}

function draw() 
{
 noStroke();
 background(200,200,200);
 bird0.display();
 bird1.display();
 bird2.display();
 bird3.display();
 changec = false;
 
 
}

function Bird()
{
 this.mycol = color(random(0,255), random(0,255), random(0,255)); //Color of the bird
 this.x = random(0, width); //X and Y location of Bird
 this.y = random(0, height); 
 this.speedx = random(3); //Speed for X and Y planes
 this.speedy = random(3);
 this.direction = 1; //Defines direction for the bird
 this.size = random(10,80); //How big the bird will be in pixels (scaled so may not be accurate measurement)
 this.wingstate = 0; //Indicates if the wing is going up or down.
 this.wingmax = size; //Indicates the maximum distance the wing tip should be from the body
 this.down = true; // boolean value to indicate if the wing is currently going up or down.
 
 this.display = function()
 {
 fill(this.mycol);
 
 ///////////Sets direction of bird relative to mouse location
 if(mouseX > this.x)
 this.x = this.x+ this.speedx;
 else
 this.x = this.x - this.speedx;
 
 if(mouseY > this.y)
 this.y = this.y + this.speedy;
 else
 this.y = this.y - this.speedy;
 
 
 ///////////Draws the Birds

 ellipse(this.x, this.y, this.size*2, this.size*0.5);
 
 triangle(this.x+this.size/2*this.direction, this.y+this.size/6, this.x+(this.size+(this.size/3))*this.direction,this.y + this.size/4, this.x+this.size/1.5*this.direction, this.y-this.size/4.8);
 triangle(this.x, this.y+this.size/6, this.x+(this.size+(this.size/2))*-this.direction, this.y + this.size/2, this.x+this.size/2*-this.direction, this.y-this.size/4.5);
 
 /////////// Adjust wing position over time
 if(this.down)
 this.wingstate = this.wingstate + 2;
 else
 this.wingstate = this.wingstate-2;
 
 if(this.wingstate > this.size)
 this.down = false;
 if(this.wingstate < this.size *-1)
 this.down = true;
 
 if(this.x> mouseX)
 this.direction = -1;
 if(this.x < mouseX)
 this.direction = 1;
 
 triangle(this.x - (this.size/2), this.y, this.x+(this.size/2), this.y, this.x-(this.direction*50), this.y+this.wingstate);
 }
 
 /////////// When called, the bird object will change the color to something random for RGB values
 this.changecolor = function()
 {
 this.mycol = color(random(0,255), random(0,255), random(0,255));
 }
}

function mouseReleased()
{
 bird0.changecolor();
 bird1.changecolor();
 bird2.changecolor();
 bird3.changecolor();
}

Virtual Communities

Is the inworld experience any different from real life?

Full Definition of community

plural: communities

  • 1:  a unified body of individuals: as
    • a :  state, commonwealth
    • b :  the people with common interests living in a particular area; broadly :  the area itself<the problems of a large community>
    • c :  an interacting population of various kinds of individuals (as species) in a common location
    • d :  a group of people with a common characteristic or interest living together within a larger society <a community of retired persons>
    • e :  a group linked by a common policy
    • f :  a body of persons or nations having a common history or common social, economic, and political interests <the international community>
    • g :  a body of persons of common and especially professional interests scattered through a larger society <the academic community>
  • 2:  society at large
  • 3
    • a :  joint ownership or participation <community of goods>
    • b :  common character :  likeness <community of interests>
    • c :  social activity :  fellowship
    • d :  a social state or condition

How does one define a community? If one takes the above Merriam-Webster definition, you can find all sorts of examples that exist both in the human world and in the animal kingdom. Communities require some level of interconnectivity. I really would rather focus on human interactivity though. So, this narrows our view, but also brings into play a new question. Which era of definition do you want to focus on? Prior to the strong interconnectedness that is the internet, people relied upon their local peers.

Communities in these instances involved neighborhoods, or clusters of farms that could call on each other. Communities would stretch across countrysides and include small villages. Sometimes these communities traveled like in the case of tribal societies in the middle east and mongolia, or the american midwest.

These communities were essential to life and existence within the world. There was strength in numbers as our dog compatriots can attest to. Every member of the community served a role. The hunters, the gathers, the caregiver’s, tool makers. Each person contributed to the overall strength and vitality of that community.

If we return to the villages, or towns concept, the roles become more varied, and those people who do them are in greater number. Civilization relies on the sense of community in order to accomplish greater things. In modern times, we even talk of international communities interacting, giving, and receiving ideas and materials.

Our definition of these communities has changed significantly with the introduction of the internet, and that difference can be seen across the generations. Just this thanksgiving, my grandmother in-law was preaching about how children don’t play kick the can, or half-baseball anymore, and that everyone was stuck to their phones. She felt very angry and was obviously disgusted by it.

Take our modern parents, and you discover a whole new aspect. The phone is part of their life style. What interest I have is seeing the generation that grows up now, living with the eternally digitized videos and photos of them growing up as a steady stream of media from their parent’s facebook pages. New ways of interactivity  have changed our view of community and have shifted the idea of where communities are located or if they even have a physicality.

For a time, I spent a great deal of time interacting on the internet. Part of that time involved a program called Second Life. I’ve moderated several forums, co-managed a hosting site, and was a member of every single instant messaging medium available. I had friends from Poland to Australia. I developed networks in the United Kingdom, and Canada.

These experiences are foundational to my view of what communities are. They are groupings of people focused on a particular topic. I would view that any pre-internet society would have a focus on maintaining their city, or surviving the tundra. Since our technology has advanced enough that we no longer have to focus on survival, that our ability to think and imagine became more possible.

Ideas can come from any mind and any place. It is when those ideas are snuffed by the inability to be actualized that we lose that moment of innovation or exchange. Those ideas may lack the resources or materials to become more. The modern communities allow people who have very specific focuses to find each other out, and collaborate. These collaborations can become communities themselves. Each person contributes something of themselves towards the end goal. Even if that goal is to simply share pictures of kittens. There are people who supply pictures of kittens, and then there are the people who view those pictures. This is a community between people.

For a less abstract concept I turn to Second Life. A 3D virtual environment that simulates the real world. People are represented by self designed avatars, and they can interact with each other socially and economically. Second Life is also a builder’s platform in that people can use basic primitives to construct models.The user can then texture and program those models to carry out specific tasks and processes.

These objects can range from simple buttons to cars and houses. Just about everything in the world is created by the user base. In conjunction with this, Second life has an entire economy that has exchange rates comparable to currency with a fee’d ability to convert from Linden dollars to national currency. Where money can be made, people will be found.

Suddenly you have people creating virtual homes, and virtual neighborhoods that the avatars can interact in. There were venues where people could go to interact as well, such as dance clubs, theaters, and role play environments. This created a community that was not locked in by any form of physicality. A person could travel from portion of the world to another with a simple teleport. A person could go anywhere for any reason.

While I do not consider that this is in any way different than that of an online forum. The medium is the only part that changes, and allows for a greater flow of ideas and goods. However, the basic operation of a chat room as opposed to a virtually represented room are no different. What the virtual room does is bridge the two concepts into one associative concept.

One of the above definitions of communities includes the concept that communities are created by a common policy. If you were to look at any online forum, or chat room there are rules that the members must prescribe to. These rules may dictate what is topical in discussions, or how many pictures persons may be able to post. Another forum that I encountered briefly had a policy in which a third of it was made of grammar rule enforcement. Infractions involved warnings, and if grammar was bad enough, users would be banned.

Even Second Life had its rules. Despite the freedom that many users felt and enjoyed within that medium, there were still rules. Some of these rules were not specifically created by Linden Labs, and were created by the communities that exist within the medium. Many of the rules were created by the communities. Many places have boards at their teleport location that showcase that area’s rules and warnings.

Communities grow up around those policies, and those communities will create them simply as the natural order when people begin to gather. The more people that become involved, the more involved the policies become. It is a standard and requirement of any culture, that rules and policies must be created.

The term communities has become something of an outdated if not scientific term used to describe society. Networks has become the term to describe any body of persons associated with each other. I can imagine that the term ‘network’ will eventually eliminate community as a common word. We define our commonality based on interests over location, and are allowed to supply our focus towards that. Networks help to bring genesis to communities. It also allows those communities to find interaction with each other creating larger communities.

So, is there really a difference? I believe that non exists between the physical or virtual communities. There exists between each of them an interchange of ideas and things. People are contributing to a focus and interact in a manner to allow all persons to be able to contribute to that society.  However, it is easy to recognize that the virtual communities are easier to use when only intellectual information is being exchanged. Material transfers are much slower within virtual communities as physical objects must still travel through real space.

Physical communities contribute a much easier transfer of materials, but the materials available are limited to the locality. Connecting with other communities becomes necessary. Physical communities are dependent on each other as much as the people within rely on each other. This reliance forces cooperation and interdependence among all who are participant.

This is a starker contrast with the virtual communities as topics are insular and very focused, and rarely reaches beyond the confines of the medium that community exists within. Infact, if a medium is discontinued, then that community is in essence is destroyed. Virtual communities are dependent on the services that mediate the communications between individuals. This is in direct opposition in that if the medium (homes or cities) are destroyed, the community can still exist.

We can see this latter part in war torn areas of the world such as Aleppo and Syria. Despite heavy conflicts occurring in the areas, communities still interact. School is still being attended and vendors still sell what they can. You can also see it in communities such as the Jewish people, whom have been displaced and persecuted, but the sense of community is enduring.

In conclusion, I can not view many differences between the two forms of communities. I can state limitations that are imposed by the medium itself, but the essential form and function of those communities are essentially the same. The differences presented can be expressed in the form of an algorithm. The greater the physical presence of a community, the more likely physical materials are part of the exchange. The greater the virtual presence of a community, the more likely ideas are part of the exchange. Communities that reside within the Second Life community is still considered virtual, but makes up in virtual goods that give a semi tangible representation of materials. It does still however fall into the pitfall, that if Linden Labs were to go out of business, then all materials within that community would also disappear.

The internet is still finding its footing, and uses. As persons discover how to use the internet to strengthen the communities, old ideas fade as new ones are brought in. As such, the mediums of virtual communities will continue to change until a universally accepted manner is adopted. Until such a time, virtual communities have a greater risk of loss then physical ones, and it is up to the members of those communities to reunite in a new one, should they so choose.

Bibliography

Community. Merriam-Webster, n.d. Web. 15 Oct. 2016.

McLuhan, Marshall, and Lewis H. Lapham. Understanding Media: The Extensions of Man. N.p.: n.p., n.d. Print.

“Second Life Official Site – Virtual Worlds, Avatars, Free 3D Chat.” Second Life Official Site – Virtual Worlds, Avatars, Free 3D Chat. N.p., n.d. Web. 26 Sept. 2016.

Standage, Tom, and Vinton G. Cerf. The Victorian Internet: The Remarkable Story of the Telegraph and the Nineteenth Century’s On-line Pioneers. N.p.: n.p., n.d. Print.

Eggers, David  The Circle. Print

Final Project – Progress Snapshot

As soon as this was assigned, I began work on designing and developing my project. I have decided that for my capstone, I will be developing a drone. As steps towards that goal, this project hosts a number of skills required to master that final task.

NMD 200 Final Proposal (PDF)

The above link is my proposal for this project. However, my current direction has deviated to my proposed implementations. One of my greatest concerns was the mechanics and has been under serious consideration and research since inception. Here are a few sketches I did during this phase of planning:

 

Having worked with Bluetooth technology in the past, I know how much of a pain it would be to get that working. My first order of business was to develop the circuitry and programs by which I could remotely control the car. After all, why make a remote controlled car if the remote doesn’t work? I had to promise control, or the entire project would fail. Below are images of the prototyping and development phase of this portion of the project.

screen-shot-2016-11-29-at-10-09-29-pm

Having finalized the soldering and programing for both the Arduino and my phone, I have moved on to the design and manufacturing of the car itself. Below is the current design thus far, but modifications are being done rapidly. It is also my intention that for the final phase of this project, I will be 3D printing a cover to enhance the aesthetics.

Project 3 – Organisms

In this NMD 200 project, we were placed into teams and given the instructions to create something that emulates an organism. The definition of an organism is something that reacts to the environment in some manner.

In my group of three others, we were going to create a robot that would boldly go forward, until it met either a never ending expanse (drop off) or meets an obstacle. At which point it would back up, and turn. We met with some challenges along the way, but in the end, we created a product that was capable of motion, and reaction.

My contributions for this project included: 3d Modeling, 3D printing, coding, laser cutting, and troubleshooting.

The final product can be seen here as a 3D scan. From the previous link, you can rotate and view the contraption from all sides. Simply click the 3D view below the image to do this. I apologize for the poor quality of the scan. This link will show you a 3D scan of what it looks like below the top

The following stream of images captures portions of the project.

 

The beginning sketches of the design.

Project 3 Proposal (pdf)

I created a holder for our ultrasonic sensor. 3D molded in Rhino3D. Printed on M3D printer. Assembled using assorted nuts/bolts/washers that I keep for just such things. Unfortunately, the dimensions I used from an online spec sheet was for a different manufacture, so the holes were of the wrong size for mounting. The holder did well despite. Below is a video of the testing of the ultrasonic sensor. When the sensor senses something within its range, the Arduino board sets a white light to flash. You can also see the feedback of the sensor, allowing us to see the range it has measured.

The below images show the full assembly coming together.

Circuit Diagram (Autodesk website)

When the unit was finally fully assembled, we could test the drive system’s reaction to sensory input. This time, the code changes the speed and direction of the motors based on the distances detected by the ultrasonic sensor. The closer an object got, the slower the machine became. Once the object was below a certain threshold, the unit will reverse and begin the turning sequence.

 

We met with a larger issue upon testing. The unit was too heavy, and the motors were unable to overcome inertia. We started out by buying larger motors, but found that even they were barely able to propel the vehicle. That was when we started to use gears and developed our own gearing system to amplify the force of the motor. This worked very well, and proved the power of gears.

 

The remainder of this post is a copy of the code that went into the Arduino. The coding is very simple, and I consider it to be open source. If you are not intersted in coding mumbo jumbo, then you can pass on this part.

//NMD 200 Univeristy of Maine
//Group Memembers: Jason Dignan, Jacob Houghman, Andrea Jean, Sam Woodward
//Square Dancin robotic hot rod
//Code Author: Jason Dignan



////////////////////////////////////////////////////////////////////////////////////////// VARIABLES //////////////////////////////
//////////////////////////////PIN DESIGNATIONS
int backLights = 3; //backuplights
int ledArray[] = {0, 1, 2}; //LED outputs for emoting out
int mLeft[] = {4,5}; //Motor Activation. Index 0 is forward, Index 1 is reverse
int mRight[] = {9,8};
int msLeft = 6; //Motor speed. Analog write controls speed of the motor
int msRight = 10;
int sRangeTrig = 13; //Ultrasonic Range Sensor Trigger pin
int sRangeEcho = 12; //Ultrasonic Range Sensor Echo pin
int sLaserPower = 7;
int sLaserOn = 11;
int Speaker = A0;

//////////////////////////////VARIABLES
int currtime = 0; //Stores the current time from millis()
int inches = 0; //Stores distances of things found via sonar
int ledLast =0;
int ledInterval = 200;
int ledCurrent = 0;


//////////////////////////////BOOLEAN STATES

bool Backup = false; //Indicates if the thing is backing up
bool Crazy = false; //Indicates if the thing is going crazy
bool Dance = false; //Indicates if the things is dancing
bool Debug = false; //If true, will activate serial and spit out data


////////////////////////////////////////////////////////////////////////////////////////// SETUP //////////////////////////////
void setup() 
{
 if(Debug)
 Serial.begin(9600); 
 
 for(int i = 0; i < 3; i++) //Set LED pins to output
 {
 pinMode(ledArray[i], OUTPUT);
 if(i<2)
 {
 pinMode(mLeft[i], OUTPUT);
 pinMode(mRight[i], OUTPUT);
 }
 }
 pinMode(msLeft, OUTPUT);
 pinMode(msRight, OUTPUT);
 pinMode(sLaserPower, OUTPUT);
 pinMode(sLaserOn, OUTPUT);
 pinMode(backLights, OUTPUT);
 pinMode(sRangeTrig, OUTPUT);
 pinMode(sRangeEcho, INPUT); //Set the range sensor to input (this is changed later) ((My Range sensor is different then the one used here, will edit final code to reflect this))
 pinMode(Speaker, OUTPUT);
}

////////////////////////////////////////////////////////////////////////////////////////// Loop //////////////////////////////
void loop() 
{
 //lazer(true);
 currtime = currtime + 1; //Finds current Time
 inches = ranger(); //Finds current distance in inches
 motorvator(); //Engages motors.
 if(Backup)
 {
 backupFunc();
 crazyFunc();
 }
 else
 goingForward();

 
 if(Debug)
 {
 Serial.print("In. ");
 Serial.println(inches);
 Serial.print("Ti. ");
 Serial.println(currtime);

 } 
}

////////////////////////////////////////////////////////////////////////////////////////// Motor Control //////////////////////////////
//The motorvator is general purpose transmission. It scales the motor speeds and directions based on distances found
//by the range sensor.
void motorvator()
{
 float motorspeed = map(inches, 2, 50, -100, 255); //Scales the motor's speed with the distance system
 if(Debug) //Debugging output
 {
 Serial.print("MoSp ");
 Serial.println(motorspeed);
 }
 if(motorspeed < 0) //If the motor's speed is less then zero, then it switches which pins are active
 { // Using analog write, we can engage the motors to a certain speed
 Backup= true; //If the unit is backing up, then we set this to true. Will influence other subroutines. 
 analogWrite(msLeft, abs(motorspeed)); //Using abs() as the motor speed can't be negative
 analogWrite(msRight, abs(motorspeed)/2);
 digitalWrite(mLeft[1], HIGH); //This part is what activates and deactivates the enable pins on the motor control chip
 digitalWrite(mRight[1], HIGH);
 digitalWrite(mLeft[0], LOW);
 digitalWrite(mRight[0], LOW);
 }
 else //Similar as to above, but in this case it is if the motor's speed is going forward. 
 {
 Backup= false;
 analogWrite(msLeft, motorspeed);
 analogWrite(msRight, motorspeed);
 digitalWrite(mLeft[0], HIGH);
 digitalWrite(mRight[0], HIGH);
 digitalWrite(mLeft[1], LOW);
 digitalWrite(mRight[1], LOW);
 
 }
}


////////////////////////////////////////////////////////////////////////////////////////// Range Finder Function//////////////////////////////
//The ranger() is used to return, in inches, the distances of objects it detects. 
int ranger()
{
 
 digitalWrite(sRangeTrig, LOW);
 delayMicroseconds(2);
 digitalWrite(sRangeTrig, HIGH);
 delayMicroseconds(10);
 digitalWrite(sRangeTrig, LOW);
 pinMode(sRangeEcho, INPUT);
 return pulseIn(sRangeEcho, HIGH) /74/2; //Converts range finder data to inches
}
 

////////////////////////////////////////////////////////////////////////////////////////// Backup Function //////////////////////////////
void backupFunc()
{
 if(currtime %20 == 0)
 {
 digitalWrite(backLights, HIGH);
 if(currtime %2 == 0)
 tone(Speaker, 700, 4);
 }
 
 
 else
 {
 digitalWrite(backLights, LOW);
 //noTone(Speaker);
 }

}

////////////////////////////////////////////////////////////////////////////////////////// FORWARD Function //////////////////////////////
void goingForward()
{
 if((currtime - ledLast) > ledInterval)
 {
 ledLast = currtime;
 digitalWrite(ledArray[ledCurrent], HIGH);
 for(int i = 0; i < 3; i++)
 {
 if(i != ledCurrent)
 digitalWrite(ledArray[i], LOW);
 }
 if(ledCurrent > 3)
 ledCurrent = 0;
 else
 ledCurrent++;
 }
 
}

////////////////////////////////////////////////////////////////////////////////////////// Crazy Function //////////////////////////////
void crazyFunc()
{

 if(currtime % 1 == 0)
 {
 digitalWrite(ledArray[0], HIGH);
 digitalWrite(ledArray[1], LOW);
 }

 if(currtime % 2 == 0)
 {
 digitalWrite(ledArray[1], HIGH);
 digitalWrite(ledArray[2], LOW);
 }
 if(currtime % 3 == 0)
 {

 digitalWrite(ledArray[0], LOW);
 digitalWrite(ledArray[2], HIGH);
 }
 
}

////////////////////////////////////////////////////////////////////////////////////////// LazerControl //////////////////////////////
void lazer( bool in)
{
 if(in)
 {
 digitalWrite(sLaserOn, HIGH);
 digitalWrite(sLaserPower, HIGH);
 }
 else
 {
 digitalWrite(sLaserOn, LOW);
 digitalWrite(sLaserPower, LOW);
 }
}

Mouse Following Characters

New Media 100 lab assignment: Make a character that follows the mouse. I created a flock of birds for this assignment

function setup() 
{
 createCanvas(1000,1000); 
 bird0 = new Bird();
 bird1 = new Bird();
 bird2 = new Bird();
 bird3 = new Bird();
}

function draw() 
{
 background(200,200,200);
 bird0.display();
 bird1.display();
 bird2.display();
 bird3.display();
 
 
}

function Bird()
{
 this.x = random(0, width);
 this.y = random(0, height);
 this.speedx = random(3);
 this.speedy = random(3);
 this.direction = 1;
 this.size = random(10,80);
 this.wingstate = 0;
 this.wingmax = size;
 this.down = true;
 
 this.display = function()
 {
 if(mouseX > this.x)
 this.x = this.x+ this.speedx;
 else
 this.x = this.x - this.speedx;
 
 if(mouseY > this.y)
 this.y = this.y + this.speedy;
 else
 this.y = this.y - this.speedy;
 
 fill(0);
 ellipse(this.x, this.y, this.size*2, this.size*0.5);
 
 triangle(this.x+this.size/2*this.direction, this.y+this.size/6, this.x+(this.size+(this.size/3))*this.direction,this.y + this.size/4, this.x+this.size/1.5*this.direction, this.y-this.size/4.8);
 triangle(this.x, this.y+this.size/6, this.x+(this.size+(this.size/2))*-this.direction, this.y + this.size/2, this.x+this.size/2*-this.direction, this.y-this.size/4.5);
 
 if(this.down)
 this.wingstate = this.wingstate + 2;
 else
 this.wingstate = this.wingstate-2;
 
 if(this.wingstate > this.size)
 this.down = false;
 if(this.wingstate < this.size *-1)
 this.down = true;
 
 if(this.x> mouseX)
 this.direction = -1;
 if(this.x < mouseX)
 this.direction = 1;
 
 triangle(this.x - (this.size/2), this.y, this.x+(this.size/2), this.y, this.x-(this.direction*50), this.y+this.wingstate);
 }
}

Make an image

//
//Make a picture with shapes at least 25.
//


var mousex;
var mousey;
var pmousex;
var pmousey;

var flipper = 1;
var flexThresh = 50;
var flex = -flexThresh;

function setup() 
{
 //
 createCanvas(1000,1000);

 
}

function draw() 
{
 background(50);
 fill(100,0,0, 5);
 rect(0,0, width, height);
 var cx = width/2;
 var cy = height/2;
 strokeWeight(1);
 stroke(0,100,255);
 noFill();
 
 if(flex > flexThresh*2 || flex < -flexThresh)
 flipper = flipper*-1;
 
 flex = flex + 1*flipper;




 for(var i = 0-200; i <height+200; i)
 {
 bezier(0, i, cx/2, i + flex, cx+cx/2, i+flex, width, i);
 i = i+10;
 }
 
 for(var i = 0-200; i < width+200; i)
 {
 bezier(i, 0, i+flex, cy/2, i + flex, cy+cy/2, i, height);
 i = i +10;
 }
 
 
 for(var i = 100; i < height; i)
 {
 line(cx-i, cy+i+flex, cx+i, cy+i-flex);
 line(cx-i, cy+i-flex, cx+i, cy+i+flex);
 i = i + 10;
 }
 
 for(var i = 0; i < cy - 100; i)
 {
 line(0+i, i+flex, width-i, i-flex);
 line(0+i, i-flex, width-i, i+flex);
 i = i + 10;
 }

 for(var i = 0; i < cx-100; i)
 {
 line(i, height-i+flex, i, i+flex);
 line(i, height-i-flex, i, i-flex);
 i = i + 10;
 }
 
 for(var i = 0; i < cx; i)
 {
 line(i+cx+100, cy-i-flex-100, i+cx+100, cy+i-flex+100);
 line(i+cx+100, cy-i+flex+100, i+cx+100, cy+i+flex-100);
 i = i+ 10;
 }
 

 for(var i = cy-50; i < cy + 50;i)
 {
 line(0, i, width, i);
 i = i+5;
 }
 
 for(var i = -200; i <width + 200; i)
 {
 line(i, cy-50-flex, i+200, cy+50+flex);
 i = i +5;
 }
}

Is it Hubris?

The more I learn, the more I thirst for more. Every new thing is exciting, and another wonder yet to be aware of. New Media is a key that has unlocked the potential of all the things I have done in the past. Skills that I have taught myself across spectrums. I taught myself how to use digital image programs. I taught myself how to create 3d models. I taught myself how to program. I learned to create art. I taught myself how to do some very basic electronics.

I had never considered that all these self taught skills would be the basis upon which an entire profession is founded. I have always wanted to be on the forefront of technological progression. I wanted to be part of that revolution. I didn’t think I had the skills or the know how. I literally stumbled into this program as I discovered that computer science was not for me. I had no idea what I stumbled in to, or what to expect. Then I discovered something fantastic and exciting. No one else has the skills either! We are still learning, and developing, and we are all stumbling around trying to figure it out. The fact that we are willing to share in that exploration and push those boundaries together means something to me.

For me, this has been a dream come true. The option to be able to let my imagination loose into the world is liberating. There is so much that has been pent up within me. Dreams of being able to create something tangible. Not only that, but something functional. Something that runs, and operates to my desires, and needs. I can bring meaning from nothing. My mind is given the power to express into reality what has always been unreachable.

With every tool I learn, I discover a new way to bend this world to my will. There is some discovery of the god like powers being given to me. I can twist whatever I want into something else. Who is to say that I can’t do a thing. My imagination is vast, and deep. I have spent years within universes across time and space. There are lives lived and lost. There are nations, and species. Histories that never were, and those that have yet to come. I dream all the possibilities, and explore their depths. My passion is in exploration. The power of What If is beyond compare. The roads you can walk, and the oceans you can swim are endless.

There is nothing more compelling then the realization that I have a power the few people have. I have the technology to produce more technology. I have the ability to design it, program it, build it. It doesn’t take much to have an idea. You may feel good that you have solved the problem. Yet when it becomes physical, there is no problem. Not only did you solve it, but you applied it. You built it with your own hands.

God forbid that I can call what I create art. There is no difference in the medium. Whether I carved it out of pixels or marble, it should not matter. Art is the expression of the mind. The medium is the choice of the artist. However, the artist that knows more then just one medium becomes a master.

 

Authority

Authority is represented by those who hold it. It is either taken or given. Most of the time it is both. I have held a position of authority of a good portion of my working career. It comes with its rewards and its heartaches. There are a wide ranges of behaviors associated with my interactions with those people. The first two items that I want to touch on are founded entirely on my experiences on this subject.  The next two items are examinations on two different sorts of perspectives. The first is the perspective of the authority. In this I can only express from my own view point. The second is the perspective of the authority as an individual. There is some form of context to be had when viewing different forms of authority. The scale of that authority defines how we react to that authority.

I do this in order to better frame the research and establish a mindful approach when considering the questions. It is fair to try to understand how I react to authority, as well as evaluate a differing opinion. In this I want to be able to express how the two influence the other through new media. It is with this constant interconnectedness that allows that flow of information between authority and subordinate. It is impossible to interact with one and not be influenced by one as well.

Perspective as the authority

When interacting with people whom I have authority over, I have to maintain a professional decorum. I have to be able to talk to those under me, and tell them what needs to be done in order to be able to achieve tasks that are important to the goals of the company or to the day. It is my job to define the priorities and reallocate resources to the appropriate tasks. This requires me to communicate to persons within my building, and at the corporate office. I may have to field questions and give responses to other entities in other stores. This requires me to communicate via e-mail, telephone, and mobile messaging.

Understanding how I am to communicate with people depends entirely on the context of the message, which in turn defines the medium. Important things usually involve a phone call and situations that do not require immediate response is via text message or e-mail.

When communicating via these many methods I have to be aware of what I say or do. My statements can be misinterpreted or confused. A simple friendly communication from me can be considered furious or anxious to a person who may be in that frame of mind. I have to be mindful of this distinction. This mindfulness would lead me to add friendly cues to my messages, or express appreciation. It often requires me to stop and reread what I have written to ensure that questions of my competence are not called into question when I misspell or mispunctuated.

When I craft my messages I consider it an art of interaction. It is a difficult medium to properly express the intended emotion or desire. Artfully posing questions, and making it sound beneficial to the receiver is very important to me.

That is perhaps one of the hardest barriers that as an authority figure, I have to be able to drill into. People are very self absorbed and will be strongly focused on their own lives and needs. I have to communicate to the self interest of that person to convince them to help me in a task.  The need to place yourself in their shoes is evident in that. Like in any interaction that I would have, I need to empathetic to my team’s needs so they can help facilitate my request.

In this environment anonymous activities are hard to maintain. Everything is tracked, and recorded. It would be hard to send a derogatory email to all the addresses without being caught. There are time stamps, and return addresses that can be looked at. Compounded by the availability of camera systems that can be remotely accessed, it would take very little work to find the person who may have sent it. Messages sents from and to phones had numbers attached to them, as well as individual logs that can be used in prosecutions. Facebook has only become relevant when small social disputes happen and are brought into the store by the participants. I have a very strict personal rule that I will never friend request a work person. I may even on some levels refuse friend requests, especially if they are subordinate to me. This is to protect myself from any issues that may arise, and prevents them from being invasive into my personal life.

Perspective as the individual

I think it is important to know what my own personal reactions are to authority before I can fully understand how it might affect another person. Step one of understanding another person is to metaphorically walk in their shoes. This is an essential portion of this essay in that I will dive into the different types of authorities that I see, and examine how I personally evaluate them.  For each I will also examine the impacts that social media has on that authority figure. These are only three major ones out of a myriad of options available.

Government

Authority in the form of government is a very easy theme that I can deal with. I was born in the Air Force. Both of my parents were enlisted within its ranks. As one can imagine, I grew up with a military viewpoint. I am proud of the legacy they left to me. I respect my military, and I respect my government. I may not agree with them, but I am always at will to support them. While I may be slowly slipping out of the range of the draft age, I would still answer a call if my military would call on me. This is assuming that I hadn’t already seen the need and enlisted of my own volition. Therefore, I am more willing to accept government authority.

It takes a person who deliberately ignores the world around them to see only one way, and I have to recognize that not all persons to have similar viewpoints. If anything this election cycle has proven that point manyfold. Some feel that the government is too restrictive, or too loose. That it is fractured, and polarized. This is reflective of the people that have elected to our government the voices. Perhaps it is the problem that people can’t stand to look in the mirror and see themselves for who and what they are. Rather than see the government as We The People, we see it as Them The Few.

I think in this, the technology is serving government very well by creating that reflection. The people are being represented. The problem is that there are so many divergent viewpoints that there is discourse in the government’s actions. Those who have access to a laptop, tablet, or smartphone has access to all government materials and communications. They communicate to it through facebook, emails, website blogs. This constant flow of information is all additive and collects to show where we as a nation view issues.

Election cycles have been growing more dependent on this information as they tailor their arguments to the people’s needs and wants. Each candidate speaks to a specific need.  The people are having their influence heard collectively. How and where those needs can be addressed is the biggest issue at hand. Perhaps social media will continue to shape politics, and even push it in directions it could never be forced before. In this, the people are still shaping the government, and the government shapes the people. Both are evolving together as the means of communications allow that evolution to take place.

Religion

Religion as an authority figure holds absolutely no water to me. If we speak in strict religious textual terms, I’m not interested. The faiths are all corrupted by human betrayal. Even if the very voice of god as spoken, or etched words of decree, those same words have been handled by humans over many thousands of years. Each person twisting it one way and the next twisting it another. A simple change in letters, or words. Punctuation is altered. Translations are made as languages change. How can the faith not change with the times and the people’s?  

What I can acknowledge is the value of some of their teachings. Rather than accept a single faith and only its values, I try to find value  of all faiths and accept the universal values they all preach? Why not understand it in a way that connects with the person, and all persons. There is a unifying force behind the universal desires for love, acceptance, and hope. I will never a fault in a person who accepts faith and receives these things. I can fault those who take a life though, as this even is universal in all faiths. Humans have twisted these scriptures to support their desires and beliefs. It is the universal values the religion teaches that accepts my respect. The more the religion stays true to those universal values, the more respect I can have for it.

This is made easier through the use of social media. It has allowed me to connect in a different way to the many voices that speak the words of faith. It lets me see how they are toned, and how expressive they are. In this we can communicate to one another our feelings of belief, and what can make those feelings stronger. However it allows anonymous voices heard that would never have been. A shift of authority is taking place from the conventional clergy to the clergy of the internet. A perfect soapbox to stand on, evangelicals can press their faith with little restraint. Reverence may still be given to those who hold office within a religion’s hierarchy, but the true power is to the people. It then becomes the job of the figurehead to identify the people’s voices and speak on them as determined by their interpretation.

Employer

Work authority is treated much in the same way as I do that of government. The employer as a company I have to hold respect to. The entity pays for my life, and all the things that I enjoy doing, or need. If I don’t respect the entity that I work for, then why work there in the first place? Being paid for something you don’t even agree with is an extremely upsetting idea to me.  Individual who hold authority over me can sometimes be a frustration, and have varying levels of respect from me.

Most communications are conducted on public channels and are publicly available where there is a terminal available. There is little ability to restrict access to this information, and it is very difficult to hide actions. As such, social media is not the primary source of communications between authority and subordinate. Mobile communications are most common, with text being the predominate form. This leads to miscommunications. The biggest component to this matter is that there are repercussions involved in miscommunications. The wrong word choice can spell disaster to a career at an important point. People are forced to consider their words before pushing the send button.

Conclusion

One cannot interact with the other without being influenced. It doesn’t matter how tyrannical or insignificant the authority is, there is some swaying of opinion and action. Observe the events of the Colombian civil war’s end. The leaders forged a peace agreement bringing to a close decades of conflict. They were affected by the people they led. They discovered the need to  end the war and find peace. Social media brings authority closer to the people, and it brings the people closer to authority. This closeness always will have some form of bleed through. The mark of the people are left on the authority, and vice versa. Do demand an interaction free from influence, would be to demand an impossibility.

Bibliography

Davis, Richard, and Diana M. Owen. New Media and American Politics, Oxford University Press, New York, 1998.

Religion, Media, and the Public Sphere. Bloomington, US: Indiana University Press, 2005. ProQuest ebrary. Web. 6 November 2016.

By. “Colombia and FARC Rebels Sign Historic Peace Agreement.” Colombia and FARC Rebels Sign Historic Peace Agreement. N.p., n.d. Web. 06 Nov. 2016.

“The Arab Spring: A Year Of Revolution.” NPR. NPR, n.d. Web. 06 Nov. 2016.