Robot Art Show

Our Project

Lindsey Oppegard and I have worked together for the past 2 and a half months, learning about static electricity, circuits, breadboards, motors, and electromagnets in order to produce our own working robot. We created a miniature car, with turn signals and traffic lights attached. This creation used code that we edited and added to from practice experiments in class, to create a car. Our car can move left, right, forward, and back, and it uses specific lights to signal the direction it moves. Here is a video of our working project:

robot art show vid

To control the car, you type in a direction and distance on the serial monitor and the robot follows. Here are the directions matched with the LEDs that correspond with them:

FORWARD: green LED
BACKWARD: yellow LED with both blue LEDS blinking 3 times
RIGHT: green LED and right blue LED
LEFT: green LED and left blue LED

STOP: red LED

Evidence of Work

The document below is the notes on an experiment Lindsey and I did in class testing how the number of wraps around an electromagnet affects its strength. This was beneficial for us both to understand how charges and currents behave.

Analiese Engler - Electromagnet Lab

This is the code we made in our project with notes telling what each command contributes to the robot.

Code

This is my circuit diagram for our robot! You can see the two yellow motor on the sides, but in our robot there are wheels on the motors which are attached under the breadboard to make it run like a car.

Content

General Coding Rules:

  1. You are only allowed to have one setup and one loop function.

  2. Anything that goes before the setup must all go before setup, everything that goes into setup must all go into the one setup, anything that goes in the loop must go into the one loop.

  3. The computer reads the program in order, so if you tell it to do something first, then something else, it will do it exactly in that order. It won’t do anything you don’t tell it to do.

  4. void loop - programs the following code to run continuously

  5. void setup - programs the following code to run once


Below is my document explaining all the commands we've learned and what each one does.

Analiese Engler - Arduino Programming Notes v. 4.0

Circuits

A circuit is a complete loop of conductive material from one side of a power source to the other. There are two types of circuits which we experimented and analysed in class.

Series Circuits - Circuit with a single path and multiple components, one after another, all on the same path. The voltage splits between resistors or components. Equation to calculate total resistance: r1 + r2 + r3... = r total

Parallel Circuits - Circuit with branches each with a separate path for flow of charge/electrons. Parallel circuits split the current. The voltage is the same throughout the circuit. Equation to calculate total resistance: 1/r1 + 1/r2 + 1/r3... = 1/r total

Coulomb's Law

Force of retraction/repulsion between two static charges is proportional to the charges and inverse to the squared distance between them. F = force, k = constant (9 x 10^9 Nm^2/c^2), q = charge in coulombs, d = distance in meters

F = kq1q2/r^2

Electromagnet

An electromagnet uses the current from a magnet to manipulate the magnetic field into behaving like a magnet. It uses wire, a ferromagnetic core, and a battery to direct the current all the same way. More on this is found in my electromagnetic experiment document above.

Voltage (V)

The Potential Energy difference from one side of component to the other side. Measured in volts. v = ir

Resistance (r)

The amount the current is slowed or resisted through an obstacle. Measured in ohms. v = ir

Power (p)

The rate of transferring electrical energy through a circuit. Measured in watts. p = iv & p = i^2(r) & p = v^2/r

Current (i)

Flow of charge/electricity through a circuit. Measured in amps. v = ir

Reflection

I feel very good about this project and the work my partner and I did on it. I feel that I have learned the most through the course of this unit than any other this semester, especially since I knew nothing about coding or electricity coming into it. This is something I have always wanted to learn about so it was interesting to find out how this kind of technology worked and create a functional robot of my own.

The areas of this project in which I feel were successful for me were in the communicator and critical thinker categories. Since this project was in new territory for both me and Lindsey, we came across many obstacles that required both of us to express fully what the problem was and both of our ideas on how to overcome them. We both did very well in this category and were able to listen and contribute until we either figured out what we needed to, or until we decided it was not something we knew how to fix, in which case we would ask for help from Mr. Williams. In addition, this unit definitely challenged me to think deeply and focus completely on the subject while I was in class. The new material required me to be engaged in order to understand and be successful in this final project.

Some facets of the graduate profile that I will work to improve in next year and could have better exemplified in this project were in the collaborator category. Working with such exact notation in the code and on the breadboard in the development stage, our duo sometimes could not identify what the problem even was and why our commands were not running correctly. In these moments, it was more difficult for me to stay positive and empathetic as a collaborator because I felt a little helpless. However, once we asked for help and had some small victories, that was usually enough to get me back on track. Next time, I hope to never lose my sense of positivity and encouragement to strengthen the collaborator in me.