Categories
Uncategorized

Project 1 – Wood Polygon

Final product

Wood. It’s the first thing you collect in Minecraft to craft a crafting table, which then allows you to craft countless other items. Unfortunately, crafting in real life is not as easy as punching a tree and clicking a button.

The Physical Unknown

My entire life, I have been known as the tech guy. I can confidently say that I can fix any software problem you ask me for help with and I can whip up iOS and Mac apps to solve various problems in no time at all. Digital technological understanding has always been a gift of mine and skills in utilizing digital tools to create and solve problems are skills that I continuously have worked to continue to sharpen. However, using physical tools, crafting, and visualizing 3D structures is something that I am extremely unfamiliar with. When starting this project, I found myself at a total loss of any idea on where and to start. My complete lack of confidence with working with physical goods, using power tools, and subpar hand control made this project extremely difficult for me to begin.

Selecting a shape

Triangular Pyramid (etc.usf.edu)

For this project, I was tasked with creating a convex polyhedron from a 0.75″x 5.5″ x 12″ plank of hardwood. I choose to use popler as my hardwood given that it was the only plank type remaining in the lab to my knowledge. I decided I would attempt to create a triangular pyramid consisting of 4 triangles.

Marking the board.

To cut the piece, I drew lines every 3 inches on the board and then drew 3 triangles with pencil to aid in lining the blade for cutting.

Chop till ya drop

My next step was to cut the triangles. I received advice to cut one triangle and then trace that on the board before cutting more, that way I could eliminate imperfections in my drawing of the lines. I used the band saw to cut the triangles.

I realized I needed to have angles on the sides of each triangle to be able to connect them together without large gaps. I tried tilting the band saw plate at an angle and was able to get a few good cuts. However, I struggled to cut a perfect straight line every time and messed up drastically on multiple edges. I eventually realized I needed to start over if I was going to do anything that resembled a pyramid.

The failed prototype

Taking a new approach

After consulting with the Danny, I was given the suggestion of gluing together the triangle scraps from my failed prototype and “sculpting through subtraction”. This would allow me to avoid the difficulty of measuring and cutting precise angles in the wood to make a shape. I decided that in addition to gluing the scraps together, I would cut a new board into pieces and glue those together, this way I would have a second chance to sculpt a solid if I were to critically mess up.

The glued together scraps.

Saw, Sand, Repeat

Due to the unevenness of the stacked triangles I glued together, I decided that I would utilize the newly glued triangles as my first attempt at sculpting. My goal was to even out the piece so that there were no gaps between the triangles. This meant that I would have to remove all of the excess wood until each triangle was the same size as the smallest triangle I glued together.

Working on the belt sander

At first, I attempted to utilize the belt sander alone to get the pieces to even out. This was taking an extremely long time, so I decided to use the band saw instead.

Making a triangle with the band saw

With the band saw, I successfully cut the triangle into a singular triangular prism shape with only one crevice. I was then able to sand the remaining crevice off using the belt sander.

Building the other block

Having been satisfied with the triangle shape I was able to make, I decided to try carving the other block I had made by gluing freshly cut rectangular prisms together. I started off by using the band saw to cut the uneven parts of the rectangular prisms as well as any excess glue that remained. To my surprise, I was able to get an extremely smooth wood block that was difficult to determine that it was created through gluing multiple rectangular prisms together.

Combining the two blocks.

Given that I wanted something more complicated than a thick rectangular prism, I decided I would attempt to connect both the mini triangular prism and the rectangular prism together. To do this, I thought it would be useful to use a dowel joint.

The dowel joint print

I drilled a hole in the larger block and then used a bit of paint to help me figure out where I should drill the hole in the smaller part. Next, I glued the dowel in and hammered it into the larger block before going to cut it. This took quite a bit of hammering.

The dowel in the block

After getting the dowel in, I cut a bit off and drilled the hole in the other smaller triangular prism.

The dowel connection attempt

I then tried to connect the two pieces together. The dowel was hard to get in as I might not have cut deep enough in the smaller piece. After attempting to hammer the pieces together, I was able to get the dowel inside, however there was a gap between the two pieces that I could not seem to close. After hammering some more, I decided I would give up on the dowel joint and just glue the faces together. I removed the dowel and sawed/sanded the areas of the pieces with paint on it.

Death of the dowel
Faces of the two parts glued together (and drying).

Trimming and Curving

Now that I had both pieces connected, I sawed off areas that had glue and other imperfections.

Sawing off imperfections

Next was on to sanding, I decided it might be cool if I made the piece have a rounded aspect to it. I ended up using the curved edge of the belt sander to make a unique curve (skateboard ramp like) shape on the block.

I tried to eliminate evidence of the glueing of the two pieces together the best I could through additional sanding. I also used this opportunity to sand all sides of the piece to make it more smooth.

Finishing up

The last step was to add some oil to finish the piece. I added a little bit of what I think was some sort of seed oil (I do not remember the name). I only had time to do one coating, but I was satisfied with the color. The final step was to take some photos of my piece (with my brand new iPhone 15 Pro).

Final Photos

Categories
Uncategorized

Draw a Tree

Pagoda Dogwood Tree (Pretty sure unless my map skills are bad) near the UMC
My attempt at drawing the tree.

During this sketch session I noticed that the trees were planted in little cutout squares in the ground. I wonder if this was done for aesthetic or to prevent the tree from competing

I noticed that some of the leaves seemed to have started to change color a bit. The general leaf structure looked like this:

Below was another leaf that was on the tree but less common than the previous leaf type had these little fruit like objects attached.

I wonder what the ratio between these leaf types are.

Categories
Uncategorized

Material 1:

Prompt: “In our first class session, we discussed our favorite objects. Write a short post (~150-200 words) about what object you chose, why it’s special, and what materials it’s made from. Include at least one photo of the object.”

I chose my laptop as my favorite object. It is a MacBook Pro 2021 with an M1 Pro processor. My Mac is special to me because it allows me to do a lot of creative things such as designing logos, making mobile applications, websites, editing videos and more. My laptop also allows me to conduct tech-support for my friends and family remotely and also be able to play the occasional computer game. I can do my homework assignments, read, write, blog, and watch YouTube videos to expand my knowledge of anything and everything with the power of the internet. The Mac keyboard lets me write significantly faster compared to a phone or tablet so I can get things done with ease. The device is composed of many materials including plastic, aluminum, tin, and gold. It also contains different rare earth elements. With my MacBook in hand, I am an unstoppable force.

My current MacBook Pro (left) vs. my previous MacBook Pro (right) with GeekBench scores.

NOTE: I am currently working on reorganizing my servers. I want to move some of them to a 3rd party provider while keeping some on site. I will have this blog separated from my other projects soon.

Categories
Uncategorized

Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

Categories
ATLAS Form

ATLAS Form: Week 12 Design Goal

Categories
Uncategorized

ATLAS Object: Game or Audio Controller

For this lab, we were tasked with developing a game using P5JS that responded to two different inputs from the Arduino. I decided not to use my sensor box since my sensor box was falling a part due to poor construction. I decided to make a prototype of something similar to my final project idea.

Programming with P5.js

P5js is a new tool for me. I have some familiarity with javascript but it was still a bit of a learning process. I found a Breakout clone online that was written in P5js that I used as a base for my project (https://editor.p5js.org/kchung/sketches/qyur46iW9). I studied the code to figure out how it worked and changed various aspects to make this work for my project. I removed the bricks and made the game similar to wall ball. During testing, I made the bar be able to move via the arrow keys on my computer. I made the ball get faster over time and reset whenever the ball falls below the screen (the player failed to rebound it.)

Code

Building the circuit

Next, I had to build the actual circuit. I thought it would be cool to use an ultrasonic sensor to make the bar move when the user brings their hand close to the sensor. I had the bar move to the left when no object is detected and to the right when an object is detected. Since I needed a second input, I made a potentiometer be able to change the color of the ball.

Diagram of circuit:

My circuit diagram.

Video of working circuit

Ultrasonic sensor

Potentiometer color changing ball

Code Link: https://editor.p5js.org/jpderouin/sketches/dfUpf9XtX

What I would do differently.

For my final project I am making motion pong. The game will be controlled with motion sensors. I will need to figure out how to smooth the sensor value better as in this implementation of the ultrasonic sensor, the bar was a little bit shaky. I would also use a library with physics rather than writing complicated code to deal with collisions simply based on the x and y location of the ball and other objects.

Categories
ATLAS Form

ATLAS Form: Week 11 Design Goal

Let it snow.

Categories
ATLAS Form

ATLAS Form: Week 10 Design Goal

Categories
Atlas Object

ATLAS Object: Sensor Box

For this lab, we were tasked with creating a circuit that had analog inputs and outputs followed by a sensor box that had at least two different inputs and two different outputs.

Creating the analog circuit

Analog circuit

For this task, we had to use the analog input pins on the Arduino board to read values from multiple analog sensors. In my example, I used a photoresistor and a potentiometer as the analog inputs. For the outputs, I used two different LED’s connected to the PWM pins to simulate an analog output. The brightness of the LED’s change depending on the rotation of the potentiometer and the value of the light sensor.

The schematic

My final analog circuit

My final analog circuit.

The sensor box

The next step in the lab was to build an interactive sensor box. This box needed two analog inputs and two outputs. For my box, I originally was thinking about a unique way to transmit information to my box like the current time. Since my Arduino doesn’t have bluetooth or wifi capabilities, I came up with the idea of using morse code to send information with my phone’s flash light to the Arduino.

Morse Code

Morse Code Chart From Wikipedia

Just like a binary 1 or a 0, more code is composed of short or long pulses of light or sound. During this stage of development, I wasn’t quite sure what exactly I wanted to build other than a device that could read morse code. So I decided to write code so that the Arduino could translate morse code into any letter or number so I could have the flexibility to do whatever.

Lots of if else statements and a mobile app

The morse code transmitter mobile app I made.

Using a photo sensor, I programmed the Arduino to be able to detect if an iPhone flashlight was flashing at the sensor. I made a value threshold that the sensor would measure to set the device into “program mode”. In “program mode” the Arduino would listen for values from the photosensor and determine whether a flash of light was long or short “S” or “L” by recording the time a flash started and stopped. In addition to the standard short and long flashes, I programed the Arduino to look for an extra long flash and an even longer flash to mark the end of a letter and to exit program mode respectively. The Arduino would record the sequence of short and long bursts until a the longer flash signaled the end of the letter. The program would then go through a very long if-else statement to determine what letter the recorded long and short flashes corresponded to.

In order to transmit the morse code, I designed a simple iOS app using Swift and SwiftUI that allows a user to type a message and transmit that message in morse code using the phone’s flashlight.

Adding lights

Once I got the morse code system working, the project still was only working within the console and did not have any lights or feedback on the Arduino itself. I decided to add the following: a yellow LED to show that program mode was activated, and a LED strip that I could set the color of using morse code.

While I could theoretically transmit any RGB value using morse code, due to time constraints, I only programmed the Arduino to recognize commands for the colors: white, red, blue, and green. Once I got that working, I had to figure out what to do about my second analog output.

The silent motion detection alarm

With the RGB strip and the program LED, I had my two outputs completed but I only had the single light sensor as the input. I decided to add a motion alarm feature to the device with the idea that it could only be set and disabled using more code. I added an ultrasonic sensor to the analog input pins and wrote code to detect how far an object is away from the sensor. I added a morse code command “set” that would enable the sensor and cause the lights to blink if an object came within range of the sensor. The blinking would only stop if the command “disable” was sent to the box using the morse app.

Ideally, I would want to add an audible alarm for this feature but I did not have the time.

Sensor box Schematic

The code

Operation

Upon turning on the sensor box the RGB strip lights up white. You can then transmit any of the following commands by typing them in the morse code transmitter app and pressing transmit:

“blue”: Changes the RGB strip to blue.

“red”: Changes the RGB strip to red.

“white”: Changes the RGB strip to white.

“green”: Changes the RGB strip to green.

“set”: Turns on the red LED and activates the ultrasonic sensor. If an object comes within range of the ultrasonic sensor, the lights flash.

“disable”: Disables the flashing lights.

When the box is receiving commands, the yellow program led light up.

Building the Box

The inside of my sensor box.

Personally, this was the most difficult part of the project. For the “box” part of the sensor box we had to create an enclosure for our device so no wires could be seen. Most of my experience with technology is with software and crafting physical things is still a new skill for me. I had a cross country meet in California so I was a little crunched with time I could spend fabricating. I originally thought about using LEGOs to build an enclosure, but I did not want to spend $50 at target. I settled on using cardboard from the BTU lab instead. I cut the cardboard into 4 different pieces and glued/taped them into a box enclosure. I cut holes in the box for the alarm status LED, the “Program Mode” LED, the photo resistor, the ultrasonic sensor (it looks like eyes), and the RGB strip. I decided not to seal the top of the box so I could easily modify connections. As for connecting my components, I soldered the status LED’s and the photosensor to separate breakout boards (one for the LEDs and one for the photocell). I was able to string the RGB strip through the hole I made so it was visible on the outside of the box. I then used a piece of paper to cover the strip.

The RGB side of the box.
The photosensor/status light side of the box.

Finishing up

After assembling everything together, I was finally able to film a demo of everything working. Here are a few videos of the different features below!

Setting the alarm.
Disabling the triggered alarm
Changing the lights from green to blue.

Fixing for the future.

I had a lot of fun with this project despite being a bit rushed on the fabrication piece. I plan to use my morse code system I made for future projects as that opens up many possibilities for data transfer to the Arduino. I am going to learn more about how to fabricate using 3D printing and laser cutting.

Categories
ATLAS Form

ATLAS Form Week 9 Design Goal: Assemble in Fusion