domenica 15 gennaio 2023

ARDUINO ESPLORA


Arduino Esplora è una scheda microcontrollore basata sull'architettura ATmega32u4, progettata per l'apprendimento e la prototipazione di progetti di elettronica.
È dotata di un microprocessore a 8 MHz, 32 KB di memoria flash e 2.5 KB di SRAM. Inoltre, integra una serie di sensori e attuatori, tra cui un accelerometro, un giroscopio, una porta USB, una porta audio, un microfono e una serie di tasti e LED.

Il prezzo di Arduino Esplora su Amazon varia a seconda del venditore, ma solitamente si trova intorno ai 30-40 euro.

Il punto di forza di Arduino Esplora è la sua facilità d'uso e la sua versatilità. Grazie ai suoi sensori e attuatori integrati, gli utenti possono iniziare a creare progetti immediatamente senza dover acquistare componenti aggiuntivi. Inoltre, è dotata di una serie di tutorial e di una comunità di utenti attivi, che fornisce supporto agli utenti meno esperti.

Le debolezze di Arduino Esplora sono la sua limitata capacità di memoria rispetto ad altre schede Arduino, e la mancanza di alcuni componenti come il modulo Wi-Fi o il modulo LoRa per la comunicazione a lunga distanza.

Con Arduino Esplora, gli utenti possono creare facilmente progetti come giochi interattivi, dispositivi di monitoraggio ambientale, sistemi di controllo della casa e molto altro. Ad esempio, è possibile utilizzare l'accelerometro per creare un gioco in cui l'utente deve inclinare la scheda per far muovere un personaggio, o utilizzare il microfono per creare un sistema di riconoscimento vocale.


Arduino Esplora è un'ottima scelta per chi vuole iniziare a creare progetti di elettronica e apprendere le basi della programmazione.
Offre una combinazione unica di facilità d'uso e versatilità, rendendolo un ottimo strumento per gli studenti, gli appassionati di elettronica e per chi vuole imparare a creare progetti elettronici. Inoltre, con i suoi sensori e attuatori integrati, permette di creare progetti interattivi e divertenti. Per questo motivo, è un'ottima scelta per chi vuole ampliare il proprio kit di oggetti vari.

venerdì 13 gennaio 2023

DISPLAY LCD 16X2 E L'IMPORTANZA DEL MODULO I2C

Un display LCD 16x2 funziona utilizzando la tecnologia LCD (Liquid Crystal Display), che utilizza cristalli liquidi per modificare la quantità di luce che passa attraverso una finestra di visualizzazione.

Il display è composto da due parti principali: un pannello LCD e un driver LCD. Il pannello LCD è composto da una serie di cristalli liquidi incapsulati tra due lastre di vetro o plastica, con una serie di polarizzatori e filtri colorati posizionati tra di essi.


Il driver LCD è un circuito elettronico che controlla la polarizzazione dei cristalli liquidi all'interno del pannello LCD. Ciò viene fatto inviando una tensione elettrica attraverso una serie di fili collegati ai cristalli liquidi. Quando una tensione viene inviata attraverso un cristallo liquido, esso si orienta in modo da permettere o bloccate la luce che passa attraverso di esso.

Il display LCD 16x2 è un componente molto utile per la visualizzazione dei dati in molti progetti di Arduino. Esso consente di visualizzare fino a 16 caratteri per riga su una schermata di 2 righe.

Il display LCD utilizza una interfaccia chiamata I2C per comunicare con il microcontrollore di Arduino. 

I2C è un'interfaccia di comunicazione a 2 fili che consente a più dispositivi di comunicare tra loro utilizzando lo stesso bus di dati e di clock. Ciò significa che è possibile collegare fino a 128 dispositivi diversi utilizzando solo 2 pin del microcontrollore.

L'importanza del modulo I2C nei progetti di Arduino è dovuta alla sua semplicità d'uso e alla sua flessibilità. Grazie all'utilizzo dell'I2C, è possibile collegare molti dispositivi diversi al microcontrollore senza dover utilizzare un gran numero di pin. Ciò rende possibile creare progetti più complessi con meno componenti, risparmiando spazio sulla scheda di sviluppo e rendendo più facile il cablaggio.

Inoltre, poiché molti dispositivi utilizzano l'interfaccia I2C, è facile trovare librerie per Arduino che gestiscano la comunicazione con questi dispositivi, il che rende ancora più semplice l'utilizzo dei componenti nei progetti.

Esso è un componente molto versatile e può essere utilizzato in molti progetti diversi, come la creazione di un contatore, un cronometro, una visualizzazione della temperatura e dell'umidità, un indicatore di stato per un sistema di automazione domestica e molto altro ancora.

Il display può essere alimentato a 5V o 3.3V a seconda del modello scelto e può essere controllato utilizzando solo 2 pin del microcontrollore, uno per il bus di dati (SDA) e uno per il bus di clock (SCL). 
Ciò significa che è possibile utilizzare il display LCD 16x2 con una vasta gamma di microcontrollori, tra cui Arduino, Raspberry Pi, PIC, AVR e molti altri ancora.

Per utilizzare il display LCD 16x2 con Arduino, è necessario utilizzare una libreria specifica per gestire la comunicazione I2C tra il display e il microcontrollore. 
Ci sono molte librerie disponibili online, tra cui la libreria LiquidCrystal_I2C, che è molto facile da utilizzare e include molte funzioni per gestire il display.

Notiamo nelle immagini qui sotto, la quantità di pin utilizzati senza usare il modulo I2C:

Ora osserviamo quest'altra immagine con il modulo I2C collegato:



Possiamo notare la quantità di pin risparmiati.


Si può dire che il display LCD 16x2 con interfaccia I2C è un componente molto utile e versatile per la visualizzazione dei dati in molti progetti di Arduino. Grazie alla sua semplicità d'uso e alla sua flessibilità, è possibile creare progetti più complessi con meno componenti, rendendo più facile il cablaggio e il funzionamento. 
Inoltre, l'utilizzo di librerie specifiche per gestire la comunicazione I2C rende ancora più semplice l'utilizzo del display LCD 16x2 con Arduino.

Ecco un esempio di codice per Arduino che utilizza la libreria LiquidCrystal_I2C per visualizzare caratteri casuali sul display LCD 16x2:


#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // Crea un'istanza del display LCD con indirizzo I2C 0x27, 16 colonne e 2 righe

void setup() {
  lcd.init(); // Inizializza il display
  lcd.backlight(); // Accende la retroilluminazione
  randomSeed(analogRead(A0)); // Inizializzazione del generatore di numeri casuali
}

void loop() {
  lcd.clear(); // Pulisce il display
  for (int i = 0; i < 16; i++) { // ciclo per stampare 16 caratteri casuali
    char randomChar = random(33, 127); // genera un carattere casuale tra 33 e 126
    lcd.print(randomChar); // stampare il carattere casuale
  }
  delay(1000); // aspetta 1 secondo
}

In questo esempio, la prima riga include la libreria Wire.h, che è necessaria per l'utilizzo dell'interfaccia I2C, e la libreria LiquidCrystal_I2C.h per gestire la comunicazione con il display.

Nella seconda riga, creiamo un'istanza del display LCD con l'indirizzo I2C 0x27, 16 colonne e 2 righe.

Nella funzione setup(), utilizziamo la funzione 'lcd.init()' per inizializzare il display e la funzione 'lcd.backlight()' per accendere la retroilluminazione. Inoltre, la funzione 'randomSeed(analogRead(A0))' serve per inizializzare il generatore di numeri casuali utilizzando un valore letto dall'ingresso analogico A0.

Nella funzione loop() utilizziamo la funzione 'lcd.clear()' per pulire il display e un ciclo for per stampare 16 caratteri casuali generati dalla funzione 'random(33, 127)' che genera un numero intero casuale tra 33 e 126, rappresentante i codici ASCII stampabili. Ogni carattere generato viene stampato con la funzione 'lcd.print()'.

Dopo la stampa, un ritardo di 1 secondo è utilizzato per lasciare il tempo di visualizzare i caratteri generati.

VARI MODELLI DI SCHEDE ARDUINO


Ci sono molti modelli di schede Arduino disponibili, alcuni dei più comuni sono:

  1. Arduino UNO: Questo è il modello di scheda più popolare e utilizzato. Ha 14 pin di ingresso/uscita, 6 pin di ingresso analogico, una porta USB per la connessione al computer e un'alimentazione a 9V.

  2. Arduino Mega: Questa scheda ha più pin di ingresso/uscita rispetto all'UNO (54), più pin di ingresso analogico (16) e una maggiore memoria di programma. È ideale per progetti più grandi e complessi.

  3. Arduino Nano: Questa scheda è più piccola dell'UNO e non ha la porta USB integrata. È alimentato tramite una porta mini-USB o con un connettore di alimentazione esterno.

  4. Arduino Pro Mini: Questa scheda è ancora più piccola della Nano e utilizza un microcontrollore ATmega328. È ideale per progetti di piccole dimensioni o per l'utilizzo in dispositivi a bassa potenza.

  5. Arduino Leonardo: Questa scheda ha un microcontrollore ATmega32u4 e una interfaccia USB integrata che permette la connessione come un dispositivo HID (Human Interface Device) come un mouse o una tastiera.

  6. Arduino Micro: è una versione più piccola della scheda Leonardo, con dimensioni simili a quelle della scheda Nano.

  7. Arduino Due
    Arduino Due: Questa scheda ha un microcontrollore SAM3X8E ARM Cortex-M3 e un clock a 84 MHz. È ideale per progetti che richiedono una maggiore velocità di elaborazione.

  8. Arduino Yùn: Questa scheda combina un microcontrollore Arduino con un processore Linux e una connessione WiFi. È ideale per progetti che richiedono una connessione a Internet o al cloud.

    Arduino Yùn

  9. Arduino MKR1000: è una scheda collegata alla rete wireless, basata su un microcontrollore SAMD21 Cortex-M0+ e una connessione WiFi.

  10. Arduino MKR Zero: è una scheda con microcontrollore SAMD21 Cortex-M0+ e una connessione audio digitale.

  11. Arduino Pro



    Arduino Pro: è una scheda con microcontrollore ATmega328 e alimentazione a 3,3V
  12. Arduino Mini: è una scheda con dimensioni ridotte e microcontrollore ATmega328.
  13. Arduino LilyPad: è una scheda progettata per progetti di tessuti interattivi e indossabili.
  14. Arduino Esplora: è una scheda progettata per l'educazione e l'apprendimento con sensori e interfacce integrate.
  15. Arduino Gemma: è una scheda con dimensioni ridotte e microcontrollore ATtiny85.
  16. Arduino Due: è una scheda con microcontrollore SAM3X8E ARM Cortex-M3 e un clock a 84 MHz.
  17. Arduino BT: è una scheda con microcontrollore ATmega328 e connessione Bluetooth integrata.
  18. Arduino Zero: è una scheda con microcontrollore SAMD21 Cortex-M0+ e clock a 48 MHz.
  19. Arduino Tre

    Arduino Tre: è una scheda con microcontrollore ATSAM3X8E e connessione WiFi integrata.
  20. Arduino MKR GSM 1400: è una scheda con microcontrollore SAMD21 Cortex-M0 + e connessione GSM per la connettività cellulare
  21. Arduino 101: è una scheda con microcontrollore Intel Curie e connessione Bluetooth integrata.
  22. Arduino MKR1000: è una scheda con microcontrollore ATSAMD21 Cortex-M0 + e connessione WiFi integrata.
  23. Arduino MKR1010: è una scheda con microcontrollore ATSAMD21 Cortex-M0 + e connessione WiFi e LoRa integrata.
  24. Arduino MKR Vidor 4000: è una scheda con microcontrollore ATSAMD21 Cortex-M0+ e integrato FPGA.
  25. Arduino MKR ZERO: è una scheda con microcontrollore ATSAMD21 Cortex-M0 + e connessione audio digitale.
  26. Arduino MKR ENV Shield: è una scheda di espansione per Arduino MKR con sensori ambientali integrati.
  27. Arduino MKR Fox 1200: è una scheda con microcontrollore ATSAMD21 Cortex-M0 + e connessione Sigfox integrata.
  28. Arduino MKR WAN 1300: è una scheda con microcontrollore ATSAMD21 Cortex-M0 + e connessione LoRa integrata.
  29. Arduino MKR GPS Shield: è una scheda di espansione per Arduino MKR con modulo GPS integrato.
  30. Arduino MKR Motor Carrier: è una scheda di espansione per Arduino MKR per il controllo di motori.
  31. Arduino Nano 33 IoT: è una scheda con microcontrollore ATSAMD21 Cortex-M0+ e connessione WiFi e Bluetooth integrata.
  32. Arduino Nano 33 BLE: è una scheda con microcontrollore ATSAMD21 Cortex-M0+ e connessione Bluetooth integrata.
  33. Arduino Nano Every: è una scheda con microcontrollore ATSAMD21 Cortex-M0+ e capacità di espansione tramite pin.
  34. Arduino Nano 33 BLE Sense: è una scheda con microcontrollore ATSAMD21 Cortex-M0+ e sensori ambientali integrati e connessione Bluetooth.
  35. Arduino Nano RP2040 Connect: è una scheda con microcontrollore RP2040 e connessione WiFi e Bluetooth integrata.
  36. Arduino Uno WiFi Rev2: è una scheda con microcontrollore ATmega328P e connessione WiFi integrata.
  37. Arduino MKR Vidor 4000: è una scheda con microcontrollore ATSAMD21 Cortex-M0+ e integrato FPGA.
  38. Arduino Mega 2560 Rev3: è una scheda con microcontrollore ATmega2560 e un gran numero di pin di ingresso/uscita.
  39. Arduino Mega ADK: è una scheda con microcontrollore ATmega2560 e un gran numero di pin di ingresso/uscita e interfaccia per dispositivi Android.
  40. Arduino Leonardo ETH: è una scheda con microcontrollore ATmega32U4 e connessione Ethernet integrata.
Questi sono solo alcuni dei modelli di schede Arduino disponibili, ci sono molti altri modelli progettati per specifiche e esigenze.
È importante scegliere quello più adatto al proprio progetto specifico tenendo in considerazione le caratteristiche e specifiche del modello.

Nel nostro blog prossimamente pubblicheremo un articolo che spiegherà in maniera un po' più approfondita tutti i diversi modelli di schede Arduino disponibili. 

In questo blog, descriveremo le caratteristiche e le specifiche di ogni modello, in modo che tu possa capire meglio quali sono i pro ed i contro di ogni scheda e scegliere quella più adatta al tuo progetto specifico. 

In questo blog, ti forniamo anche esempi di progetti che possono essere realizzati con ogni scheda, in modo da aiutarti a capire meglio come utilizzare ogni modello. Sarà scritto in un linguaggio semplice e facile da capire, perché vogliamo che sia accessibile a tutti, anche a chi si avvicina per la prima volta all'utilizzo di Arduino.