WEEK FOURTEEN

COMMUNICATION & NETWORKING

We know that communication tecnologies bind different devices together––device can recieve an information, pocess it, then send another information to other devices.

Currently, there are two kind of communication: wired and wireless. The most popular wireless communication are bluetooth and wifi. I have made a bluetooth based remote car before, so this time I want to try wired communication.

Wired communication is mostly based on icsp serial port. We use a four pin jack because we only need VCC, GND, TX, and RX.

Designing the board

I designed my own boards ––the bridge board and nodes board. After that, I milled and made one bridge board and two node boards to establish a network.

Here to download files:     Bridge.sch     Bridge.brd     Node.sch     Node.brd

PNG files:     bridge-traces        bridge-interior        node-traces        node-interior





Programming the board

Now program each board to make them work.

First, I draw a draft of the connection of ports on the three boards and usb serial. In order not to make the signal from node 1 and node 2 interfere with the output signal of the bridge, I cut off the RX-TX wire and made some altered the TX/RX pins of board node 2.




Here is code of each board.

Download the code:      bridge.ino      node1.ino      node2.ino


<



Testing the network

Then I connected the boards and the serial port to test whether the network is working fine. It works if the serial monitor keeps printing "RECIEVED" each 100ms.


Problem fixing

1. It took me several hours to reprogram the board because I was confused with the serial port connection. To solve thsi problem, I drew a picture to make me clear about the connection.

2. Another problem was that at first the monitor only displays some uninterpretable marks. Soon I found out that my board was tring to read strings send from another board, which caused inconsistency on the types of variables. However, as I searched online, the code making Arduino to read a String is too large for Attiny 45's memory, so I had to make the previous node send only a char.




<< BACK TO INDEX


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.