Week 13: Interface and Application Programming

Designing the Interface

I decided to use Processing as I had seen some animations that didn't seem too complex but had a decent quality so I started by downloading the software.

PROCESSING 01

I started by following tutorials (shown below).

PROCESSING TUTORIAL

Next I tried to learn how to make Arduino IDE and Processing communicate. I learned by following a tutorial from Spark Fun. First, I wrote the code for Arduino to send data.

ARDUINO 01

Next was the Processing side. I imported the processing.serial library and then added the code to recieve the data sent on Processing as shown below.

PROCESSING 03 PROCESSING 04

Following, I wrote the code for Processing to send data.

PROCESSING 05

Next, the code for arduino to interpret the data recieved by turning on and off an LED on my arduino.

ARDUINO 02
HARDWARE 01 HARDWARE 02

Up to this point I could either send data from Arduino to Processing and vice versa, but not at the same time.
If you can do both at the same time then you can do a virtual handshake. I started by writing the Arduino side of the code.

ARDUINO 03

Finally, I wrote the Processing side of the code(always following the tutorial from Spark Fun mentioned before.)

PROCESSING 06
PROCESSING 07 PROCESSING 08

Board Design

I had to design, and solder my control board with 4 buttons and a satcha kit to control it.
At this point I've gotten fairly good with Eagle so I started with the Schematic right away.

EAGLE 01

Next I routed my board.

EAGLE 02

Exported the .png monochrome.

ButtonBoard

Processed it with fab modules to get the G-code.

FAB MODULES

Next I milled it in the Modella MDX-540 and soldered it with flux.

ButtonBoard 01

And tested if the buttons were working(they were!).

ButtonBoard 02

They were!

I designed my satcha kit's schematic.

SATCHA 02

Next I started routing the board.

SATCHA 01

It was hard so I added some 0 ohms resistors to use as bridges.

SATCHA 04 SATCHA 05

I finished routing.

SATCHA 07

Following, I exported the monochrome .png and passed it through fab modules.

SATCHA 08

Next, I tried to mill the board but it worked on the second try.

SATCHA 09 SATCHA 10

After, I soldered it with flux and drilled the through holes for my pins.

SATCHA 11 SATCHA 12

Finally, it was soldered and ready to program

SATCHA 18

Time to program my satchakit.

SATCHA 14

The bootloader burned successfully and I uploaded my arduino code (downloadable at the end of this page).
Now it was time to play some PONG!!!

SATCHA 13

AAAND!!! Me playing pong :)

Not perfect but it worked!



Download the original files from the links below:
Modified Satchakit Schematic: Eagle (.sch file)
Modified Satchakit Board: Eagle (.brd file)
Modified Satchakit G-Code: FabModule (.nc file)
Buttonboard Schematic: Eagle (.sch file)
Buttonboard Board: Eagle (.brd file)
Buttonboard G-Code: FabModule (.nc file)
Pong Code:Pong-Processing (.pde files)
Pong Code:Paddle-Processing (.pde files)
Pong Code:Puck-Processing (.pde files)
Pong Code: Arduino (.ino file)



Previous Week Home Next Week