I am building small workshop in my basement. This workshop will need a dust extraction system and i want to make a semi automatic system. I first designed one system with relays, but it became very large with the functions i want. I realized that i could reduce the hardware complexity by using arduino and i have sketched up a system.
The only thing stopping me from doing this is my complete lack of programming skills and knowledge.
I can copy and modify programs from the internet to a degree but this is way above my skill.
This is what i have so far:
I have tested the connections and everything seems to work (i use LEDs instead of relays for the test) and the inductive sensor seems to fit the gate, and work fine on 5V even though it is rated for 10-32V
I have written a function description of what i want
S1 Momentary switch NO
S2 Momentary switch NO
B1..5 Inductive sensor NO
Manual Override (yellow button)
S1 is pressed and starts manual override, dust extracting starts and lamp H1 lights up (D05, D07, D08 = High) S1 is pressed again and stops manual override, dust extract stops and lamp H1 is turned off (D05, D07, D08 = low) Under Manual Driving, the system may not be set to Auto
Auto Mode (white button)
S2 is pressed to start auto mode, lamp H2 lights up to indicate auto mode is active (D06 = High). The signal from the inductive sensor is high when all dust ports are closed and the system is in standby (DO4 = High)
Manual override overrides Auto Run, if auto mode is selected, lamp H2 will turn off (D06 = low) during manual override; the system will return to auto mode when manual override ends if the system was in auto before manual driving started.
In auto mode the dust extraction starts when signal from external inductive meter goes low (D04 = low) When running the dust extraction in auto mode lamps H1 and H2 both are lit (D05, D06, D07, D08 = High)
Power-up booting all modes off, so the dust extraction dont start in case of power loss.
Where should i begin? How is a program like this written in an elegant matter? what kind of functions is most suitabe to define the states? this is so far beyond copying a Led blink program and changing the in and output pins i dont even know where to start.