A Brief Description
A Brief Description
How it works?
Detailed Pin Diagram
Group Members Information
In this project we have designed an embedded system which can draw an image identical to the one given as input. The input is just an two dimensional array indicating pixel matrix for that image. We used bluetooth communication to get this two dimensional array from another device which can sense the image and process the matrix and send it to our device via bluetooth.
After receiving whole matrix, our device starts drawing that image. The devie has two controllable wheel aided with stepper motor which can move the device in any direction in 2d surface. It draws the image with a pen aided with a servo motor to move it up & down.
Bluetooth module ( HC - 05 )
Stepper motor (28BYJ-48 5v)
Stepper motor driver ( ULN2003 )
Stainless steel ball crusher
Wheel ( we used wheels made of Nylon polymer) & grip
Breadboard and wire
In this project we use Arduino uno microcontroller. The current design is an device , which will wait for an image, in the form of a matrix(pixel of image) from another device for drawing. For doing so an Arduino UNO microcontroller is interfaced to an HC-05 bluetooth module. At first, we consider that the image is 2 dimensional. We designed it to receive data of 1 Byte at a time through serial communication. In Arduino, integer size = 2 Bytes. So we put the first byte(size is 1 Byte) in lower 8 bits & the second one in upper 8. Thus we form an integer from 2 consecutive bytes each. Then we put this integer in a 2 dimensional array in such a way that the integer put at an index of that array indicates bitmap of a specific region. For example, if the array is named B, B=1 means 0000 0000 0000 0001 is the bitmap of region (0,32) to (0,47) of the image.
After completion of receiving signals & constructing array for all regions of the image, our device goes to a region & put down its pen at a pixel if any dot is found there. If the next pixel is also found with dot, it keeps its pen down, otherwise puts it up. It covers all regions like this one by one. To reduce time spent for moving, we always select adjacent uncovered regions as next to draw, for example, if device finishes any column, it goes to the last row of next column.
fig.1 Block Diagram
2.All pins of arduino UNO are set up & servo is attached
3.Bluetooth module is on
4.Arduino waits for a serial communication
5.If receives a signal
6.If recieved data bytes are greater than 2
7.Take the first byte and multiplying seond byte by 256 to make an integer and entry in matrix in specefic index
8.If any pixel is unknown go to (5)
9.Else go to (10)
10.Go to an pixel on matrix
11.if a dot is found on a pixel
12.If the pen is upn
13.put the pen down on that pixel
14.If the next pixel is not dot
15.put the pen up
16.If all pixels is not covered
17.go to (10)
18.Else go to (4)
fig.2 Pin Diagram
The most diffiult problem we had to solve is to manage the data received through the GPS receiver. It receives a lot of data in a very short interval and it was difficult to sort out only the necessary attributes in a very short time.
We needed to place the pen exactly middle between two wheel. We faced a lot of problem to drill the board to place the pen exactly between two wheel.
As the wheel are made of Nylon, Nylon can't properly grip on paper. So we had to use grip.
We faced a lot of problem to process the big matrix on the arduino uno as it's ram is only 2 kb.
Section A2: Group 3
Md. Sabbir Ahmed (1205077)
Md. Tafsirul Haque Moon (1205083)
Mrinal Deb Nath (1205087)
Md. Arif Mahmood (1205093)
Prottoy Saha (1205099)
Mohammad Saifur Rahman
Md. Aashikur Rahman Azim
Md. Iftekharul Islam Sakib
Back to top