HomeFORMAZIONE SCUOLARobot a sangue freddo e sangue caldo alla primaria

Robot a sangue freddo e sangue caldo alla primaria

In questo post vedremo come far reagire un robot alle variazioni di temperatura, utilizzando un apposito sensore e cercando di imitare il comportamento di animali a sangue freddo e a sangue caldo.

Per la scuola primaria i prodotti migliori per questo scopo sono Mbot (che ha incluso il sensore di temperatura, a differenza di LEGO WeDo o Engino) o robot fai da te stampati in 3D. Inoltre, tale attività si presta meglio per laboratori dedicati alle ultime classi della primaria e impiegando un linguaggio di programmazione a blocchetti.

 

Nei laboratori di robotica fai da te, che solitamente conduciamo, usiamo il robot diy EDUino, un robot insetto, interamente stampabile in 3D, dotato di 3 motori e basato sulla piattaforma Arduino, programmabile anche con Mblock (il software a blocchetti usato per programmare Mbot).

Una volta stampato il robot, gli studenti possono assemblarlo con cacciaviti, bulloni, lima, colla a caldo, ecc… e questa di solito è una fase molto apprezzata.

Sensori di temperatura

I sensori di temperatura che si possono usare sia con Mbot, sia con Arduino sono:

  • DHT11 per Mbot. E’ simile a quello che si usa per Arduino ed ha lo stesso funzionamento (l’unica differenza sta nel fatto che quello per Mbot si collega tramite un unico cavo, mentre quello per Arduino è collegabile tramite pin separati). E’ un sensore digitale, sensibile sia alla temperatura, che all’umidità.

  • Di solito i sensori di temperatura non vengono usati per generare un’azione istantanea del robot (come nel caso del sensore ultrasuoni o del sensore infrarossi), ma per il monitoraggio ambientale e per la raccolta delle informazioni dall’ambiente e la loro visualizzazione, poiché la temperatura non varia in maniera repentina e quindi è difficile ottenere una reazione immediata del robot.

     

    • LM35 per Arduino. E’ di tipo analogico e può essere direttamente collegato ad un ingresso di Arduino, per rilevare la tensione elettrica che misura la temperatura.

    Esso viene inserito nella breadboard con i piedini nella stessa linea dei cavi virtuali che vanno alle porte di Arduino, non occorrono resistenze.

  • LM35 in Circuits

    Vediamo una simulazione di LM35 con Circuits, un’applicazione che si trova all’interno di Tinkercad (il programma di modellazione 3D per principianti), con la quale è possibile fare simulazioni di circuiti Arduino ed Mbot, utilizzando sia il codice testuale che quello a blocchetti (simile a Scratch).

Entrando in Circuits, apriamo la prima simulazione da noi preparata.

La simulazione è molto semplice, bastano 3 cavi per collegare Arduino al sensore: il 5volt (polo positivo, per l’alimentazione), il ground (che è la terra, il polo negativo) e il cavetto centrale che è ciò che rileva il sensore.

Il codice è il seguente:

 

 

 

 

Il codice dà istruzioni di scrivere sulla finestra monitor seriale il valore letto dal pin analogico A0 e andare a capo.

Per avviare la simulazione si clicca su “Avvia simulazione” in alto a destra e viene stampato un valore, che però non è la temperatura in gradi Celsius, ma è il valore di variazione della tensione elettrica rilevato dalla porta A0 di Arduino.

Se virtualmente modifichiamo la temperatura, agendo sullo slider, vedremo che più si alza la temperatura, più si alza il valore sul monitor seriale.

Se vogliamo che venga stampato un valore di temperatura in gradi Celsius, dobbiamo utilizzare alcune formule di conversione.

Il sensore appena mostrato, LM35, è il più semplice da usare per far rispondere il robot alla temperatura.

 

LM35 e pattern motorio

Apriamo un’altra simulazione  per lavorare sul pattern motorio del robot EDUino.

Anche in questo caso il codice è molto semplice: oltre alla riga con la quale facciamo scrivere sul monitor seriale il valore rilevato dal sensore di temperatura, inseriamo una condizione tramite il blocco “se” (se il valore che viene letto dalla porta A0 è maggiore di 30, allora avviene il movimento dei 3 motori del robot che riproducono uno schema di movimento, altrimenti i motori stanno fermi).

Il codice è il seguente:

 

Avviamo la simulazione, se con il tasto destro del mouse muoviamo la maniglia che permette di variare il valore della temperatura, fino a ridurre il valore rilevato ad un numero inferiore a 30, vediamo che i motori si fermano. Anche in questo caso il codice è molto semplice.

DHT11 in Mblock

Vediamo il sensore che è incluso in Mbot: DHT11.

Apriamo Mblock, dopo aver collegato la nostra scheda, in questo caso Arduino.

Per collegare la scheda:

  1. Scegliere la scheda giusta all’interno del menù “Schede”;
  2. Entrare in modalità Arduino, per cambiare la visualizzazione.

Come avviene per i robot originali Mbot, quasi tutti i blocchetti specifici sono sotto il menù Robot (ad esempio: lettura di un ingresso digitale/analogico; suonare una nota su una determinata uscita per far suonare i cicalini; scrittura del testo seriale; lettura del sensore ad ultrasuoni, ecc…). Gli altri menù che possiamo usare con i robot sono: gli operatori matematici, le strutture di controllo (“se”, “se…altrimenti”, “ripeti”, “attendi”), il blocco per la creazione delle variabili.

Quando si programma in Scratch si programma per un oggetto grafico, mentre quando programmiamo il robot, che è un oggetto esterno, i menù che si riferiscono ad oggetti grafici vengono oscurati.

Per avere questi blocchetti abbiamo dovuto installare un’estensione, seguendo i passaggi: Estensione (dal menù in alto) > Gestisci estensioni. Abbiamo cercato gli accessori che aumentano le possibilità di programmazione, poiché aumentano i blocchetti. In questo caso abbiamo selezionato DHT extension.

Analizziamo il codice: dopo Programma Arduino, troviamo il ciclo per sempre, poi il riferimento al nostro sensore prova e il collegamento al pin 3 (il modello del sensore è DHT11). L’estensione mette a disposizione le variabili temperatura e umidità, valori di esse verranno scritti sulla porta seriale. Abbiamo inserito, poi, l’attesa di 1 secondo per rallentare il processo.

Per vedere i dati che riceviamo dal sensore, dobbiamo aprire la finestra seriale del programma IDE di Arduino.

Vediamo i valori di 22 C° di temperatura e umidità 47%.

Questo tipo di esercitazione può essere usato negli ultimi anni della primaria.

Se volessimo determinare il movimento al superamento di una certa soglia, potremmo aggiungere al codice un’ulteriore istruzione:

Per approfondire questo argomento, Visita il nostro shop!

Share:

You May Also Like

Quali sono i migliori strumenti tecnologici per potenziare lo sviluppo delle abilità e competenze di lettura, scrittura e calcolo dei...
Molti docenti spesso ci chiedono se veramente l’accesso ai nostri corsi è gratuito…La risposta è sì!Già saprai che siamo un...
Cara/o Docente, l’offerta “Come portare STEAM Academy nella tua scuola” per il mese di settembre comincia oggi! Non perdere l’occasione...
Domande? Chiedici
0