Ciao a tutti Maker,oggi vediamo come si utilizza Arduino uno in Deep Sleep.
Quando si lavora con Arduino Uno, il consumo di energia è sempre un problema da tenere in considerazione, soprattutto se si utilizzano batterie o altre fonti di alimentazione limitate. Fortunatamente, esiste una soluzione che può aiutare a ridurre notevolmente il consumo di energia di Arduino Uno: la modalità di sospensione o “Deep Sleep“.
La modalità di sospensione permette di arrestare o disattivare i moduli non utilizzati nel microcontrollore, riducendo così significativamente il consumo di energia. In questa modalità, vengono spenti tutti i componenti non necessari, come ad esempio i sensori o gli attuatori, e l’MCU (unità microcontrollore) entra in uno stato di basso consumo energetico.
Una delle principali caratteristiche della modalità Deep Sleep è che l’unico modo per svegliare l’Arduino è tramite un’influenza esterna, come ad esempio la pressione di un pulsante. Ciò significa che, a differenza delle altre modalità di sospensione, in cui l’Arduino può essere svegliato tramite un timer o un interrupt, in modalità Deep Sleep l’Arduino non può essere svegliato se non tramite un’influenza esterna.
L’Arduino Uno, così come altre schede come l’Arduino Nano o Pro-Mini, è dotato di un microcontrollore ATmega328P che supporta la modalità Deep Sleep. Inoltre, l’ATmega328P ha un Brown-out Detector (BOD) che monitora la tensione di alimentazione al momento della modalità di sospensione. In questo modo, se la tensione di alimentazione scende al di sotto della soglia impostata, l’ATmega328P entra in modalità di ripristino, evitando danni al microcontrollore.
Se sei interessato a risparmiare energia con Arduino Uno, potresti essere anche curioso di saperne di più sulla creazione di una pedaliera joystick con cambio sequenziale. Leggi il nostro articolo su come utilizzare la libreria UnoJoy e scopri come realizzare questo entusiasmante progetto per il tuo simulatore di guida!
Per utilizzare la modalità Deep Sleep su Arduino Uno, è necessario seguire i seguenti passaggi:
- Disattivare tutti i moduli non utilizzati: prima di mettere Arduino in modalità Deep Sleep, è necessario disattivare tutti i moduli non utilizzati, come ad esempio i sensori o gli attuatori, in modo da ridurre il consumo di energia.
- Configurare il pin di interruzione esterna: il pin di interruzione esterna è il pin che deve essere monitorato per svegliare Arduino dalla modalità Deep Sleep. Questo pin deve essere configurato come input, e deve essere impostato il modo di attivazione dell’interrupt (ad esempio LOW, HIGH o CHANGE).
- Configurare il timer di interrupt: se si desidera che l’Arduino si svegli automaticamente dopo un certo periodo di tempo, è possibile utilizzare il timer di interrupt per programmare il tempo di attesa prima di entrare in modalità Deep Sleep.
- Mettere l’Arduino in modalità Deep Sleep: infine, è possibile mettere l’Arduino in modalità Deep Sleep utilizzando la funzione sleep_mode(), che fa entrare il microcontrollore in modalità di sospensione. L’Arduino rimarrà in questa modalità fino a quando il pin di interruzione esterna