Tramite l’istruzione “raw” è possibile sfruttare le istruzioni di basso livello di Damerino. Questi comandi sono quelli che l’applicazione invia al microcontrollore di Damerino. Ciò significa che utilizzando queste istruzioni è possibile bypassare l’applicazione e controllare Damerino direttamente tramite seriale (sfruttando il modulo Bluetooth integrato oppure bypassandolo collegando direttamente un cavo seriale nella Damerino Main Board).
Esempio di utilizzo di un comando firmware tramite Bluetooth o seriale diretto via cavo:
parla
Esempio di utilizzo di un comando firmware utilizzando l’App (tutti i comandi firmware possono essere utilizzati anche tramite l’App anteponendo “raw”):
raw parla
Lista delle istruzioni firmware
parla
(oppure in inglese: speak)
Muove le labbra.
parla
stop_parla
(oppure in inglese: stop_speaking)
Smette di muovere le labbra.
stop_parla
azione
(oppure in inglese: random_action)
Effettua un movimento casuale sensato del viso.
azione
leggi_adc
(oppure in inglese: adc_read)
Legge un valore analogico da un ingresso analogico. Restituisce il valore letto.
Richiede come parametro il numero di ingresso da cui leggere.
Vediamo un esempio:
leggi_adc 2
setta_a_uno
(oppure in inglese: set_high)
Imposta una uscita digitale a 1 (high).
Richiede come parametro il numero di uscita digitale.
Vediamo un esempio:
setta_a_uno 2
setta_a_zero
(oppure in inglese: set_low)
Imposta una uscita digitale a 0 (low).
Richiede come parametro il numero di uscita digitale.
Vediamo un esempio:
raw setta_a_zero 2
setta_pwm
(oppure in inglese: set_pwm)
Imposta un valore pwm per il controllo di un servomotore in una specifica uscita.
Richiede due parametri, il numero dell’uscita e il valore pwm, i due parametri devono essere separati da un cancelletto.
Vediamo un esempio:
setta_pwm 2#1500
Per conoscere meglio i valori da inviare riferirsi a questa pagina.
Questa istruzione serve per i servomotori aggiuntivi. Per muovere i servomotori della faccia di Damerino utilizzare le istruzioni “servo”, “blocco_stabile”, “blocco”.
tracking
Permette di specificare le coordinate da tracciare.
Richiede le due coordinate X e Y separate da un cancelletto, è necessario un cancelletto anche tra le coordinate e l’istruzione.
Ecco un esempio:
tracking#240#750
standby
Fa assumere a Damerino la posizione di standby.
standby
standby_no_risp
(oppure in inglese: standby_async)
Fa assumere a Damerino la posizione di standby senza attendere la conferma (modalità asincrona).
standby_no_risp
felice
(oppure in inglese: happy)
Fa assumere a Damerino l’espressione felice.
felice
triste
(oppure in inglese: sad)
Fa assumere a Damerino l’espressione triste.
triste
impaurito
(oppure in inglese: scared)
Fa assumere a Damerino l’espressione impaurita.
impaurito
pensieroso
(oppure in inglese: reflective)
Fa assumere a Damerino l’espressione pensierosa.
pensieroso
tilt1
(oppure in inglese: tilt1)
Fa assumere a Damerino un’espressione come se fosse andato in tilt.
tilt1
tilt2
(oppure in inglese: tilt2)
Fa assumere a Damerino un’espressione come se fosse andato in tilt (una variante di tilt1).
tilt2
arrabbiato
(oppure in inglese: angry)
Fa assumere a Damerino un’espressione arrabbiata.
arrabbiato
cattivo
(oppure in inglese: bad)
Fa assumere a Damerino un’espressione cattiva.
cattivo
stupito
(oppure in inglese: surprised)
Fa assumere a Damerino un’espressione come se fosse andato in tilt.
stupito
imbarazzato
(oppure in inglese: shy)
Fa assumere a Damerino un’espressione come se fosse andato in tilt.
imbarazzato
salva
(oppure in inglese: save_standby_pos)
Salva una nuova configurazione di standby (una volta lanciata questa istruzione verrà salvata come nuova posizione di standby la posizione corrente dei servi).
salva
servo
Sposta un servomotore di un certo angolo.
Ecco un esempio dove il servo numero 2 viene spostato di 10:
servo2#10
Questa istruzione opera sui servomotori della faccia di Damerino e non sugli eventuali servomotori aggiuntivi da collegare alle uscite digitali, per operare su quelli utilizzare il comando “setta_pwm”.
blocco_stabile
(oppure in inglese: group_move)
Con questa istruzione è possibile muovere i servomotori della faccia di Damerino tutti insieme. Quando utilizziamo l’istruzione “servo” possiamo muovere solo un servo alla volta, mentre con “blocco” o “blocco_stabile” li muoviamo tutti insieme. Con questa espressione si possono ad esempio costruire nuove espressioni facciali.
Ecco un esempio:
blocco_stabile 100&-100&0&0&150&150
Ogni numero, separato da “&”, rappresenta lo spostamento di un servomotore specifico. Ecco qual’è la sequenza:
blocco sopracciglio_dx&sopracciglio_sx&occhio_dx&occhio_sx&labbro_superiore&labbro_inferiore
blocco
(oppure in inglese: timed_group_move)
Con questa istruzione è possibile muovere i servomotori della faccia di Damerino tutti insieme. Quando utilizziamo l’istruzione “servo” possiamo muovere solo un servo alla volta, mentre con “blocco” o “blocco_stabile” li muoviamo tutti insieme. Questa istruzione manda in posizione i motori solo per un determinato tempo, per mantenere i servomotori in posizione a tempo indefinito utilizzare l’istruzione “blocco_stabile”. Con questa espressione si possono ad esempio costruire nuove espressioni facciali.
Ecco un esempio:
blocco 100&-100&0&0&150&150
Ogni numero, separato da “&”, rappresenta lo spostamento di un servomotore specifico. Ecco qual’è la sequenza:
blocco sopracciglio_dx&sopracciglio_sx&occhio_dx&occhio_sx&labbro_superiore&labbro_inferiore
sopracciglio_dx
(oppure in inglese: r_eyebrow)
Muove il sopracciglio destro.
Ecco un esempio:
sopracciglio_dx 50
sopracciglio_sx
(oppure in inglese: l_eyebrow)
Muove il sopracciglio sinistro.
Ecco un esempio:
sopracciglio_sx 50
occhio_dx
(oppure in inglese: r_eye)
Muove l’occhio destro.
Ecco un esempio:
occhio_dx 50
occhio_sx
(oppure in inglese: l_eye)
Muove l’occhio sinistro.
Ecco un esempio:
occhio_sx 50
labbro_superiore
(oppure in inglese: upper_lip)
Muove il labbro superiore.
Ecco un esempio:
labbro_superiore 50
labbro_inferiore
(oppure in inglese: lower_lip)
Muove il labbro inferiore.
Ecco un esempio:
labbro_inferiore 50
Per ulteriori informazioni puoi contattarci qui.