Come già accennato qualche post fa, fortunatamente la caparbietà di due miei studenti Michael e Vlad è tale che sono riusciti a sistemare e mettere in funzione la strumentazione pneumatica, abbandonata da tempo, per costruire un pannello didattico che mi permetterà di strutturare percorsi di approfondimento sull’automazione industriale. Poiché questo lavoro è utile è lodevole, mi piace segnalare l’avanzamento dei lavori su queste pagine con il video che vi allego (un’enorme Grazie al collega Piergiuseppe che li sta guidando). Ora il sistema dovrà essere modificato in modo che sposti e riconosca dei pezzi meccanici in modo da simulare un percorso di una catena di montaggio e quindi metterò mano alla mia dotazione personale con schede: sensoristica varia, bluetooth, WiFi, GSM per strutturare le future evoluzioni:
Controllo remoto via bluetooth che potrà governare remotamente (tablet o smartphone) il movimento dei pistoni.
Controllo remoto via WiFi che potrà governare remotamente (tablet o smartphone) via internet mediante interfaccia web, il movimento dei pistoni.
Tramite scheda GSM, invio degli allarmi.
Evoluzione:
Realizzare su pannello con una centralina di programmazione costituita da un Raspberry Pi 2 da utilizzare per programmare la scheda Arduino che governa il circuito pneumatico.
Le attività che gli studenti mi propongono sono tantissime e sovente capita che alcune proposte, oltre ad essere spendibili da un punto di vista pratico, mi aiutino ad impostare una futura didattica fatta di oggetti che in altro modo verrebbero dismessi o gettati in un angolo a prender polvere.
E’ questo il caso di un vecchio panello di pneumatico che qualche anno fa veniva utilizzato collegato a dei vecchi PLC, negli anni si sono perse diverse componenti e per l’italico disinteresse è stato riposto in un angolo del laboratorio.
Fortunatamente la volontà caparbia e positiva di due mie allievi di 5′, Michael e Vlad, con l’aiuto dell’amico collega Piergiuseppe, ha rimesso in attività il dispositivo. L’idea, nata dal suggerimento dei ragazzi è quella di mostrare come poter pilotare una serie di pistoni usando relè pneumatici e finecorsa, con controllo fatto sia con PLC che con Arduino, ciò mi permetterà, come loro stessi mi hanno chiesto di fare 🙂 di mostrare come è possibile governare oggetti “industriali” (i pistoni) programmando in LADDER con i PLC oppure in C con Arduino. Perchè non raccogliere questa splendida idea e farne una cosa utile?
Mentre l’attenzione dei ragazzi in questo momento è concentrata sulla sistemazione del pannello, io ho cercato una soluzione a bassissimo costo e di immediato utilizzo per interfacciare velocemente Arduino ad una serie di relè che mi potesse governare l’attivazione di una serie di contatti.
L’idea iniziale prevedeva la realizzazione di una scheda con una serie di relè e componentistica accessoria di cui dovevo realizzare un semplice PCB, ma una rapida ricerca mi ha permesso di trovare una soluzione migliore, sia dal punto di vista economico che dal punto di vista di praticità in classe, ho optato per l’acquisto della scheda: 8 Channel 5V Relay Module For Arduino UNO 1280 2560 ARM PIC acquisto fatto su Bangood.
La scheda è composta da ben 8 relè costituiti ciascuno un contatto normalmente aperto ed uno normalmente chiuso, il cui circuito di comando è a 5V e quindi direttamente pilotabile dalle uscite di Arduino, sul circuito di potenza potete collegare dispositivi funzionanti ad una tensione massima di 250VCA 10A oppure 30VCC 10A. Ho effettuato una semplice prova pilotando una striscia led alimentata a 12VCC.
La scheda è dotata di 12 pin:
da IN1 a IN8 abbiamo i comandi dei singoli relè, questi ingressi saranno collegati alle uscite digitali di Arduino
Vcc collegato a 5Vcc di Arduino
GND collegato al GND di Arduino
COM e GND ponticellati tra loro
La scheda dispone, per ciascuno dei relè, di un led che ne mostra l’attivazione.
Nell’esempio riportato di seguito i collegamenti tra scheda Arduino e scheda relè sono:
// Prof. Michele Maffucci
// 06.02.15
// Esempio di attivazione sequenziale di 8 relè
// inizializzazione delle 8 uscite digitali dalla 2 alla 9
void setup() {
for (int i=2; i<10; i++) {
pinMode(i, OUTPUT);
}
}
void loop() {
for (int r=2; r<10; r++) { // sequenza di attivazione e disattivazione dei contatti degli 8 relè
digitalWrite(r, HIGH);
delay(250);
digitalWrite(r, LOW);
delay(250);
}
}
Ho la fortuna di avere a casa e a scuola laboratori ben forniti per svolgere attività di sperimentazione con Arduino, ma il trasporto della componentistica mi costringe molto spesso a portare con me parecchio materiale e non nego che molto spesso esagero. Schede cavi e componenti che ci si porta a spasso nella borsa che spesso sfuggono negli angoli più nascosti.
Per l’esigenza giornaliera a scuola è necessario pochissimo il giusto necessario per impostare una lezione o per scrivere un post sul blog durante un momento di pausa, quindi non è necessario portare con se un intero laboratorio, diverso ovviamente è quando effettuo corsi privati dove ho necessità di portarmi molto materiale. Fino ad oggi avevo utilizzato una soluzione migliorata nel tempo che mi permetteva di portare con me il kit di sopravvivenza di sperimentazione 🙂 qualche anno fa ne avevo fatto un tutorial: Costruire una basetta sperimentale estesa portatile per circuiti elettronici, ma ho la necessità di avere qualcosa di più contenuto che possa essere agevolmente trasportato tra libri e registri nello zaino, per farla breve un Essential Arduino Starter kit.
Ho incominciato a progettare soluzioni da stampare in 3D, ma prima di me qualcuno ci ha pensato, una soluzione brillante che per ora considero la migliore per le mie necessità e la consiglio: The Folding Arduino Lab di Jason Welsh che ringrazio.
Quindi in questo fine settimana ho provveduto a stamparmi questo laboratorio tascabile e per me che amo piccoli attrezzi multifunzione (dai coltellini victorinox ai set di cacciavite e minuterie) avere anche un micro laboratorio trasportabile sempre a portata di mano è… concedetemelo… divertente 🙂
Continuo la recensione del kit sensori di cui avevo parlato qualche giorno fa con questo breve post che nasce dall’esigenza di un lettore del blog che mi ha chiesto come utilizzare il sensor tracking incluso nella confezione. Il sensore si presenta come una piccola scheda elettronica i cui componenti principali sono costituiti da un led emettitore ad infrarossi ed un ricevitore.
Un’applicazione in cui io sfrutto questo sensore è ad esempio per la realizzazione di robot segui linea o ancora per realizzare un contagiri e controllare la velocità di rotazione dei miei prototipi robotico.
Potrete ad esempio di distinguere, per brevi distanza dal sensore, le differenze bianco/nero incontrate su una superficie. Su un apposito pin verrà emesso un segnale di tipo TTL che andremo a leggere con Arduino.
Il sensore è costituito da tre pin, GND, OUT (il segnale) e Vcc.
La sensibilità del sensore può essere regolata mediante un apposito trimmer.
Nell’esempio descritto, per avere percezione visiva e sonora della transizione tra bianco e nero ho utilizzato un led connesso al pin 12 ed buzzer connesso al pin 7. Utilizzerò un foglio bianco su cui ho disegnato due strisce nere.
Lo sketch è estremamente semplice è dovrete semplicemente verificare la presenza dello stato HIGH sul pin 7 di Arduino, accendere il led se si è sulla linea nera ed emettere un suono, oppure se si è sul bianco spegnere il led e non emettere suono.
// Prof. Michele Maffucci
// 25.01.15
// Utilizzo di un Sensor Tracking e di un buzzer passivo
const int pinSensore = 7;
// pin a cui è collegato il sensore
const int pinLed = 12;
// pin a cui è collegato il led
const int pinBuzzer = 4;
// pin a cui è collegato il buzzer
const int frequenza = 440;
// frequenza emessa dal buzzer (440 Hz)
void setup()
{
// inizializzazione del pin sensore, led e buzzer
pinMode(pinSensore, INPUT);
pinMode(pinLed, OUTPUT);
pinMode(pinBuzzer,OUTPUT);
}
void loop()
{
// conserviamo nella variabile var lo stato del sensore
int val = digitalRead(pinSensore);
// verifichiamo se viene letto "NERO"
// se vero accendiamo il led
if(val == HIGH)
{
digitalWrite(pinLed, HIGH); // accende il led
tone(pinBuzzer, frequenza); // viene emesso dal buzzer un suono a frequenza fissata
delay(5); // attesa di 5 millisecondi (in modo da percepire il suono emesso)
}
// altrimenti spegniamo il led
else
{
digitalWrite(pinLed, LOW); // spegne il led
noTone(pinBuzzer); // non viene emesso nessun suono dal buzzer
}
}
Il 21 e il 22 febbraio sarò a Verona (Veronafiere) al Model Expo Italy 2015 la fiera del modellismo più importante d’Italia.
Quest’anno la fiera arricchisce la sua offerta espositiva con nuove sezioni, tra cui per la prima volta si darà spazio ai FabLab e ai progetti che vengono portati avanti al loro interno.
Diversi i FabLab che vi parteciperanno, tra cui: Brescia, Verona, Bologna, altri FabLab si aggiungeranno nei prossimi giorni.
Tratto da Make in Italy:
…Al FabLab Brescia è stata affidata anche la realizzazione di due workshop, uno su Arduino e uno sulla stampa3D. A riguardo abbiamo chiesto un commento a Fabio Caruccio, membro del team: «Siamo molto felici di poter essere presenti e come fablab crediamo nella partecipazione attiva alla manifestazione. Per noi è il modo più efficace per far conoscere e diffondere la filosofia dei fablab agli amanti del modellismo. Un pubblico che da sempre è legato al mondo dei maker. Abbiamo così pensato di organizzare due workshop: il primo sarà dedicato al microcontrollore arduino con particolare riferimento all’applicazione nel modellismo. Il corso sarà tenuto da due professionisti e blogger, conosciuti dall’intero movimento italiano, Michele Maffucci e Mauro Alfieri, che spesso lavorano con il nostro fablab. Michele Faini e Giorgio Bacchetti, invece, gestiranno e cureranno la parte sulle stampanti 3D, che crediamo possano essere tra gli strumenti di supporto più adatti a tutti gli hobbysti e appassionati di modellismo»…
Per chi fosse interessato io svolgerò il workshop la domenica mattina, pubblicherò nei prossimi giorni programma ed orario precisi, ma sarò presente negli stand della fiera già dal sabato e con piacere, per chi lo vorrà, mi rendo disponibile nell’incontrarvi per scambiarsi idee ed opinioni su progetti.