Lab 9 – 3D Modeling

Using Tinkercad, design a 3D model of a wearable device, a game controller or a mechanism (for a component) that utilizes at least one of the following components or equipment:

Your model has to be 3D printable and must be able to hold or support one of the pieces listed above. In order to create a precise mount or connector, you must check the datasheet of the component or equipment to find the correct dimensions. You can also take measurements using vernier calipers if a data sheet with part dimensions is unavailable.

Document your work on the blog.

Lab 8- Drawing Machines

Lab 8- Drawing Machines

We will be creating drawing machines by using an H-bridge to control stepper motors attached to mechanical arms. Individually assemble the circuit using the SN75440NE IC and the pre-installed Arduino Stepper Library to control one stepper motor.

You will need your Arduino kit along with:

  • 1 42STH33-0404AC stepper motor
  • 1 SN75440NE ic chip
  • 1 power jack
  • 12 V power supply
  • 1 potentiometer from your kit
  • 1 Arduino and USB cable from your kit
  • Laser-cut mechanisms
  • Pen that fits the laser-cut mechanisms

Part 1: Build the following circuit to control the stepper.


Use the stepper_oneRevolution example to get your motor to make one revolution. Once you have your motor moving, you should collect the parts of the laser-cut mechanisms as the pictured below.

Part 2: Use your potentiometer and the MotorKnob example to control your motor. Please note that 42STH33-0404AC stepper motor is a 200 step motor. You can use the function map() in order to match the movement of the knob with the rotation of the motor.

Part 3: Write a sketch on Processing that send values to Arduino. Replace the potentiometer by using the values from Processing to control the motor.

Part 4: Then, find another person to work with. Combine your parts into a mechanical arm that can hold a marker —see the picture below. Use processing to control the movement of your motor, and make adjustments with your partner.You have just created a drawing machine!

You may need to tape the paper down so it does not move against the pen. Experiment with changing the speed. Do not forget to document your work and reflect on it in the blog.

Lab 7 – User Testing

Part 1: Prepare

Spend some time thinking about how you will set-up your project and about the feedback you received during your presentation. Write a list of things that you want to know when your users interact with your project. Write down any specific questions you have. Or any other aspects that you would like to consider when your users interact with your project.

Part 2: Testing

 A) Testing your project

Let the users start the program/project, and watch them as they use it. Make them talk out loud about their mental processes and ask them especially to voice every single question that pops into their minds as they work. Take copious notes, some pictures, and videos. After a few minutes ask some probing questions; find out what’s really bothering the tester.

B) Being a user

Overlook the minor glitches that we all expect. Identify deeper-level problems with the design and suggest ideas your peer might not have thought of. Articulate your thoughts and tell the tester everything you feel and think about the project. Answer any questions your tester might ask.

For more on user testing look at “Making Interactive Art: Set the Stage, Then Shut Up and Listen” by Tom Igoe and “Convergent Testing” in The Art of Interactive Design (2002) by Chris Crawford

 Part 3: Reporting

For this recitation you will have to write and post two reports one for a project you tested and one for your own project.

For one of the projects you tested: Describe the experience of interacting with the project in detail. Ask any questions you might have about the project. Write any suggestions you might have that could improve the project.

For your own project: Review the notes you took while other people tested your project. Describe in detail how your users interacted with your project. Consider the users’s comments and concerns. Address each of them thinking about the reasons behind them. Think of possible improvements you could make to your project in response to the feedback you received.

Lab 6 – Serial Communication

Working individually, send data between Arduino and Processing using serial communication.

  1. Create a Processing sketch that sends data to Arduino. Receive that data and express it using physical components (ie. servo, led, buzzer).
  2. Create a circuit using your Arduino to send data from physical inputs (ie. variable resistors, buttons, tilt switch) to Processing. Receive the data and express it visually in your Processing sketch.

You can find some examples that might help you here. Make sure you have the serial port number set correctly and the baud settings set on both Arduino and Processing. This is a great opportunity to apply and combine all the things you have been learning during the semester. Document your work on the documentation blog.

Lab 5 – Animation in Processing

Create an animation with Processing using any 2D primitive or vertex shapes:

Pick an image or a theme that inspires you, such as an album cover, a work of art, or an animated GIF. Using the functions that were covered in class, create an animation with Processing..

Make sure to use some of the following functions:

Incorporate numeric variables:

And the transform functions:

Document your work on the documentation blog. Using paper to sketch your idea is always a good first step.

Stupid Pet Trick

Working individually:

Make a simple physically interactive device that uses the skills you’ve learned in class. It must respond to a physical action or series of actions a person takes, and it must be amusing, surprising, or otherwise engaging. It doesn’t have to be practical, or complex, as long it shows that you understand the basics of digital and analog I/O and how to use them. If you’re unfamiliar with the term “stupid pet trick,” Googling the term may provide you inspiration for the tone of this project.

Simone Giertz’s robots are a good source of inspiration:

Document your work by Friday on the documentation blog, including all the components you used for your project. During Friday’s recitation, you will be presenting your work to the class.

Recitation 3 – Sensors

Exercise 3:

Working in pairs:

Choose one of the the following sensors—not provided in your Arduino kit— and read about it:

Attach it to your Arduino and use the data from your sensor to turn on and off an output (Servo motor, LEDs, Buzzer, etc.). Document your work on the documentation blog.

Here are some notes that can help you:

For Moisture Sensors, Sharp IR Sensors, and Vibration Sensors you can use simple analog read.

In the case of Infrared Distance Sensors using map() can be helpful to map the analog readings from the sensor to the distance between the sensor and the object it is sensing — look at the bag of your sensor to know what is its distance range. For the Sharp Infrared Distance Sensor you can also follow the sample code available here.

To create a Vibration Sensor you will need a piezo disk and a 1M resistor. You can use the Knock example on your Arduino IDE — under Examples —> 0.6Sensors.

For the HC-SR04 you can use the Ping example on your Arduino IDE — under Examples —> 0.6Sensors. In order to do that you will have to connect both Trig and Echo to the same Digital Pin in your Arduino.

For the Grove 3-Axis Accelerometer you can use the ADXL3xx example on your Arduino IDE — under Examples —> 0.6Sensors.

Recitation 2 – Arduino Basics

Exercise 2:

Working in pairs:

We realize the documentation on your kits suggest you use the prototyping shield. We suggest you skip the shield and hook them up using the documentation below. Remember: you still need to program the arduino with example code from the DFRobot link.

Traffic light(click to make bigger)

Temperature Alarm. 

Warning: Make sure your temperature sensor is placed in the correct orientation. If it’s wrongly placed, it may get hot and you might get burned.

The temperature alarm will turn on if it’s hotter than 27 degrees. Place your finger on the sensor to heat it up. You can click the magnifying glass sign of your Arduino IDE to see the values coming into the sensor. We will talk some more about this button and what this is showing you during class.

You can see what the sensor is reading by clicking the magnifying glass.

Ambient Light

The ambient light needs a flashlight or the light on your phone to activate. Place it over the sensor to see the LED change.

RGB Light Dimmer

Recitation 1 – Basic Circuits

Exercise 1:

  • Working in pairs, create three simple circuits on a breadboard based on the circuit diagrams below and take photos and notes to post later on the documentation blog (we will go over documenting your work in class).
    • The first circuit uses a voltage regulator, buzzer and a switch.
    • The second circuit uses a voltage regulator, resistor, LED and switch.
    • The third circuit uses a voltage regulator, resistor, potentiometer, LED and switch.
  • In your blog post please answer some of the following questions:
    • Why was it important to use a voltage regulator?
    • Why did you need or not need resistors in your circuits?
    • We used pushbutton switches in these diagrams. Are there any switches that we interact with everyday that do not require us pressing a button or an on/off switch with our hands?
  • Materials:
    • 1 * Breadboard
    • 1 * LM7805
    • 1 * Buzzer
    • 1 * Push-Button Switch
    • 1 * 220 ohm Resistor
    • 1 * LED
    • 1 * Variable Resistor
    • 1 * Power Supply and Leads
    • Hookup Wires

Here are some helpful diagrams to help you understand your components better:

LED Pinout:

Image from Tweaking4All.


LM7805 voltage regulator pinout:

Image from Electronics4u.


Variable Resistor:

Push-Button Switch. Notice that some of the leads are always connected to each other.

Image from Razzpisample