]> git.piffa.net Git - aerei_site/blob - _posts/esempi/2017-02-13-throttle-fsm.markdown
Reorder
[aerei_site] / _posts / esempi / 2017-02-13-throttle-fsm.markdown
1 ---
2 layout: post
3 title:  "Trottle con FSM a dispatcher esterno"
4 date:   2017-02-15 08:14:16 +0100
5 categories: esempi 
6 ---
7 Output:
8 *   2 LED / Strisce laterali che lampeggiano alternativamente
9 *   1 LED / Striscia sotto in FADE
10
11 Input:
12 * Throttle
13
14 Tramite la lettura del valore del *throttle* vengono indicati 3 stati: 
15 * IDLE: gas praticamente a zero
16 * Max: a tutto gas!
17 * Medio: tutti i valori intermedi
18
19 Questo sketch si comporta esattamente come *base_th_3stati*, in questa versione pero' invece che dei cicli *if* viene usato un ciclo *switch* per implementare una macchina a stati. A ogni esecuzione del *loop* viene letto il valore del throttle e in base a questo viene deciso in quale stato si verra' a trovare il ciclo *switch*.
20
21 Gli stati disponibili sono dichiarati in una variabile di tipo *enum*. 
22
23 Nell'esempio successivo *ailerons_state_rgb.ino* verra' implementata una FMS con transizioni tra gli stati per la gestione di una luce RGB associata al canale degli alettoni.
24
25 {% highlight cpp %}
26 {% include_relative /repo/esempi/state_throttle/state_throttle.ino %}
27
28 {% endhighlight %}
29