Microcontroller Project | Pick to Light Software Solution
Pick To Light Software Solutions
About this project
Pick To Light software solutions is an is client server concept used in warehouse management. The goal of this project is to implement a client using PIC micro-controller.
About this project
TYPE | Individual project |
DIFFICULTY | Intermediate |
ESTIMATED TIME | 40 hours |
PUBLISHED | May 15th, 2021 |
CONTACT | training@emertxe.com |
Introduction
Pick To Light software solutions is a system designed to streamline and automate warehouse or shop floor operations. Automation is mainly done for picking operations thereby increasing efficiency, productivity and picking accuracy. It primarily uses alphanumeric displays and buttons at storage locations, to guide the shop floor operator in light-aided manual picking, putting, sorting, and assembling of various components.
Let us consider a vehicle manufacturing shop floor. The shop floor worker has to select between two parts, say X and Y, available in two different bins. There is a dependency on the shop floor worker to choose between X and Y. In case he gets his choice wrong it may result in a wrong action down the line. The Pick to light system comes into picture here where the shop floor worker doesn’t have to make a decision, instead he just follows the light picking parts as they are indicated. Here is how a typical flow would look like.
- In order to implement it using a PIC based micro-controller, following things are required:
- We have to know this in order to light the correct parts bin for next item
- All parts need to be sorted out in bins
- Light above each bin need to glow when that part is to be used
- After picking the shop floor worker will press a say a switch to confirm the pick
- Move on to next pick and repeat
Instead of implementing the whole system, the aim of the project is to implement the client which is nothing but a PIC micro-controller in our case.
Requirement Details
Here are the requirements of Pick to light software solutions project.
Default Screen
When there is no data from the server the display should be blank. This will be called as Operation Mode henceforth
Mode Selection
By pressing the MODE key the display should toggle between Operation Mode and Config Mode
Config Mode
This mode should provide two facilities
- Update Stock to server
- Press CF key to enter this screen
- The stock count should start from 0
- INC key is used to increment the stock count on display
- ACK key send the displayed stock count to the server
- Return to the Operation Mode
- Set Node ID
- Press CF key to enter this screen
- The default Node ID should be displayed
- INC key is used to increment the Node ID
- ACK key updates the Node ID and stores it in persistent memory
- Return to the Operation Mode
- Update Stock to server
Operation Mode
- The pick count received from the server should be displayed on screen
- The Pick Indicator should blink at the rate of 2Hz
Send Picked
- The received pick count should be modifiable with the help of INC and DEC key
- ACK key transmits the data to the server
- The Pick indicator should stop blinking after transmission
Skeleton Code
The skeleton code in a very interesting concept used in Emertxe. By looking into the skeleton code, you will get a clear picture into converting the given requirement into a working solution. This will also take care of important aspects like modularity, clean coding practices, re-usability etc.
Sample Output
Here are the sample output expected by the end of project execution.
Fig1: Idle State. Display should be OFF unless and until count to be picked is received or node detects any user activity
Fig2: Operation Mode. View of data received from the server. You should be able to modify this count using Inc and Dec
Keys. Once set press Ack key to send the data to server back
Fig3: Config Mode. When the config key is pressed, the node should display this indicating Update Stock
Fig4: Config Mode. The second press of config key should display this indicating Node ID. Subsequent press of config key
should toggle between above 2 screens
Fig5: Config Mode. Possible in send stock screen, where you can set the required count and send it to server
Fig6: Config Mode. Possible in set Node ID screen, which will be stored in EEPROM
- Default Screen
- Mode Selection
- Config Mode
- Operation Mode
- Send Picked
- Fig1: Idle State. Display should be OFF unless and until count to be picked is received or node detects any user activity
- Fig2: Operation Mode. View of data received from the server. You should be able to modify this count using Inc and Dec
Keys. Once set press Ack key to send the data to server back - Fig3: Config Mode. When the config key is pressed, the node should display this indicating Update Stock
- Fig4: Config Mode. The second press of config key should display this indicating Node ID. Subsequent press of config key
should toggle between above 2 screens - Fig5: Config Mode. Possible in send stock screen, where you can set the required count and send it to server
- Default Screen
- Mode Selection
- Config Mode
- Operation Mode
- Send Picked
- Fig1: Idle State. Display should be OFF unless and until count to be picked is received or node detects any user activity
- Fig2: Operation Mode. View of data received from the server. You should be able to modify this count using Inc and Dec
Keys. Once set press Ack key to send the data to server back - Fig3: Config Mode. When the config key is pressed, the node should display this indicating Update Stock
- Fig4: Config Mode. The second press of config key should display this indicating Node ID. Subsequent press of config key
should toggle between above 2 screens - Fig5: Config Mode. Possible in send stock screen, where you can set the required count and send it to server