Archivi autore: admin

I miei corsi per Tecnica della Scuola: Didattica attiva con Makey Makey


Esistono numerose metodologie che in modi e tempi di esecuzione diversi permettono al docente di fornire agli studenti le competenze per imparare a sviluppare le proprie potenzialità in assoluta autonomia.

In molte delle attività laboratoriali una delle metodologie più efficaci è quella dell’apprendimento per scoperte guidate, metodologia che si fonda sul costruzionismo di Papert e Piaget. Proprio sul fare e costruire oggetti che interagiscono fisicamente con il mondo reale si basano le numerose schede elettroniche che vengono sempre più utilizzate nella scuola italiana, schede di facile utilizzo, in grado di tradurre una progetto logico in qualcosa di fisico e interattivo e che semplificano la realizzazione di attività di apprendimento per scoperte guidate.

Come spesso accade, però, l’aspetto tecnologico spaventa perché si ritiene complesso o perché si pensa di non avere le giuste competenze per inserire questi strumenti in un’attività di sperimentazione, soprattutto quando ci si rivolge ad allievi della primaria o della secondaria di primo grado.

L’aspetto elettronico ed informatico può essere ridotto moltissimo se si usano dispositivi specifici e tra questi vi è il Makey Makey che si distingue per la possibilità di essere utilizzato in qualsiasi disciplina consentendo la realizzazione di sperimentazioni fortemente interattive. Se quindi si pensa a una didattica del fare, Makey Makey è tra gli strumenti più apprezzati ed utilizzati, offrirà all’allievo un ausilio che gli permetterà di generare in maniera creativa apprendimento e sviluppo di capacità nel risolvere problemi complessi in modo efficiente.

Ma cos’è Makey Makey

Makey Makey è una scheda elettronica che permette di far dialogare il computer con qualsiasi oggetto conduttivo o materiale, e questo fa sì che l’oggetto conduttivo assuma nuove funzioni e significati. Ad esempio si potrà realizzare uno strumento musicale reale utilizzando frutta e verdura come oggetti che attiveranno un suono.

Se la scheda viene opportunamente connessa a una foglia di una pianta il tocco sulla foglia permetterà di attivare una luce o un motorino elettrico o qualsiasi altra azione su un dispositivo elettrico. Makey Makey quindi è in grado di trasformare oggetti di uso quotidiano in sistemi di input per il computer, in quanto emula i tasti della tastiera del computer e per questa sua caratteristica può essere utilizzato efficacemente con Scratch 3.

Il corso

Su questi argomenti il corso che svolgerò: Didattica attiva con Makey Makey nelle seguenti date:

  • Mercoledì 19 gennaio 2022 – Dalle 17.00 alle 19.00
  • Venerdì 21 gennaio 2022 – Dalle 17.00 alle 19.00
  • Venerdì 28 gennaio 2022 – Dalle 17.00 alle 19.00
  • Lunedì 31 gennaio 2022 – Dalle 17.00 alle 19.00

Per maggiori informazioni sui contenuti del corso e le modalità di iscrizione seguire il link allegato

… e restate sintonizzati sui miei social per vedere l’anteprima delle attività che verranno sviluppate durante il corso 🙂

EduRobot Frisbee – Come realizzare la versione in cartone ed usarla a scuola

E’ possibile costruirne un kit di robotico a basso costo con materiali di recupero che abbia valenza didattica?

Come sapete nel mio caso la risposta è sì 🙂

Ho più volte proposto su queste pagine soluzioni di kit robotici che potessero essere sviluppate da colleghi insegnanti che, pur non avendo competenze elevate di informatica ed elettronica, fossero in grado di realizzare con semplicità, attività di robotica con i loro studenti. Recentemente ho svolto due edizioni del corso in Webinar: “Creare un kit robotico a basso costo”, dove ho sviluppato soluzioni con diverse tecnologie. Nell’ultima edizione ho presentato EduRobot Frisbee costruito con materiali diversi per far fronte ad ogni disponibilità economica della scuola. In questi giorni ne sto espandendo le funzionalità e per chi desiderasse tutti i progetti ed una proposta didattica è possibile seguire il progetto su Patreon.

P.S. Per i colleghi che hanno in passato seguito seguito il mio corso in Webinar è sufficiente che mi contattino direttamente via mail per avere tutti gli aggiornamenti del kit.

Grazie per tutti coloro che vorranno sostenere il mio lavoro.

Buon Making a tutti 🙂

Esercitazioni di base di Arduino – visualizzazione luminosità LED mediante una barra di avanzamento su display 16×2


Continuo nell’aggiornamento delle esercitazioni di base per gli studenti di 3′ dell’ITIS (Elettronica ed Automazione) e per gli utenti che iniziano con Arduino.
Utilizzeremo un display LCD 16×2 di tipo I2C su cui visualizzeremo mediante una barra di avanzamento, la quantità di luminosità impostata per il LED, mediante un potenziometro.

Per la gestione di un display LCD di tipo I2C rimando alla mia lezione: Utilizzo dell’LCD 16×2 Hitachi HD44780 1602 con modulo I2C PCF8574T.

Per la creazione di caratteri personalizzati rimando alla mia lezione: Disegnare caratteri personalizzati con Arduino per un LCD 16×2.

Lista componenti

  • N.1 Arduino UNO
  • N.1 Breadboard
  • N.1 LCD 16×2 I2C
  • N.1 Potenziometri da 10 KOhm
  • N.1 LED da 5 mm
  • N.1 Resistore da 220 Ohm
  • jumper

Schema di collegamento

Scketch

Di seguito viene indicato il codice i base, all’interno i commenti che ne dettagliano il funzionamento di ogni parte:

1/*
2   Prof. Maffucci Michele
4   Ver.1 - 27.12.21
5   Controllo di luminosità LED con
6   visualizzazione intensità mediante una
7   barra di avanzamento su display 16x2
8*/
9 
10#include <Wire.h>
11#include <LiquidCrystal_I2C.h>
12 
13byte pinPot = A0;           // pin analogico 0 a cui connettere il potenziometro per controllare la luminosità
14byte pinLed = 3;            // pin PWM a cui connettere il LED
15int  analogVal = 0;         // variabile in cui memorizzare il valore impostato dal potenziometro
16int  luminosita = 0;        // variabile in cui memorizzare la luminosità
17byte barraAvanzamento = 0;  // indice barra avanzamento
18 
19// Per maggiori informazioni sulla realizzazione di caratteri speciali:
21 
22// Carattere personalizzato per disegnare la barraAvanzamento di avanzamento
23byte iconaBarra[8] = {
24  B11111,
25  B11111,
26  B11111,
27  B11111,
28  B11111,
29  B11111,
30  B11111,
31};
32 
33// inizializzazione della libreria in cui è descritta la modalità di utilizzo dei pin
34// impostazione dell'indirizzo dell'LCD 0x27 di 16 caratteri e 2 linee
35LiquidCrystal_I2C lcd(0x27, 16, 2);
36//-----------------------------
37 
38void setup()
39{
40  lcd.begin();      // inizializzazione dell'LCD
41  lcd.backlight();  // attivazione della retroilluminazione
42 
43  // Inpostazione ad OUTPUT del pin a cui connettiamo il LED
44  pinMode(pinLed, OUTPUT);
45 
46  // Cancella il display
47  lcd.clear();
48 
49  // Stampa il messaggio sulla prima riga del display
50  lcd.print("Luminosita' LED");
51 
52  //Creazione del carattere per la barra di avanzamento
53  lcd.createChar(0, iconaBarra);
54}
55 
56// Per maggiori informazioni sull'uso del display 16x2 I2C:
58//-----------------------------
59 
60void loop() {
61  // Cancella il display
62  lcd.clear();
63   
64  // Stampa il messsaggio sulla prima riga
65  lcd.print("Luminosita' LED");
66   
67  //Posiziona il cursore nella seconda riga, prima colonna
68  lcd.setCursor(0,1);
69   
70  // Lettura del valore impostato dal potenziometro
71  analogVal = analogRead(pinPot);
72           
73  // Conversione del valore analogico impostato con il potenziometro
74  // in Duty Cicle per impostare la luminosità del LED
75  luminosita=map(analogVal, 0, 1024, 0, 255);
76   
77  // Impostazione della luminosità del LED
78  analogWrite(pinLed, luminosita);
79   
80  // Conversione della luminosità in quantità di caratteri della barra da stampare
81  barraAvanzamento=map(luminosita, 0, 255, 0, 15);
82   
83  // Stampa la barra di avanzamento
84  for (byte i = 0; i < barraAvanzamento; i++)
85  {
86    lcd.setCursor(i, 1);  
87    lcd.write(byte(0)); 
88  }
89  // leggero ritardo di 500 ms per visualizzare la barra
90  delay(500);       
91}

Proposta esercizi

Esercizio 1
Nell’esempio proposto viene utilizzato un delay() finale per permettere la visualizzazione dei caratteri sul display. Sostituire il delay() ed utilizzare l’istruzione millis() per valutare il tempo trascorso e controllare la stampa dei caratteri sul display.

Esercizio 2
Modificare il programma precedente raddoppiando il numero di caratteri che rappresenta la barra di avanzamento.

Esercizio 3
Modificare l’esercizio proposto variando la barra di avanzamento in funzione dell’approssimarsi al valore massimo o minimo della luminosità.

Esercizio 4
Modificare l’esercizio proposte inserendo un buzzer che emette un suono la cui frequenza varia in funzione dell’intensità luminosa del LED.

Buon Making a tutti 🙂

Buone Feste

Un sincero augurio a tutti coloro che mi conoscono nel mondo virtuale e nel mondo reale. Con la speranza che queste feste siano per voi piene di serenità e tante attività creativi elettroniche, auguro a tutti voi Buone Feste 🙂

Esercitazione di Sistemi Elettronici – Arduino – impianto semaforico ad 1 via

Questa esercitazione è dedicata ai miei studenti di 3′ (Automazione ed Elettronica Biomedicale) che come compito per le vacanze natalizie dovranno, partendo dall’esempio svolto, realizzare le 4 varianti richieste al fondo di questa lezione.

Introduzione

  • In questo progetto bisognerà realizzare l’impianto semaforico per automobili e modificarlo secondo le specifiche indicate al fondo di questo post
  • vengono utilizzati 3 LED: verde, giallo e rosso per simulare un semaforo reale
  • vengono utilizzati 2 LED : verde e rosso per simulare il semaforo per i pedoni
  • è presente un pulsante di richiesta attraversamento per i pedoni

Lista componenti

  • 1 Breadboard
  • 1 Arduino UNO
  • 3 LED da 5mm (rosso, giallo, verde)
  • 2 LEd da 5mm LED (rosso, verde)
  • 5 resistori da 220 Ohm
  • 1 resistore da 10 kOhm
  • 1 pulsante normalmente aperto
  • jumper

Collegamenti

Sketch

Per la realizzazione di questo progetto non avrete necessità di nessuna libreria da aggiungere all’IDE di Arduino.

L’automazione del semaforo sarà la seguente:

  • Il semaforo per le automobili è sempre verde e la luce pedonale risulta sempre rossa a meno che qualcuno preme il pulsante.
  • Quando viene premuto il pulsante dal pedone:
    • il semaforo auto cambia da giallo e successivamente si spegne il giallo e si accende il rosso;
    • sul semaforo pedonale si spegne il rosso e si accende il verde;
    • le luci del semaforo pedonale rimangono in questo stato per un tempo pari a tempoAttraversamento
    • successivamente il verde del semaforo pedonale lampeggia, terminata la sequenza di lampeggio si spegne e si accende il rosso;
  • il semaforo delle auto passa da rosso a verde

Tutte queste funzioni sono svolte dalla funzione cambiabentoLuci().

1/*
2   Prof. Maffucci Michele
3   Ver.1 - 22.12.21
4   Impianto semaforico con attraversamento
5   pedonale a richiesta
6*/
7 
8// pin a cui sono connessi i LED
9byte rossoAuto = 13;
10byte gialloAuto = 12;
11byte verdeAuto = 11;
12byte rossoPedone = 10;
13byte verdePedone = 9;
14 
15// pin a cui è connesso il pulsante di richiesta
16byte pulsante = 8;
17 
18// tempo massimo di attraversamento del pedone
19int tempoAttraversamento = 10000;
20 
21// definizione della variabile per l'impostazione
22// del cambio stato del semaforo auto
23unsigned long tempoCambio;
24 
25void setup() {
26  // inizializzazione timer
27  tempoCambio = millis();
28 
29  // inizializzazione dei pin come OUTPUT
30 
31  pinMode(rossoAuto, OUTPUT);
32  pinMode(gialloAuto, OUTPUT);
33  pinMode(verdeAuto, OUTPUT);
34  pinMode(rossoPedone, OUTPUT);
35  pinMode(verdePedone, OUTPUT);
36 
37  // inizializzazione pin come INPUT
38  pinMode(pulsante, INPUT);
39 
40  // accensione luci verdi
41  // all'avvio le auto hanno il verde e i pedoni il rosso
42  digitalWrite(verdeAuto, HIGH);
43  digitalWrite(rossoPedone, HIGH);
44  digitalWrite(rossoAuto, LOW);
45  digitalWrite(gialloAuto, LOW);
46  digitalWrite(verdePedone, LOW);
47 
48  // inizializzazione della Serial Monitor
49  Serial.begin(9600);
50}
51 
52void loop() {
53  // la variabile state viene utilizzata per sapere se il
54  // pulsante di attraversamento viene premuto
55  int stato = digitalRead(pulsante);
56 
57  // lo stato del pulsante viene visualizzato sulla Serial Monitor
58  Serial.println(stato);
59 
60  // Se viene premuto il pulsante e se sono
61  // passati 5 secondi dall'ultima pressione del pulsante
62 
63  if (stato == HIGH && (millis() - tempoCambio) > 5000) {
64    // chiama la funzione per il cambio luci
65    cambioLuci();
66  }
67}
68 
69void cambioLuci() {
70  digitalWrite(verdeAuto, LOW);      // il LED verde viene spento
71  digitalWrite(gialloAuto, HIGH);    // il LED giallo viene acceso per 2 secondi
72  delay(2000);
73 
74  digitalWrite(gialloAuto, LOW);    // il LED giallo viene spento
75  digitalWrite(rossoAuto, HIGH);    // il LED rosso viene acceso per 5 secondi
76 
77  digitalWrite(rossoPedone, LOW);   // il LED rosso del pedone viene spento
78  digitalWrite(verdePedone, HIGH);  // il LED verde del pedone viene acceso
79  delay(tempoAttraversamento);
80 
81  // lampeggio del LED verde dei pedoni
82  for (int x = 0; x < 10; x++) {
83    digitalWrite(verdePedone, LOW);
84    delay(100);
85    digitalWrite(verdePedone, HIGH);
86    delay(100);
87  }
88  digitalWrite(verdePedone, LOW);
89  digitalWrite(rossoAuto, LOW);
90  digitalWrite(rossoPedone, HIGH);
91  digitalWrite(verdeAuto, HIGH);
92 
93  tempoCambio = millis();
94}

Esercizio 1
Aggiungere un sensore ad ultrasuoni che rileva la presenza del pedone in fase di attraversamento, fino a quando viene rilevato il pedone viene mantenuto il verde per il pedone ed il rosso per le auto. E’ presente sempre il pulsante di richiesta attraversamento.

Esercizio 2
Ampliare l’esercizio 1 aggiungendo un display a 7 segmenti utilizzato come conto alla rovescia (da 9 a 0) per i pedoni quando attraversano.

Esercizio 3
Ampliare l’esercizio 1 aggiungendo un buzzer che con un segnale pulsante variabile, indica l’approssimarsi del rosso.

Esercizio 4
Ampliare l’esercizio proposto in questa lezione trasformando l’impianto semaforico da 1 via a 4 vie con rispettivi attraversamenti pedonali sulle 4 strade.

Per coloro che non sono miei studenti, sul mio Patreon nei prossimi giorni verrà proposta:

  • La soluzione a tutti gli esercizi proposti con schemi di collegamento e codice
  • Video di spiegazione
  • Sorgenti STL per la stampa 3D di un semaforo da poter essere inseriti all’interno di un plastico
  • Proposta progettuale per la realizzazione di un kit didattico per lo sviluppo di questa tipologia di esercizi.

Buon Making a tutti.