Introduzione
In questo progetto realizzeremo una livella digitale utilizzando un sensore accelerometro MPU6050.
Una livella serve per capire se una superficie è perfettamente orizzontale.
Grazie all’accelerometro possiamo misurare l’inclinazione e visualizzare se il piano è in bolla.
Questo tipo di sistema è utilizzato in:
Alla fine del progetto avremo costruito una livella digitale che indica se una superficie è in piano.
In questo progetto realizzeremo una livella digitale utilizzando un sensore accelerometro MPU6050.
Una livella serve per capire se una superficie è perfettamente orizzontale.
Grazie all’accelerometro possiamo misurare l’inclinazione e visualizzare se il piano è in bolla.
Questo tipo di sistema è utilizzato in:
- strumenti da lavoro
- edilizia
- app per smartphone
- dispositivi di misura
Alla fine del progetto avremo costruito una livella digitale che indica se una superficie è in piano.
Materiale necessario
🧰 Non hai ancora i componenti?
👉 Kit Arduino consigliato:
https://amzn.to/4b3dxjW
📘 Scopri i miei libri:
https://amzn.to/4rfzjXE
- Arduino Uno (o compatibile)
- Sensore MPU6050
- Breadboard
- Cavi jumper
🧰 Non hai ancora i componenti?
👉 Kit Arduino consigliato:
https://amzn.to/4b3dxjW
📘 Scopri i miei libri:
https://amzn.to/4rfzjXE
Schema di collegamento
Sensore MPU6050 (I2C)
Collegamenti:
Sensore MPU6050 (I2C)
Collegamenti:
- VCC → 5V Arduino
- GND → GND Arduino
- SDA → A4 Arduino
- SCL → A5 Arduino
Librerie necessarie
Per questo progetto è necessario installare alcune librerie nell'IDE di Arduino.
Librerie richieste:
Come installare le librerieApri l'IDE di Arduino e vai su:
Sketch → Include Library → Manage Libraries
Installa:
La libreria Wire è già inclusa.
Per questo progetto è necessario installare alcune librerie nell'IDE di Arduino.
Librerie richieste:
- Wire
- MPU6050
Come installare le librerieApri l'IDE di Arduino e vai su:
Sketch → Include Library → Manage Libraries
Installa:
- MPU6050
La libreria Wire è già inclusa.
Codice Arduino
Progetto 78 - Livella digitale
Come funziona il programma
Il sensore MPU6050 misura l’accelerazione sui tre assi.
I valori vengono letti tramite:
getAcceleration()
Successivamente vengono convertiti in valori più leggibili dividendo per:
16384
Questo permette di ottenere valori vicini a:
Il programma controlla se i valori sono vicini a zero:
abs(x) < 0.05
Se entrambe le condizioni sono vere, il sistema indica che la superficie è in piano.
Il sensore MPU6050 misura l’accelerazione sui tre assi.
I valori vengono letti tramite:
getAcceleration()
Successivamente vengono convertiti in valori più leggibili dividendo per:
16384
Questo permette di ottenere valori vicini a:
- 0 → piano
- diverso da 0 → inclinato
Il programma controlla se i valori sono vicini a zero:
abs(x) < 0.05
Se entrambe le condizioni sono vere, il sistema indica che la superficie è in piano.
Varianti possibili
Livella con LED
Un LED verde può indicare quando la superficie è perfettamente in piano.
Livella con display OLED
Mostrare inclinazione e stato direttamente su display.
Livella grafica
Visualizzare una “bolla” come nelle vere livelle.
Livella con LED
Un LED verde può indicare quando la superficie è perfettamente in piano.
Livella con display OLED
Mostrare inclinazione e stato direttamente su display.
Livella grafica
Visualizzare una “bolla” come nelle vere livelle.