Thank you for your quick replies. I wasn't concerned about the motor torque required because I was hoping to achieve it with a low rated motor to begin with to see if it can be done with regards code and then scale up maybe a 2Nm rated motor if I was happy with how it worked.
I would definitely consider using a servo motor but I was under the impression that servo motors are much more expensive, especially if I want to scale up to a higher torque motor in time, is this true?
Thank you for the suggestions on how to control the different positions but I must add that controlling the 7 different positions using 3 buttons is what I would really hope to achieve because this makes the system user friendly and scalable. For example if I can achieve 7 positions using 3 buttons I can scale up to achieving 15 positions using 4 buttons. Just some background on why I want to do it this way, what I am trying to do is open and close particular air vents, so If for example I press the button labelled "vent 1" it will move the motor to open vent 1. but now if I want vent 1 and 2 open I just press button 1 and 2 and the motor will move to a position that opens vent 1 & 2. This would remove the need for a button that reads "Vent 1&2". The benefits of this would become more clear if I wanted an extra vent. I would then have 4 vents and 15 different settings and so on.
Sorry to bore you with details but this is what led me to believe it may be a bit more difficult than what I first thought. Could you advise me on where best to seek support regarding the code for such a project?