Write a tkinter GUI (6 windows) to control CNC machines
$1500-3000 USD
Cancelado
Publicado hace alrededor de 4 años
$1500-3000 USD
Pagado a la entrega
We are designing a controller system (hdw + sftw) to control clusters of 3 CNC machines.
While we work on the hardware section (and some of the software), we need the design of a GUI.
This is a GUI project to supervise 3 machines from a touchscreen.
This runs on a Raspberry Pi 4, and should likely be written using tkinter (and python 3.7).
There are 3 series of 11 variables to maintain and display over 6 screens.
Some of these variables are entered in the GUI fields using an on-screen numeric only keypad, while others are calculated (statistics and timing), some are incremented or decremented.
The program needs to interact with time (to measure elapsed time between events and to measure running time), with RS232 to receive information from the machines (very simple 1 byte protocol) and to send orders to the machines.
The background color of the main screen (divided in 3 sections for the 3 machines) must change (red/yellow/green/grey) depending on the status of the machine (as received over the RS232 link) or from calculated statistics (average time between events).
The GUI should therefore be responsive to RS232 events, calculated results and elapsed time.
Finally, upon an interrupt (falling edge on a GPIO pin), all the variables should be saved to a file (shutdown).
This file has to be read in at startup to populate the GUI fields.
The attached document highlights the flow of the various screens:
The first screen [screen 1] displays some of the values and offers to erase them with 2 buttons [yes/no].
The time is also displayed and can be modified [time set].
The [time set] screen has 2 fields and the on-screen keypad to set the clock. The clock is an RTC on the RPi I2C bus. The Raspberry can be configured to read the time from the RTC.
The next screen is the [running] screen. It displays status for the 3 machines as 3 series of 6 parameters. There are no operator set fields in this screen. From this screen there are 3 buttons to go to either of the 3 [machine] screens.
The 3 machine screens are identical and allow entry of 4 operating parameters each. A 5th field just tallies hours of operations for each machine and cannot be modified.
Full spec will be available, I can answer any questions and help with hardware related items (interrupt, RTC).
Dear Sir,
I am an electrical engineer with 20 years of experience in this area. I have built a couple of custom 3d printers, CNC machines and of course GUI based applications in python.
I am going through your requirements and will have some questions.
I am interested in your project: Write a Tkinter GUI (6 windows) to control CNC machines
Please send me a private chat message.