| | #2 (permalink) Top |
| User Data registr.: 18-05-2013 Residenza: Chivasso (TO)
Messaggi: 2.352
|
ti serve una struttura "switch-case" https://www.arduino.cc/reference/en/...re/switchcase/ che rilevi le condizioni (i 2 stati dei finecorsa e lo stato del motore) e ne imponga di nuove, quando necessario e in accordo alla tua logica di funzionamento. la struttura deve essere eseguita ciclicamente, o alla massima velocità nel ciclo while della funzione main(), oppure temporizzata agganciandola a un timer. Switch-case richiede di funzionare con una sola variabile ma tu ne hai 3 e dovresti "impacchettarle" per ridurle a una (per gestire le tue condizioni ti servono 3 bit e qualsiasi variabile ne contiene minimo 8 ) la soluzione più semplice, anche se molto meno elegante, è una struttura if-else annidata https://www.arduino.cc/reference/en/...tructure/else/esempio scritto in linguaggio "free" if ((SW1==OFF) and (SW2==OFF) and (StatoMotore==SPENTO)) ..{ ....AccendiMotore(); ....StatoMotore = ACCESO; ..} else ..{ ....if ((SW1==ON) and (SW2==ON) and (StatoMotore==ACCESO)) ......{ ........SpegniMotore(); ........StatoMotore = SPENTO; ......} ..} Per cosa ho capito delle tue specifiche, la tua seconda condizione "SW1=ON SW2=OFF -> Motore acceso" è ininfluente quindi non implementata, a meno che il motore non debba passare da spento ad acceso anche sul verificarsi di questa (sotto hai dettato una sola condizione per accendere il motore, e in elenco hai una sola condizione che lo spenga )
__________________ v911 - mCPX - PRȎTOS - TRex 450 500 550 A959B - Q32 - DF03 - LRP TC2 - XB4 - M06 - B5(M) - T8E - X1 - T4 - XB2C - GF01 |
| | |
| Bookmarks |
| Strumenti discussione | |
| Visualizzazione | |
| |
Discussioni simili | ||||
| Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
| problema con arduino | fabiano2007 | Circuiti Elettronici | 15 | 23 marzo 14 03:15 |