Arduino/accelerometro adxl345: differenze tra le versioni
m (m) |
m (riordinamento pagina) |
||
(5 versioni intermedie di 2 utenti non mostrate) | |||
Riga 3: | Riga 3: | ||
Ammette ''due modalità diverse'' di utilizzo, attraverso i protocolli '''I2C''' (più lento, ma molto più semplice, perché scambia dati attraverso due fili soltanto) e il protocollo '''SPI'''. Può anche essere pilotato attraverso due canali di interrupt per realizzare effetti particolari, come il doppio click. | Ammette ''due modalità diverse'' di utilizzo, attraverso i protocolli '''I2C''' (più lento, ma molto più semplice, perché scambia dati attraverso due fili soltanto) e il protocollo '''SPI'''. Può anche essere pilotato attraverso due canali di interrupt per realizzare effetti particolari, come il doppio click. | ||
− | + | <div style="text-align:center"> | |
− | + | <html5media height="450" width="800" autoplay loop>http://www.cloc3.net/pnlug/adxl345.mp4</html5media> | |
− | < | + | </div> |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | </ | + | |
− | + | ||
=L'uso didattico= | =L'uso didattico= | ||
Riga 22: | Riga 16: | ||
* Imparare a gestire la comunicazione tra arduino e il terminale di un computer esterno, attraverso la porta seriale. | * Imparare a gestire la comunicazione tra arduino e il terminale di un computer esterno, attraverso la porta seriale. | ||
* Imparare a redirigere i dati su web e a raccoglierli con una applicazione per il browser. | * Imparare a redirigere i dati su web e a raccoglierli con una applicazione per il browser. | ||
+ | |||
+ | =Altre pagine correlate= | ||
+ | * [[Arduino| Torna alla pagina principale]]. | ||
+ | * [[Arduino/input_seriale| Input ouput seriale]]. | ||
+ | * [[Arduino/leggere_una_stringa_numerica]] | ||
+ | * [[Arduino/bash_e_porta_seriale]] | ||
+ | * [[Arduino/monitor_in_linea]] | ||
=Alcune informazioni spicciole= | =Alcune informazioni spicciole= | ||
Riga 52: | Riga 53: | ||
while true; do authbind nc -l -p80 -q1</dev/arduino ;done | while true; do authbind nc -l -p80 -q1</dev/arduino ;done | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</div> | </div> |
Versione attuale delle 13:31, 16 gen 2014
L'accelerometro a tre assi adxl345 è un oggetto di basso costo (circa 6€ su ebay), perfettamente compatibile con arduino.
Ammette due modalità diverse di utilizzo, attraverso i protocolli I2C (più lento, ma molto più semplice, perché scambia dati attraverso due fili soltanto) e il protocollo SPI. Può anche essere pilotato attraverso due canali di interrupt per realizzare effetti particolari, come il doppio click.
L'uso didattico
Trasformare un accelerometro in uno strumento di rilevazione dei movimenti tellurici è un'applicazione didattica elementare, perché si esaurisce nella gestione dell'input output con il sensore.
Sono molte però le cose che si possono imparare anche con un obiettivo tanto limitato. Per esempio:
- Imparare a consultare la documentazione esistente su internet.
- Imparare a scrivere alcuni programmi semplici per gestire la comunicazione tra il sensore e arduino.
- Imparare a gestire la comunicazione tra arduino e il terminale di un computer esterno, attraverso la porta seriale.
- Imparare a redirigere i dati su web e a raccoglierli con una applicazione per il browser.
Altre pagine correlate
- Torna alla pagina principale.
- Input ouput seriale.
- Arduino/leggere_una_stringa_numerica
- Arduino/bash_e_porta_seriale
- Arduino/monitor_in_linea
Alcune informazioni spicciole
È infinita su internet la documentazione che ne descrive l'uso.
Notevole, ad esempio, questo tutorial che insegna a programmare autonomamente le librerie dalla lettura diretta delle specifiche.
Su github, il codice della adafruit consente un utilizzo pressochè immediato del dispositivo.
cd ~/arduino/librerie git clone git://github.com/adafruit/Adafruit_ADXL345
Il file Adafruit_ADXL345/examples/sensortest/sensortest.pde contiene uno script pronto per l'uso.
Una volta generato un flusso attraverso la porta seriale di arduino, possiamo porci il problema di trasferirlo via web.
netcat è uno strumento prezioso per realizzare la cosa in un fiato.
sudo while true; do nc -l -p80 -q1</dev/arduino ;done & wget localhost -O - 2>/dev/null
Se si desidera, è possibile di evitare il sudo liberando l'accesso in scrittura alla porta 80 ad un utente non privilegiato con l'uso di authbind.
Riportiamo le istruzioni acquisite da questo howto:
cd /etc/authbind/byport touch 80 chmod 500 80 chown utente_nc 80
L'utente dovrà creare il flusso in questo modo:
while true; do authbind nc -l -p80 -q1</dev/arduino ;done