Microcontroller Laboratory

Tuesday, 07/15/2008, 21:47:47

For three months now, we, a team of nine students, have worked on a Sorting Machine, which sorts all euro coins correctly and counts the sorted money. The Sorting Machine can also differentiate between real money and false money. The microcontroller, which we have used, was the MC68332 by Motorola.

Here you can see the complete setup of the Sorting Machine:

Complete setup of the Sorting Machine

The task of my group partner and me was to program the color sensor in order to identify the colors of a coin and to visualize the results by implementing a user interface. I mainly worked on the user interface.

At first, we have implemented interfaces in C for the output of debug and error messages as well as the sensor and coin values on the microcontroller, which all group members had to use. These interfaces made it easier to get a standardized output for the needed values by all group members.

After that, I started designing and implementing a user interface in Visual C#.

User interface of the Sorting Machine

At the bottom of the user interface you can see the general settings such as choosing the right COM port in order to connect with the microcontroller or the Reset button to reset the money counter. Furthermore, all debug and error messages are displayed here for bugfix purposes. The middle section shows a picture of the coin, which is rolling down the metal rail and which is identified by the sensors. The sensor values are displayed on the top-left and on the top-right the money counter counts the coins, which are already sorted.

To give you an impression on how the Sorting Machine works, you can watch this little video:

Please feel free to have a look at the project documentation in case you speak/understand German!

Author: Abdulbaki[no comments]

ICMPv6 Tracing Info Message

Friday, 07/04/2008, 22:29:43

The tracing function and the Hop-by-Hop Options header is implemented. Now, it is important that the sender, who triggered the tracing, gets a data packet back, which includes the content of the Tracing header.

This can be realized by implementing an ICMPv6 packet. The border router, i.e. the last router in a network creates an ICMPv6 packet and copies the tracing header of the original datagram into the ICMPv6 data packet. After that, the router sends this packet back to the sender, who can see the route of the original datagram.

ICMPv6 Tracing Info Message

Author: Abdulbaki[no comments]

Who starts tracing?

Saturday, 06/14/2008, 16:22:00

The tracing header allows network providers to trace the route of a data packet. But network providers need also the possibility to control the tracing function, whether a route of a datagram should be traced or not.

In order to check the routes in a domain, the edge routers have to initiate the tracing. This can be done by using the Hop-by-Hop Options header with a TracingInfo option. The Hop-by-Hop Options header is used to carry optional information that must be examined by every node along a packet's delivery path.

Header format

Hop-by-Hop Options Header with TracingInfo Option

The TracingInfo option is a boolean value, which can be set to either 1 or 0. If the value is set to 1, tracing will be enabled, if it is 0, it will be disabled.


TracingInfo Option enabled!

TracingInfo Option is on!

Author: Abdulbaki[no comments]
<< Back Older >>

Archive: [Current]  

[1]   [2]   [3]   [4]   [5]   [6]   [7]   [8]   [9]   [10]   [11]   [12]   [13]   [14]   [15]   [16]   [17]   [18]   [19]   [20]   [21]   [22]   [23]   [24]   [25]   [26]