Il Cestino Smart scomposto

L’ultimo decennio è stato contrassegnato da un aumento delle problematiche legate al rispetto dell’ambiente ed al risparmio energetico. Il riscaldamento del pianeta, la guerra in Ucraina e la conseguente crisi energetica, impongono tutti a ripensare alle abitudini quotidiane.

La scuola ha il dovere di intervenire sulle nuove generazioni, fornendo loro le competenze e la sensibilità necessaria per rispettare il nostro pianeta.

Noi di Arduino Facile siamo convinti che i piccoli gesti, quelli concreti, alla portata di tutti, siano quelli che maggiormente ci avvicinano alla realtà, che, a volte, ci sembra lontana da noi.

All’ITIS “E.Mattei” di Urbino (https://www.itisurbino.edu.it/), gli studenti della 3BMC, dell’indirizzo di Meccanica e Meccatronica, si sono cimentati nella realizzazione di un cestino “intelligente”, che, alle pratiche igieniche, unisca ad esempio la raccolta differenziata dei rifiuti.

 

I gruppi al lavoro

Il punto di partenza è stato il nostro articolo https://www.arduinofacile.it/2021/05/13/il-cestino-smart/

Successivamente la classe è stata divisa in gruppi di 4/5 studenti che hanno lavorato in modalità jigsaw: ogni componente si è specializzato in una particolare competenza, che poi ha condiviso con i compagni.

Il resto è stato un mix di fantasia ed immaginazione…

Ogni gruppo, infatti, ha interpretato a suo modo la consegna, ed ha elaborato una propria versione del cestino smart. Ne è nata una competizione agguerrita in cui ha avuto la meglio il gruppo denominato “Marrakesh” che ha realizzato un cestino con apertura a due ante, e una spia ad indicare il riempimento.

Le istruzioni di montaggio sono disponibili nella seguente presentazione preparata dai componenti del gruppo

Al secondo posto si è piazzata un’altra versione, ancora più amica dell’ambiente: un cestino formato maxi, con due ante, per differenziare i rifiuti

Infine, sul podio un cestino più classico con la segnalazione di apertura.




Il Cestino Smart

Obiettivo: Realizzare un cestino intelligente che si apre quando ci si avvicina, evitando toccarlo.

Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Sensore Ultrasuoni (e.g., HC-SR04)
  • 1 Servomotore (e.g. SG90)
  • 1 Scatolone alto
  • Colla a caldo

Pre-requisiti:


Il Servomotore

Il Sensore a Ultrasuoni


TeoriaIl servomotore è un particolare tipo di motore che consente il controllo della posizione grazie alla componentistica elettronica che ha a bordo. Ad esempio è possibile attivare il servomotore e fermarlo ad un determinato angolo. Alcuni modelli, più avanzati di quello presente in questo esercizio, hanno la possibilità di controllare anche la velocità di rotazione. Il modello di questa esperienza non consente il controllo della velocità, e il suo asse fa una rotazione di 180 gradi.

Scheda tecnica del servomotore SG90

Il contenitore del cestino viene realizzato con una scatola, di quelle che contengono le risme di carta A4.

Il coperchio della scatola, pesa complessivamente 61 g ma sarà necessario eliminare i bordi in modo che sia più facile spostarlo con il motore.

Facendo qualche calcolo si ricava che la superficie complessiva del coperchio della scatola è 1440 cm2. La densità, quindi è di circa 0,042 g/cm2 e il peso della sola superficie superiore è

0.042 * 600 = 25 g (circa)

Se a questo aggiungiamo gli elementi che servono per sorreggere la struttura, possiamo pensare di arrivare ad un peso di 50 g.

Considerando che il peso della superficie superiore della scatola sia uniformemente distribuito, possiamo ipotizzarlo equivalente ad una forza di circa 0.500 N applicata al centro della superficie.

La coppia che il servomotore dovrà sollevare sarà (0.5 * 0.15)

M = 0,075 Nm (oppure 0,75 Kg-cm)

Dalla scheda tecnica del servomotore si ricava che esso è in grado di erogare una coppia di 2,5 Kg-cm, ben superiore a quella che ci serve.

Per rilevare la presenza della persona e quindi dare l’ordine alla scheda di aprire il cestino, si utilizzerà un sensore ad ultrasuoni HC-SR04

Il sensore di prossimità è un dispositivo che permette di rilevare la presenza di oggetti nelle immediate vicinanze, senza che vi sia un effettivo contatto.
Nel caso specifico, il sensore di prossimità ad ultrasuoni sfrutta il principio del Sonar. Degli impulsi sonori (ultrasonici) vengono emessi dal dispositivo il quale attraverso l’eventuale eco di ritorno permette di rilevare la presenza di un oggetto all’interno della portata nominale. Esempi pratici di sensori ad ultrasuoni sono i sensori di retromarcia e di parcheggio utilizzati nelle moderne automobili.
Nel dettaglio, le principali caratteristiche tecniche del sensore ad ultrasuoni HC-SR04 sono:

  • Alimentazione: +5V DC
  • Angolo di misura: < 30°
  • Distanza di rilevamento: da 2cm a 400cm
  • Risoluzione: 1cm
  • Frequenza: 40kHz

Costruzione del cestino: dal coperchio tagliare le alette e incollare su una delle superfici un bastoncino di legno (noi abbiamo usato una bacchetta da sushi). il bastoncino deve sporgere leggermente rispetto al piano, per permettere di fissarci il servomotore

Ricavare nella scatola, in uno dei lati corti, uno scanso, per permettere la rotazione del piano con il bastoncino.

Fissare il servomotore in corrispondenza del taglio, incollandolo sul fianco della scatola. Se serve, si può aggiungere uno spessore sul fianco del servomotore

Collegare il servomotore al coperchio superiore, fissando la bacchetta alla levetta del servo

Forare il fianco della scatola in modo da poterci alloggiare il sensore ad ultrasuoni. Il sensore può essere fissato anche ad incastro e senza l’uso di colla o nastro adesivo

Collegamento Circuitale:

Codice:

Il sensore ad ultrasuoni, rileva la distanza degli ostacoli che ha di fronte. Se il sensore viene posto sul lato del bidone e gli si avvicina una mano, il sensore rileva la presenza dell’arto e invia il segnale al microcontrollore, il quale, elabora il dato e trasmette il movimento di 90 gradi al servomotore al quale è collegato il coperchio del cestino



Tinkercad




PersonalizzazioniE’ possibile inserire un altro sensore interno al cestino per segnalare quando è pieno





Controllare un Servo Motore tramite Joystick

Obiettivo: Come controllare due servomotori utilizzando un Joystick per Arduino.



Pre-requisiti


Il Servomotore


Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 2 Servomotori
  • 1 Joystick KY-023K

TeoriaIl Joystick è una dispositivo elettronico che trasforma i movimenti di una leva manovrata dall’utente in una serie di segnali elettrici, questi segnali possono essere in seguito utilizzati per controllare un software (e.g., videogame), un’apparecchiatura o un attuatore meccanico. Possono esistere due differenti tipologie di Joystick:

  • Joystick Digitale: Rileva solamente la direzione dell’inclinazione della leva.
  • Joystick Analogico: Rileva anche l’ampiezza dell’inclinazione.

Nello specifico in questo articolo viene illustrato il funzionamento di uno dei controller più tipicamente utilizzati e presenti nei vari kit Arduino: il “Dual Axis Joystick Module KY-023“, Questo dispositivo, basato sul controller della PlayStation2, utilizza due potenziometri bi-assiali per controllare l’asse X e l’asse Y. Inoltre è possibile premere il controller per attivare uno switch. Nello specifico, la tensione di funzionamento del dispositivo è compresa nel range 3.3 – 5 V. Mentre le dimensioni sono pari a 2.6 x 3.4 cm.

Dual Axis Joystick Module KY-023

Nella tabella a seguire è riportata la piedinatura utile per collegare in modo corretto il Joystick KY-023.

KY-023 PIN Descrizione
GND Ground
+5V Alimentazione Vcc
VRx Uscita Analogica (Asse X)
VRy Uscita Analogica (Asse Y)
SW Switch

In questo articolo il Joystick viene utilizzato per comandare due differenti servomotori. Un servo è associato all’asse X ed un altro è invece associato all’asse Y. La posizione di riposo dei due servomotori è per entrambi 90 gradi. Spostando il Joystick lungo l’asse X si può modificare la posizione del servo associato all’asse X di un angolo variabile da 0 a 180 gradi. Lo stesso accade modificando la posizione del joystick lungo l’asse y.

Collegamento Circuitale:

Codice:






Pilotare un Servo Motore tramite Potenziometro

Obiettivo: Ruotare un Servo Motore tramite un potenziometro



Pre-requisiti


Il Servomotore


Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Servomotore
  • 1 Potenziometro

TeoriaIl Servomotore è uno particolare tipo motore ampiamente utilizzato sia in contesti industriali sia nell’ambito del modellismo. Nel dettaglio, il servomotore è impiegato in tutte le applicazioni che prevedono il controllo della posizione di in motore in corrente continua ed il raggiungimento di un determinato angolo in modo preciso indipendentemente dalla posizione iniziale. Le caratteristiche principali del servomotore sono:

Come già accennato, i servo
motori sono dispositivi molto utilizzati in svariati ambiti perché permettono
la rotazione del proprio albero in base ad un angolo prestabilito.

I servomotori sono stati utilizzati per la prima volta nel mondo del modellismo RC, generalmente per controllare lo sterzo delle auto RC o i flap su un aereo RC o per aprire botole su un drone. Con il tempo, hanno trovato il loro uso anche nella robotica, nell’automazione e in svariati progetti Arduino.

Solitamente l’albero può ruotare da 0 a 180 gradi e usando Arduino, possiamo dire a un servo di andare in una posizione specificata

In questo tutorial vedremo come interconnettere il servo motore ad Arduino e come farlo ruotare tramite un potenziometro con pochissime istruzioni.

Collegamento Circuitale:

Risultato:

Codice:






Il Servomotore

Obiettivo: Semplice comando di un servomotore



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Servomotore

TeoriaIl Servomotore è uno particolare tipo motore ampiamente utilizzato sia in contesti industriali sia nell’ambito del modellismo. Nel dettaglio, il servomotore è impiegato in tutte le applicazioni che prevedono il controllo della posizione di in motore in corrente continua ed il raggiungimento di un determinato angolo in modo preciso indipendentemente dalla posizione iniziale. Le caratteristiche principali del servomotore sono:

  • Tensione di alimentazione
  • Coppia Massima (espressa in Kg)
  • Angolo di rotazione

I servomotori sono caratterizzati da tre cavi che devono essere opportunamente collegati ad Arduino:

  • Il cavo di alimentazione positiva (+)
  • Il ground (-)
  • Il controllo

Collegamento Circuitale:

Collegamento Circuitale

Codice:



PersonalizzazioniE’ possibile modificare la velocità e l’angolo di rotazione del servomotore intervenendo direttamente sulle variabili in gioco.