Permutation Flowshop Scheduling System Using Arduino UNO

by Abdul Baseer in Circuits > Arduino

95 Views, 0 Favorites, 0 Comments

Permutation Flowshop Scheduling System Using Arduino UNO

diagram of Permuttion flow shop.png
diagram of Permuttion flow shop.png

A Permutation Flowshop Scheduling System (PFSS) is a system designed to optimize the sequence of jobs processed across multiple machines to minimize completion time, idle time, or other objectives. In this specific setup, the Arduino-based project likely simulates or assists in solving such scheduling problems. Here’s a detailed description of how each component fits into this system:


1. Arduino UNO: The microcontroller acts as the central processing unit, running the scheduling algorithms and controlling the input and output components.


2. 4x4 Keypad: This is used for user input. Users can enter job sequences, machine numbers, or commands to run the scheduling algorithm. The keypad allows for a flexible interface to input different scheduling scenarios.


3. LCD Display: This provides a visual interface to display instructions, input confirmations, scheduling results, and other relevant information. It helps the user understand the system's current state and the outcomes of the scheduling processes.


4. LEDs and Resistors on a Breadboard: The LEDs might be used to represent the status of different jobs or machines. For example:

  - Green LED: Indicates a job is completed.

  - Red LED: Indicates a job is in progress.

  - Yellow LED: Indicates a job is queued or pending.


  Each LED could correspond to a specific job or machine, providing a quick visual indicator of the system's status.


5. Push Button: This button could be used to start the scheduling process, reset the system, or step through different stages of the scheduling algorithm. It adds a manual control element to the system.


How the System Might Work


1. User Input: The user inputs the job sequence or other relevant data using the keypad. This data could include the number of jobs, the processing time for each job, and the order in which they should be processed.


2. Algorithm Execution: Once the input is provided, the Arduino executes a scheduling algorithm (e.g., Johnson’s algorithm for two machines or a heuristic for more machines) to determine the optimal job sequence.


3. Result Display: The LCD displays the optimal job sequence, total processing time, and other relevant metrics. It guides the user through each step of the scheduling process.


4. Status Indication: The LEDs provide a visual representation of job statuses. As the scheduling process runs, the LEDs change color to indicate which jobs are being processed, completed, or pending.


5. Control: The push button allows the user to start, pause, or reset the scheduling process.


Benefits of the System


- nteractive Learning Tool: This setup is excellent for educational purposes, allowing students to learn about scheduling algorithms interactively.

- Prototyping: It can be used to prototype and test new scheduling algorithms in a controlled environment.

-Visualization: The combination of LCD and LEDs provides a clear visualization of the scheduling process, making it easier to understand and analyze.


By integrating these components, the system provides a hands-on approach to learning and experimenting with permutation flowshop scheduling, making it a valuable tool for both education and research.

Supplies

Screenshot 2024-06-25 082120.png

Here is Component lists.

Connect Keypad

Screenshot 2024-06-25 082353.png
  1. Connect the 8 pins of the 4x4 keypad to the Arduino digital pins (e.g., 2 to 9).

-Row pins (R1, R2, R3, R4) to Arduino pins 2, 3, 4, 5.

-Column pins (C1, C2, C3, C4) to Arduino pins 6, 7, 8, 9.

Connect LED, LCD, IR Sensor

ard.png

Connect the LCD Display

  1. Connect the LCD display to the Arduino.
  • VSS to GND
  • VDD to 5V
  • V0 (contrast) to the middle pin of a potentiometer, with the other pins connected to 5V and GND
  • RS to digital pin 10
  • RW to GND
  • E to digital pin 11
  • D4 to digital pin 12
  • D5 to digital pin 13
  • D6 to digital pin A0
  • D7 to digital pin A1
  • A (LED+) to 5V through a 220Ω resistor
  • K (LED-) to GND

Connect the LEDs

  1. Place the LEDs on the breadboard.
  2. Connect the anode (longer leg) of each LED to the digital pins of the Arduino (e.g., 4 LEDs to pins A2, A3, A4, A5).
  3. Connect a 220Ω resistor to the cathode (shorter leg) of each LED and then to GND.

Connect the IR Sensor

  1. Connect power pin to 5V and output pin to a digital pin " A2 " on the Arduino
  2. Connect GND pin to GND.

AND UPLOAD CODE


Downloads