Jason (Tse-Kang) Wang
How to make (almost) anythingthing.

Week 13

networking and communications (May 29)


Design and build a wired &/or wireless network connecting at least two processors.

My final project requires a wireless communication between the two quadropods. So for this week, I will use two boards and the shields I created from input/output weeks to test bluetooth communication. Ideally pass the angle data from the control unit to the performing unit.

SatshaKit FTDI Ver. Board File!!!

SatshaKit FTDI Ver. Schematic File!!!

Arduino Code for the angle reading board, which pass out the angle data through bluetooth.

Arduino Code for the performing unit, which receive the angle data through bluetooth via software serial, and print the received data on terminal through FTDI cable.


Paiiing Bluetooth modules


Since the communication I'm trying to establish is between mcu using bluetooth, I need to make the bluetooths modules (HC05) connect to each other.

The setting of the two bluetooth modules is done by following the tutorial on this website.

These are the HC05 bluetooth modules I'm going to use.

Instead of using arduino to program the modules, I use the board I made and also the FTDI cable for the seond module.

The slow blink that celebrate a success connection!

Now everytime I power up both bluetooth modules, they will try to find each other and connect automatically.

This showes my set up and half done final project.

The board on the left collect the angle data from all the potentiameters, and send the data to the performing unit on the right through bluetooth connection.

While the left board connect to bluetooth module via rx/tx pins, the right unit use digital pin 2/3 and use software serial to talk to bluetooth. This way, I will be able to hook up my FTDI cable to the right unit, and see what the bluetooth module has receive.

The code for the receiving unit, and the angle data it received through bluetooth.

The movement is actually being smoothed out by the delay between each angle commends, which I would like to avoid in the final if possible. After all, it's the inperfection of human's movement that gives puppets a live looking performance.

Each five number digits data contain the angle of a potentiameter (the left three digits, 0~300 degrees), and the ID number of the potentiameter (the right two digits, 12 potentiameters in total).

With the bluetooth working, my final project will be able to use it to sending data between the control unit and the perform unit!