Putt Putt/Howard Community College/Spring2012/p501acm

Problem Statement
To program an InkJet printer so that we can integrate its mechanics in the construction of a miniature golf course obstacle.

Team Members

 * Marcus Watson
 * Chima Ezenwachi

Summary
Over the course of four weeks (the final engineering design phase), we constructed a putt-putt golf green obstacle by reverse engineering an InkJet motor that has been dismantled from an unused desktop printer. We manipulated the movements of the InkJet motor by modifying simple example Arduino programs (Motor Party), and hooking the AC supplies up to the InkJet motor. In order to achieve the ultimate goal, to attach the reverse engineered InkJet motor to the side of a pendulum such that it could swing simultaneously with the motor, we had to deliberate on several methods of which we could affix the motor to the pendulum, while considering its bulkiness in size and the weight of the pendulum being too much for the motor to try and move efficiently. Eventually, after applying elementary physical concepts, such as center of mass and rotational dynamics, we were able to mount the motor to the pendulum at a place where the weight is equal with respect to its fulcrum (the hook of the pendulum to the frame), and managed to get a swing of about 12 inches.

However, our next problem rose from the fact that the base of the frame of the pendulum measured about 30 inches in width, and the 12 inches is not sufficient enough to block any object, let alone a golf ball. The solution to which we agreed on was to attach two wooden blocks to the sides of the pendulum to make up for the lost coverage, which gained about 8 inches in coverage overall. Considering that the pendulum's swing coverage is still about 10 inches short of the entire base of the frame, we are still considering multiple solutions as to how might we able to maximize coverage of the pendulum, and ultimately program a motion detector camera to the Arduino and frame so that the pendulum can move automatically and on sight of an approaching object.

Upon receiving the project, we were a bit confused on what or objective was; however, after examining what should be done in order to move the project forward, we got right to work on writing Arduino programs to make the pendulum swing in concordance with the InkJet motor on the printer.

Marcus Watson handled a great deal of Arduino work; he was responsible for writing a script for the arduino to move back a forth, without hitting the sides of the printer chassis, which could damage either the InkJet motor, or the Arduino. Multiple tests were ran before creating an ideal program that could achieve this goal, but also provide an extra power boost to the Arduino so that the pendulum could swing farther.

Chima Ezenwachi worked on the platform that would be used to mount the InkJet chassis to the pendulum; however, it took knowledge of rotational dynamics to determine the height at which to mount the platform so that the InkJet motor could provide the best (or farthest) swing. First he had to take some measurements. At first, the printer was supposed to attact to the pendulum throw a hanging type of platform but Chima thought to create a self for the printer to sit on, so he brought in a self and to two self supports and made the self platform for the printer so it sit right next to the pendulum with plenty of space to put the Arduino and InkJet motor.

Story
Week1 - The first week dealt with deliberations among on how to begin the project; what was the purpose of the project, what technologies could be involved in order to facilitate the progress of the project; what problems facing us now need to be resolved in order to complete the project. Things moved quite slow; however, once the goal was known and established, progress picked up quickly.

Week2 - The second week started both the design and testing process. Testing of original Motor Party Arduino program, testing various power sources; decided that no new program needed to be created, rather, modification of the speed values and commands of the current program were needed. Early measurements of the pendulum, final product was envisioned and broken down for task assigning. Watson was responsible for writing a script for the Arduino to move back and forth. Ezenwachi was responsible for creating a platform that would be used to mount the InkJet chassis to the pendulum, so that it could swing simultaneously with the Arduino programmed InkJet cartridge.

Week3 - Construction of the platform to place the chassis at particular level with the center of mass of the pendulum. Took numerous measurement to try and determine center of mass. Finally got the platform built and mounted securely. Used tape to connect the InkJet cartridge to the side of pendulum. Initiated testing of swinging pendulum.

Week4 - Deliberated on possible solutions on how to get the pendulum to swing farther and cover the base of the pendulum. Modified Arduino program speed values. Came to a solution to "use what we have;" decided to tape blocks to the base of the pendulum to increase coverage of pendulum swing and provide a greater "challenge" for objects to get past the frame. Continuing to examining possible solutions on how to better hook up cartridge to the pendulum.

Decision List
Our application of physical principles in regards to pendulum dynamics were derived from this website.; however, it was through testing that we were able to determine an appropriate height for the mounting of the platform so that the InkJet chassis could connect to the pendulum.

From Simple Pendulum dynamics we were able to conclude that being able to distinguish center of mass from the fulcrum (bolt and screw), and determine weight distribution.

From this principle, we concluded that any place higher than the center of mass would result in decrease in period. Anything lower than the center of mass would require a greater length of Inkjet motor movement.

Material List
(1) Arduino UNO Open Source Programming Module


 * With USB connector and AC Power Supply 8V.

(1) Ladyada ADA-FRUIT Motor/Servo/Stepper Programming Shield

(1) 22 in by 10 in plank of pre-cut wood

(1) HP InkJet Printer chassis (exposed) with motor.

(1) 24 inch long aluminum pendulum with screw and bolt connector pieces.

(1) Pre-constructed frame; about 30 in. width and 36 in. height.

(1) Ream of duct tape

(1) Ream of pink marking tape

(1) Dremmel; for cutting wood.

(4) 1.5 in screw-nails

(2) Phillips head screw drivers; one 0.2 cm diameter, the other 0.5 cm.

Software List
Arduino Open Source Programming Software program; used in creating and modifying Arduino programs such that the InkJet could move back and forth at certain times, certain speeds, and on certain commands. This open source program can allow you to manipulate the functions of various electronic programs.

Time
15 hours 7 minutes

Tutorials
The Arduino encoding project is being developed by 1sfoerster. We used the described process in order to hook the appropriate wires onto the Arduino. This also covers a bit about the soldering job and the encoder used to program the InkJet motor.

Next Steps
Considering that this project is made to be an obstacle course, there are various starting points from which later students can choose from. Future students could modify the current saved Arduino program to achieve maximum swing coverage of the pendulum. If they are satisfied with the current program, the next step would be to find an appropriate apparatus, besides tape, that will connect the InkJet cartridge to the pendulum; achieving this will provide a better swinging dynamic and could also increase pendulum coverage.

A really good advancement to this project would be to also modify a digital output encoder module, such as this one, and program the Arduino to respond to a domestic security motion sensor, or perhaps a webcam, such that any object that approaches the pendulum, could run a single program that could block it from passing through the frame of the pendulum.

A sound sensor may also be a good alternative to try and program. This here is the cheapest type of sound sensor. There are others; but they seem to be very expensive.