Anyone have experience with C# Programming?

Soldato
Joined
14 Apr 2014
Posts
7,213
Location
Sunny Sussex
I've got a project I'm working on at uni, however my lecturer has a 'learn on the job' approach to teaching (i.e. can't be bothered to teach himself). It's meant that so far, I've just been using tutorials online.

However, this time, I don't even know where to start. Throughout his lectures, he's not even mentioned the coursework, so little help there.

The project is programming a washing machine, and creating a UI for it.

After the User has inserted the clothes and detergent and then closed the door, the wash cycle has five stages:


  1. Lock door

  2. Wash

  3. Rinse

  4. Spin

  5. Unlock door


Assume that the detailed operation of the washing machine within the Wash, Rinse and Spin stages is controlled by specialised ‘local’ controllers that only need to be started and/or stopped by your high level controller. For example, heating of the water and the repeated backward and forward motor rotation during the wash stage are assumed to be controlled by local controllers. Your controller has to coordinate the local controllers with the operation of the inlet and outlet water valves.


Your controller also has to provide the User Interface (UI)


The User can select any one of three maximum water temperatures (30.0, 40.0, 60.0 deg.C) for the wash stage.


The User can select any one of three maximum motor speeds (600.0, 800.0, 1200.0 RPM) for the spin stage


The UI must allow the User to start the wash cycle and also cancel the wash cycle during any stage


If the User cancels the cycle, your controller must ensure that the water inlet valve is closed and the water outlet valve is open, allowing water to drain from the drum before unlocking the door


The UI must provide feedback that is appropriate for a consumer product to the User during all stages of the wash cycle

Once I'm on a computer, I can add a little more info about the project, but if anyone has some great tutorials that may be appropriate for it, it would be greatly appreciated.

Thanks all in advance
 
Just design the UI and a set of washing times depending on the choices given. Once start is hit have one thread with a timer to go through the wash. At each relevant point call a dummy function to turn on water etc as you don't need to worry about writing that bit.
 
Seems fairly simple from a design point of view, the only thing not mentioned is cycle length.

Think about it as though it's a old fashioned control panel, no LED screen, then move it to and LED design.

Door Open/Closed - LED
Door locked/unlocked - LED
Water temp dial
RPM dial
Start button
Stop Button


If the door is open the water inlet valve is closed
If the door is closed the inlet valve opens

Before a cycle - door open/unlocked, inlet closed, outlet open
Start of a cycle - door closed/locked, inlet open, outlet closed.
During a cycle - door closed/locked, inlet open, outlet closed.
Cycle ending - door closed/locked, outlet open, inlet closed
Cycle ended - Machine empty of water, inlet closed, outlet open, door unlocked

If the stop button is pressed, it jumps to cycle ending for X minutes then the door unlocks as per cycle ended.
 
Seems fairly simple from a design point of view, the only thing not mentioned is cycle length.

Think about it as though it's a old fashioned control panel, no LED screen, then move it to and LED design.

Door Open/Closed - LED
Door locked/unlocked - LED
Water temp dial
RPM dial
Start button
Stop Button


If the door is open the water inlet valve is closed
If the door is closed the inlet valve opens

Before a cycle - door open/unlocked, inlet closed, outlet open
Start of a cycle - door closed/locked, inlet open, outlet closed.
During a cycle - door closed/locked, inlet open, outlet closed.
Cycle ending - door closed/locked, outlet open, inlet closed
Cycle ended - Machine empty of water, inlet closed, outlet open, door unlocked

If the stop button is pressed, it jumps to cycle ending for X minutes then the door unlocks as per cycle ended.

Thanks for the help - I've also got to animate the cycle.

I was thinking of using something simple like paint, and getting some basic animations, rather than super fluid 60 FPS stuff.
 
Yep, so nearly done, and my method was:

Use count down timers, set by integers. Then at certain integers, I can have certain events occur.

I've found that to be the easiest method.

Happy to provide code if anyone wants to know how :)
 
Back
Top Bottom