
|
![]() | #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 ![]() 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 |
| |
![]() | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
problema con arduino | fabiano2007 | Circuiti Elettronici | 15 | 23 marzo 14 02:15 |