Come costruire un sismografo con Arduino

Un sismografo con accelerometro su Arduino

Navigando pe il Web ci siamo imbattuti in questo interessante post di Antonio Nirta, un geologo laureato all’Università di Pisa. Antonio gestisce il sito IntraGeo.it, e ci ha concesso di riprodurre il suo articolo “Un sismografo con Arduino” pubblicato lo scorso Giugno su questo link.

Utilizzando Arduino, con una spesa di poche decine di euro, possiamo divertirci a costruire della strumentazione geologica. In questo post, ad esempio, vedremo come costruire un sismografo.

Tuttavia si tratta di un prototipo perciò i risultati ottenuti con esso vanno presi con senso critico.

Che cosa è Arduino

Arduino é, come viene detto nel sito ufficiale: “una piattaforma elettronica open source basata su hardware e software facili da usare”. Le schede elettroniche Arduino sono molto piccole ed economiche, ma estremamente versatili.

Si possono usare per controllare le luci di casa, far funzionare un robot, lanciare un razzo amatoriale, realizzare complessi strumenti scientifici e mille altre cose. Essenzialmente una scheda Arduino è un elaboratore che legge un input e restituisce un output; ognuno di noi può programmarlo usano l’Arduino Programing Language e l’Arduino Software (IDE).

La piattaforma Arduino è stata ideata e sviluppata in data 2003 da alcuni membri dell’Interaction Design Institute di Ivrea (il nome della piattaforma deriva da quello del bar di Ivrea frequentato dai fondatori del progetto, nome che richiama a sua volta quello di Arduino d’Ivrea, Re d’Italia nel 1002.).

Col passare degli anni migliaia di persone in tutto il mondo hanno scelto Arduino per realizzare i propri progetti. Questi ultimi hanno trovato posto nella casa di hobbisti, negli studi di professionisti e in molte scuole, dove Arduino può diventare una grande risorsa didattica.

Sia il software che gli schemi hardware di Arduino sono distribuiti con licenza copyleft, anche se il nome e il logo sono registrati, quindi terzi ne possono usufruire gratuitamente per creare prodotti propri.

Accelerometro MPU-6050 (GY-521)

Il cuore del nostro sismografo è il modulo GY-521, che monta il sensore MPU-6050 contenente un giroscopio e un accelerometro.

Fornisce misurazioni precise in quanto ha un convertitore digitale a 16 bit per ciascun canale e cattura allo stesso tempo x, y e z. Il sensore usa un bus I2C per comunicare con Arduino.

Accelerometro MPU-6050 (GY-521)
Accelerometro MPU-6050 (GY-521)

Costruzione del sismografo: gli strumenti necessari

Gli elementi necessari per assemblare il sismografo sono:

Ai fini di questo progetto, io ho usato l’Elegoo Starter Kit Advanced, al cui interno – oltre agli strumenti sopra elencati – si possono trovare led, resistenze, un piccolo monitor ( e tanto altro) che saranno utili per le modifiche future al nostro sismografo.

Infine, uno strumento molto importate è il saldatore a stagno che ci permetterà di saldare i pin del pettine all’accelerometro.

I collegamenti del nostro sismografo

Una volta saldati i pin al sensore, non ci resta che collegare quest’ultimo alla scheda:

AccelerometroArduino
VCC3.3V
GNDGND
SCLA5
SDAA4
Arduino + breadboard per sismografro
Schema grafico dei collegamenti

Il software del nostro sismografo

Una volta eseguiti i collegamenti, passiamo al lato programmazione.

Innanzitutto scarichiamo ed installiamo il seguente software:

Carichiamo le librerie i2cdevlib e MGU6050 all’interno della cartella delle librerie di Arduino che troviamo nel nostro disco rigido.

A questo punto testiamo se i collegamenti sono stati fatti in maniera corretta; carichiamo il file scanner.ino (che possiamo trovare qui) e nella finestra del monitor seriale dovremmo leggere questo messaggio:

Se uscirà questo messaggio:

I2C Scanner
Scanning…
I2C device found at address 0x68 !
done

è tutto OK! Mentre se uscirà questo:

Scanning…
No I2C device found

Il codice, per rilevare e visualizzare le tracce X- Y- Z, che va caricato nella scheda è il seguente:

Per verificare la bontà di un file .ino dobbiamo cliccare sul segno di spunta posto sotto il menù file, mentre per caricarlo nella scheda dobbiamo cliccare sulla freccia destra posta accanto al segno di spunta.

Arduino: costruiamo un sismografo
Schermata dell’IDE Arduino

Per vedere in real-time le tracce mentre vengono rilevate, apriamo il Plotter Seriale che si trova nel menù Strumenti del’IDE ( o lo richiamiamo con la combinazione di tasti CTRL+Maiusc+L).

Un sismografo con Arduino
Tracce rilevate con il nostro sismografo.

Sarà anche possibile registrare i dati rilevati dal sismografo, grazie all’inserimento di un modulo reader/writer per carte SD. Il modulo, attualmente in fase di test, sarà in grado di registrare i dati su file e quindi successivamente elaborarli.

Ringraziamo nuovamente Antonio Nirta per averci permesso di riprodurre il suo interessantissimo articolo.

 

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

4 Comments

  1. Marco | | Reply

    Molto interessante, purtroppo il link della libreria “i2cdevlib” restituisce una libreria che l’IDE di arduino non riconosce. Peccato, non ho potuto provarlo.

  2. Marco | | Reply

    Error: 13 INTERNAL: Impossibile installare la libreria: sto spostando l’archivio estratto nella directory di destinazione: la libreria non è valida.
    L’errore me lo da anche su questa che hai postato in alternativa

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.