Manuale Trainer tech
Transcript
Manuale Trainer tech
Tutorial progetti .tech Ing. Cozzolino Francesco 1 Tutorial progetti .tech All’interno del progetto denominato .tech alle scuole viene sottoposta una lista di progetti che gli studenti possono realizzare e di cui vengono forniti schemi e software. Il presente manuale rappresenta per il trainer una guida per l’intero percorso: dalla realizzazione dei progetti alla partecipazione alla competizione finale. Sotto è fornita la lista dei progetti da imparare a realizzare, ad una prima vista potrebbe sembrare che il trainer debba raggiunger numerose e comlicate competenze su svariati argomenti. In realtà al trainer verranno fornite le basi per poter assemblare questi progetti, in pratica avrà la possibilità di mettere insieme pezzi premontati come se fosse una grande puzzle. Nello corso di formazione, verrà dato spazio anche ad argomenti trasversali, come la saldatura dei componenti, la lettura degli schemi e la programmazione di Arduino. Il percorso non è da intendersi completato semplicemente con la presenza fisica in aula, ma verrà fornito supporto ed assistenza tecnica via telefono o via Skype. Naturalmente in base all’abilità raggiunta dal trainer, alle capacità della classe ed alla collaborazione del docente si potranno apportare modifiche e miglioramenti ai progetti proposti oppure proporre idee e progetti diversi ed innovativi rispetto a quelli elencati. Condizione indispensabile è l’appartenenza ad uno dei seguenti ambiti: energia, automazione, microcontrollori. 2 Tutorial progetti .tech Area Progetto Descrizione Auto Parking intelligente Visualizza il numero di posti liberi di un autoparking: prototipo realizzato con PIC16F84A Stendino anti pioggia Stendino domestico per l'asciugatura dei vestiti con azionamento della copertura in caso di pioggia (realizzato con PIC16F84A) Segnali stradali intelligenti Sistema per modificare la velocità massima indicata sui segnali stradali in caso di pioggia (realizzato con PIC16F84A) Ciotola per gatti comandata da smart-phone Hai dimenticato di far mangiare il gatto? Riempi la ciotola di croccantini con un comando a distanza (rea-lizzato con scheda arduino) Rilevatore di velocità Sistema di rilevamento della velocità di un automobile e segnalazione di rallentamento in caso di supera-mento del limite (realizzato con scheda arduino) Microcontrollori Risposta esatta Apricancello con cellulare Casa Domotica Semaforo per non vedenti Automazione ed Energia Vuoi testare la preparazione dei tuoi compagni in ita-liano, inglese, matematica? Realizza un congegno in-terattivo in cui su display LCD visualizzi la domanda, scegli la risposta premendo un pulsante, e visualizzi se è corretta Scheda di interfaccia per l'apertura di cancello auto-matico con telefono cellulare Realizzazione di una casa munita di sensori ed attua-tori per l'automazione domotica Semaforo stradale con segnalazione acustica per non vedenti autmatizzato con PLC Controllo automatico di una serra Prototipo di serra agricola con monitoraggio e con-trollo di varie grandezze sia analogiche che digitali automatizzato con PLC Valigetta Multimediale Realizzazione di valigetta in legno munita di prese a 220 V, carica batterie cellulare, i-pod, e luci alimenta-to con energia solare. Ideale per gite a mare o in montagna Campo fotovoltaico grid connect Prototipo di impianto fotovoltaico realizzato in scala munito di tutte le protezioni e le prerogative di un impianto reale Solar Signal Road Segnali stradali alimentati con energia solare Casetta fotovoltaica Realizzazione di Casa in scala alimentata con energia solare e con l'ottimizzazione dei flussi energetici Alimentazione di emergenza Postazione mobile di accumulo di energia da utilizzare in casi di emergenza ad uso domestico Energia Elettrica sotto l'ombrellone Ombrellone in grado di convertire energia solare ed alimentare prese a 220 Volt e carica batterie per cellulare 3 Tutorial progetti .tech Scheda dei criteri di valutazione che saranno utilizzati nelle fiere da parte della giuria Ogni classe verrà divisa in gruppi e pertanto all’interno di una stessa classe potrebbero realizzarsi anche più progetti. Alla fine del percorso tutti i gruppi parteciperanno ad una fiera in cui vi sarà una competizione tra essi e vincerà il progetto che meglio risponderà ad una seria di requisiti indicati sotto. Ogni laboratorio verrà identificato secondo le seguenti informazioni: Nome laboratorio .tech ______________________________________________________ Prodotto/Manufatto_____________________________________________________________ Istituto _____________________________________ città______________________________ La giuria terrà conto dei seguenti 10 aspetti 1. Attinenza ad uno dei seguenti temi: energia rinnovabile, automazione, controllo a distanza, robotica, processi di produzione meccanica 2. Predisposizione a trasformare il prototipo in prodotto o servizio da commercializzare Ad esempio, sarà possibile integrarlo in un impianto già esistente, si può impacchettare? Quando lo si installa è necessaria la presenza di un tecnico? 3. Lavoro eseguito a regola d’arte ai sensi del D.lgs. 37/08 Non lasciare cavi volanti, non utilizzare i colori dei cavi a caso ecc. 4 Tutorial progetti .tech 4. Documentazione Il progetto dovrà essere munito di documentazione tecnica, utile ad esempio in una tesina per esame di stato 5. Presentazione multimediale del manufatto comprensibile anche ai non addetti ai lavori, possibilmente con video anche in lingua inglese Di ogni video va fatta una presentazione tipo quelle di presentazione dei prodotti, anche uguale o simile 6. Coinvolgimento della comunità virtuale (attraverso la piattaforma aziendale) Creare dei gruppi di discussione (anche facebook, whats app) oppure connettersi e comunicare gratuitamente tipo via skype, oppure creare un sito 7. Coinvolgimento di aziende del settore Nel caso si riesca a farsi apprezzare, sponsorizzare, fornire materiale, pubblicità eccetera rappresenta un merito che andrà valutato 8. Sostenibilità dell’azienda Studiare la possibilità che la realizzazione del prodotto possa sfruttare gli scarti di altre aziende (riciclo e riutilizzo), ed eventualmente pensare alla possibilità che i proprio sfridi possano costituire la materia prima per un’altra azienda. X esempio gli sfridi di plastica possono essere materia prima per le stampanti 3D. Oppure dagli sfridi del legno ricavare pellets o altro 9. Strutturazione dell’azienda Distribuire i compiti e collocare la propria azienda sul mercato 10. Oltre al progetto realizzato pensare ad un’idea da sviluppare, sempre a sfondo tecnologico/scientifico/matematico Non deve essere per forza un’idea geniale o complicata ma una cosa che si potrebbe realizzare, poi ci penserà IGS a trovare l’azienda ed organizzarvi uno stage 5 Tutorial progetti .tech Vademecum per partecipare alle fiere / eventi Ribadiamo che la finalità di un percorso denominato “laboratorio .tech” è la partecipazione ad una serie di eventi finali che vanno dall’esposizione dei progetti all’interno dell’istituto di appartenenza alla partecipazione a fiere ed eventi in cui competono i laboratori di altri istituti della stessa provincia. I laboratori giudicati vincitori potranno confrontarsi con quelli di altre scuole di diversa provincia o regione. Si ricorda che il laboratorio vincitore potrà innanzitutto esporre il proprio progetto in un convegno organizzato da “Students Lab” cui partecipano aziende private del settore, associazioni di categoria (confindustria, autorità portuali, confcommercio), mass media (Tv locali, testate locali), enti pubblici (docenti universitari, sindaci, provveditorato, ecc), e poi parteciperà ad uno stage con un’azienda del settore di interesse (fotovoltaico, automazione, allarmi, stampa 3D, ecc). Di seguito si riepiloga il percorso fatto in classe: si creano i gruppi in classe si suppone di essere un’azienda si sceglie nome e logo si sceglie uno dei progetti proposti o (se si è in grado) o un altro con i criteri su citati realizzazione del progetto produzione di video, sito internet, comunità virtuale, documentazione, ecc partecipazione alla fiera (x vincere o quanto meno x fare una bella figura). Non tutte le persone della giuria sono dei tecnici, x cui guarderanno al funzionamento, all’originalità, ma anche alla presentazione, al modo di presentarsi dei ragazzi, alla vitalità dello stand, ecc. 6 Tutorial progetti .tech Quindi faranno domande tecniche e domande inerenti la capacità degli studenti di essere azienda. Allora è necessario preparare i ragazzi a rispondere alle seguenti domande (sono solo degli esempi): Chi realizza un prodotto come la scheda x il cancello automatico potrebbe rispondere: “questa è stata realizzata con Arduino ed a differenza di quelle attualmente sul mercato la si può personalizzare aprendo il cancello con il cellulare. Se non si finisce di realizzare il suddetto progetto, cioè si fa il prototipo ma non funziona correttamente è necessario dire: “per ultimare il progetto bisognava acquistare un’altra scheda (citare nome e caratteristiche) che costava troppo, ma abbiamo trovato o stiamo cercando un’azienda cui piaccia la nostra idea e sia disposta ad ospitarci o a dare questa scheda in conto lavorazione per terminare il progetto e cercare di metterlo sul mercato”. Chi ha realizzato lo stendino per asciugare i panni può dire: l’implementazione è stata fatta su uno stendino classico ma siamo in contatto con un’officina meccanica per realizzare la struttura in tubolare in modo tale che quando piove e contemporaneamente fa freddo o è umido, il tubo si possa riscaldare ed asciugare i panni più brevemente. Infine, come si accennava sopra è necessario allestire adeguatamente lo stand in dotazione: Di seguito si riportano le figure degli stand che verranno forniti ad ogni gruppo e che dovranno essere allestiti 7 Tutorial progetti .tech Quello a sinistra è un buon allestimento stand, quello a destra è un po’ scarno. Quello che conta è anche il modo di vestirsi dei ragazzi, possono vestirsi tutti uguali, tutti con divisa aziendale, oppure ad esempio l’amministratore delegato in giacca e gli addetti alla produzione con divisa aziendale (tipo t-shirt della scuola o con il logo aziendale, ecc). La foto sotto mostra dei ragazzi che hanno fatto una bella figura con l’abbigliamento 8 Tutorial progetti .tech Che cos’è Arduino? Insieme alle direttive necessarie per imparare ad assemblare i progetti proposti vengono date le prime nozioni trasversali di Arduino e proposti alcuni progetti, oltre quelli della tabella, che possono essere realizzati. Arduino è una piattaforma elettronica di piccole dimensioni con un microcontrollore ATMEL montato sopra e una circuiteria di contorno, inventata da un gruppo di persone tra cui l’Italiano Massimo Banzi, utile per creare rapidamente prototipi di impianti di automazione civili ed industriali o di creare circuiti di comando a distanza. Spesso utilizzato per scopi hobbistici e didattici, si sta diffondendo rapidamente nelle scuole per la sua semplicità sia nei collegamenti elettrici che nella programmazione software. Per quest’ultimo aspetto sono presenti in rete una miriade di programmi e progetti già svolti. Tutto il software a corredo di Arduino è libero, e gli schemi circuitali sono distribuiti come hardware libero. 9 Tutorial progetti .tech In questo numero inizieremo a presentare un primo semplice progettino con tanto di programma servendoci di una scheda Arduino UNO il cui costo è di circa 20 euro. In questo numero mostreremo anche come si scarica il software ed il suo ambiente di sviluppo. DOWNLOAD DEL SOFTWARE ED INSTALLAZIONE Il software di Arduino è scaricabile dal sito www.arduino.cc nella sezione “download”. Se si utilizza come sistema operativo Windows, allora cliccare su windows installer , come si vede in figura. Seguendo tutti i passi, l’installazione è estremamente semplice Far lampeggiare un Diodo Led (Per fare questa operazione è necessario avere collegato il microcontrollore Arduino) In questa prima lezione ci proponiamo di collegare un circuito e di scrivere un programma che faccia lampeggiare un diodo led, per fare ciò ci occorrono: Modulo Arduino UNO 10 Tutorial progetti .tech Cavo di collegamento USB tra Arduino e computer Diodo led Step 1) Collegamento del diodo su Arduino tra il piedino 13 e GND (massa). Attenzione al corretto collegamento Step 2) Per scrivere il programma fare click su start, e poi cliccare sull’icona di Arduino, a quel punti si apre la schermata indicata a destra Step 2) Salvare il file con nome ed iniziare a scrivere il seguente programma: 11 Tutorial progetti .tech void setup () { pinMode(13,OUTPUT); } void loop () { digitalWrite(13,HIGH); delay(3000); digitalWrite(13,LOW); delay(1000); } Ricordando che la parola “delay” significa ritardo, si può notare che all’interno delle parentesi ci sono dei numeri, prima 3000 e poi 1000. Rappresentano il tempo espresso in millisecondi per cui il led resta acceso e spento. In questo caso il diodo led rimane acceso 3 secondi (sarebbero 3000 millisecondi), e spento 1 secondo. Problemi che possono nascere: 1. Per digitare la parentesi graffa nella scrittura dei programmi premere la freccia shift , alt gr e la parentesi quadra Step 3) Una volta scritto il programma si può compilare per vedere se ci sono errori e caricare su microcontrollore 12 Tutorial progetti .tech Se andrà tutto a buon fine il led si mette a lampeggiare e, mi permetto, il vostro cuore inizierà a battere più forte. Complimenti, siete appena entrati in un mondo nuovo e tutto da scoprire, da dove potete partire e realizzare tante bellissime applicazioni Un’ultima nota: può essere che durante il caricamento del software, il computer dia questo errore: Bisogna settare la porta seriale COM giusta. E’ un’operazione semplice, basta seguire le indicazioni che vengono fuori man mano. Semaforo semplice con 3 led 13 Tutorial progetti .tech In questo secondo esercizio comandiamo tre led che in si accenderanno e spegneranno in sequenza simulando un semaforo. Occorrono 3 led, di colore rosso, giallo e verde, un saldatore, dello stagno ed un filo nero per collegarli al gnd Di seguito il software. Si consiglia di provare a scriverlo senza guardare questo manuale La definizione dei 3 ingressi, denominati “verde”, “giallo” e “rosso” int verde=10; int giallo=11; int rosso=12; La dichiarazione come ingressi void setup (){ pinMode(rosso,OUTPUT); //inserire led rosso al pin 12// pinMode(verde,OUTPUT); //inserire led verde al pin 10// pinMode(giallo,OUTPUT); //inserire led giallo al pin 11// } 14 Tutorial progetti .tech Il ciclo del programma void loop () { digitalWrite(giallo,LOW); digitalWrite(rosso,HIGH); delay(2000); digitalWrite(rosso,LOW); digitalWrite(verde,HIGH); delay(2000); digitalWrite(verde,LOW); digitalWrite(giallo,HIGH); delay(1000); } Si consiglia di cambiare i pin di ingresso, il tempo di lampeggiamento ed eventualmente il nome degli ingressi. Il tutto a mò di esercitazione In questo esempio vediamo come gestire un ingresso ed un’uscita digitale andando a comandare un diodo led tramite un pulsante. Tutto l’hardware di cui abbiamo bisogno è indicato in figura: scheda Arduino, Resistenza da 1 k, pulsante, diodo led, bread board, cavetti 15 Tutorial progetti .tech Il circuito è puramente didattico, rimandiamo al prossimo numero qualche applicazione più sofisticata. Oggi comandiamo semplicemente un led tramite pulsante. Il diodo costituisce l’uscita digitale mentre il pulsante rappresenta l’ingresso al nostro sistema. Il software da caricare su ATMEL montato su scheda Arduino è il seguente #define LED 13 #define BUTTON 7 int val = 0; // LED collegato al pin digitale 13 // pin di input dove è collegato il pulsante // si userà val per conservare lo stato del pin di input void setup() { pinMode(LED, OUTPUT); pinMode(BUTTON, INPUT); // imposta il pin digitale come output // imposta il pin digitale come input } void loop() { val = digitalRead(BUTTON); // legge il valore dell'input e lo conserva // controlla che l'input sia HIGH (pulsante premuto) if (val == HIGH) { digitalWrite(LED, HIGH); //accende il led } else { digitalWrite(LED, LOW); //spegne il led } } Comandiamo un display a Cristalli Liquidi (LCD) 16 Tutorial progetti .tech Scriviamo il software #include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd (12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("Buon Lavoro!"); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): 17 Tutorial progetti .tech lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis()/1000); } Interruttore Battimano L’interruttore battimani è un divertente progetto ce consente di spegnere e accendere la luce della tua stanza con il semplice battito delle mani … Principio di funzionamento Un microfono rileva il battito delle mani trasformandolo attraverso la sua circuiteria in un segnale elettrico apprezzabile dal microcontrollore presente sulla scheda Arduino uno, in quale programmato come di seguito sarà in grado una volta percepito il giusto livello elettrico dal microfono piloterà la scheda di potenza facendo accendere e spegnere la lampada. Lista materiale Realizzazione pratica 18 Tutorial progetti .tech Alimentare il modulo microfonico dalla scheda Arduino uno a 5 volt e collegare il pin di segnale al pin A0 della scheda Arduino uno come riportato in figura… Nb nella schedina microfonica “funduino” vi è un dotazione un cavetto con colori errati dove il nero è il positivo e quindi va a +5 il giallo è il negativo e va a GND ed il rosso è il segnale e va al pin A0. Passo numero due : adesso bisogna creare la schedina di potenza che controlla la lampada (interfaccia con il microcontrollore) riportiamo sotto lo schema per realizzarla su “millefori” assemblando i componenti come da schema… Una volta realizzata la schedina con un risultato simile a quella sotto in figura non ci rimane che cablarla anche essa con la scheda arduino uno come indicato nello schema sop 19 Tutorial progetti .tech Cablare il tutto nel seguente modo : Passo numero tre Ora non ci rimane altro che caricare il seguente programma al microcontrollore di Arduino uno const int analogPin = A0; const int sensib = 600; void setup() { 20 Tutorial progetti .tech // initialize the LED pin as an output: pinMode(13, OUTPUT); // initialize serial communications: Serial.begin(9600); } void loop() { int analogValue = analogRead(analogPin); if (analogValue > sensib) { PORTB^=B100000; delay(100); } Serial.println(analogValue); delay(1); Circuito apriscatola x gatti Questo progetto consiste nel realizzare un meccanismo con cui mettendo a contatto una fotoresistenza con un telefono (anche di vecchissima generazione), si sfrutta la capacità del cellulare di illuminarsi quando riceve una chiamata. In questo modo la variazione di resistenza da parte della fotoresistenza rappresenta un segnale di ingresso per Arduino che di conseguenza movimenta il servomotore. Apriscatola x gatti tramite cellulare (Codice 01 GAARD15) Item Componente Descrizione Quantità Figura 21 Tutorial progetti .tech 1 Modulo Arduino + cavo Arduino Uno 1 2 alimentatore 220V/USB 1 3 fotoresistenza 4 Resistenza 5 Servomotore 1 6 Basetta millefori 20x10 cm 7 Morsetti 5 8 Strip maschi 10 9 Strip femmina 10 1 100 Ohm 1 N.B. per completare il progetto occorre un telefono cellulare Lo schema elettrico è il seguente: 22 Tutorial progetti .tech Mentre il software: #include <Servo.h> Servo myservo; // creato servo int fotoresistenza = A0; // analog pin used to connect the potentiometer int rif= 400; void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object 23 Tutorial progetti .tech } void loop() { int analogvalue = analogRead (fotoresistenza); if(analogvalue>rif) { myservo.write(90); delay(15); } else { myservo.write(0); } } 24 Tutorial progetti .tech Auto parking realizzato con conteggio e visualizzazione numero di auto Lista materiale Item Componente Descrizione Quantità 1 Modulo Arduino 2 Cavo Collegamento PC - Arduino 3 Pacco Batterie 9V 4 Fusibile x batteria 1A 5 Led IR Tx Sensore passaggio auto 4 6 Fototransistor Rx // 4 7 Resistenza limitatrice 100 2 8 Resistenza 1 k 2 9 LCD 2 x 16 caratteri 1 10 Trimmer 1 k 1 11 Diodo Led Rosso + Verde 12 Basetta millefori 13 morsetti 14 Mammut 15 Cavi Rosso + nero + Vari colori 16 Cavo Flat 12 cavi 17 Struttura in legno di supporto 23 Strip maschi + femmine 2 per millefori 25 Tutorial progetti .tech 26 Tutorial progetti .tech Il software: #define BUTTON_AVANTI 10 #define BUTTON_INDIETRO 9 #define RED_LED 13 #define GREEN_LED 12 int Contatore = 0; buttonPushCounter // conta il numero di volte che il pulsante è premuto int StatoPulsanteAvanti = 0; // stato corrente del pulsante int StatoPulsantePrecedenteAvanti = 0; int StatoPulsanteIndietro = 0; // stato precedente del pulsante // stato corrente del pulsante int StatoPulsantePrecedenteIndietro = 0; #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { pinMode(10, INPUT); pinMode(9, INPUT); pinMode(13,OUTPUT); pinMode(12,OUTPUT); Serial.begin (9600); // pinMode(9, OUTPUT); //digitalWrite(9, 0); // start with the "dot" off 27 Tutorial progetti .tech } void loop() { StatoPulsanteAvanti = digitalRead(BUTTON_AVANTI); conserva // legge il valore dell'input e lo StatoPulsanteIndietro = digitalRead(BUTTON_INDIETRO); if ((StatoPulsanteAvanti != StatoPulsantePrecedenteAvanti) ||(StatoPulsanteIndietro != StatoPulsantePrecedenteIndietro ) ) { // compara lo stato del pulsante attuale con il precedente if (StatoPulsanteAvanti == HIGH) { // se lo stato è cambiato incrementa il contatore // se lo stato corrente è alto, il pulsante è passato da off a on Contatore++; delay(200); Serial.print("Disponibilita: "); //invio su porta seriale il dato Serial.println(Contatore); lcd.clear(); lcd.print("Disponibilità: "); lcd.print(Contatore); } else if(StatoPulsanteIndietro == HIGH) { // se lo stato è cambiato incrementa il contatore // se lo stato corrente è alto, il pulsante è passato da off a on 28 Tutorial progetti .tech Contatore--; lcd.clear(); lcd.print("Disponibilita: "); lcd.print(Contatore); Serial.print("Disponibilita: "); //invio su porta seriale il dato Serial.println(Contatore) }} StatoPulsantePrecedenteIndietro = StatoPulsanteIndietro; StatoPulsantePrecedenteAvanti = StatoPulsanteAvanti; if (Contatore ==0) { Serial.println("OCCUPATO"); digitalWrite(RED_LED,1); digitalWrite(GREEN_LED,0); // Serial.println("mi riavvio"); } else { digitalWrite(RED_LED,0); digitalWrite(GREEN_LED,1);} if (Contatore <0) { Serial.println("OCCUPATO"); Contatore = 99; StatoPulsanteIndietro = 0; 29 Tutorial progetti .tech StatoPulsantePrecedenteIndietro = 0; // Serial.println("mi riavvio"); } if (Contatore >=99) { Contatore = 1; StatoPulsanteAvanti = 0; StatoPulsantePrecedenteAvanti = 0; // Serial.println("mi riavvio"); // stampa sulla console "mi riavvio" // Serial.print( Contatore ); } } 30 Tutorial progetti .tech Tutor di velocità Lista materiale Item Componente Descrizione Quantità 1 Modulo Arduino 2 Cavo Collegamento PC - Arduino 3 Pacco Batterie 9V 5 Led IR Tx Sensore passaggio auto 2 6 Fototransistor Rx // 2 7 Resistenza limitatrice 100 2 8 Resistenza 1 k 2 9 LCD 2 x 16 caratteri 1 10 Trimmer 1 k 1 11 Diodo Led Rosso 12 Basetta millefori 13 morsetti 14 Mammut 15 Cavi 1 per millefori Rosso + nero + Vari colori 31 Tutorial progetti .tech 32 Tutorial progetti .tech Il software: const int rx1=5; #define led 13 const int rx2=2; #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { lcd.begin(16, 2); pinMode(rx1,INPUT); pinMode(rx2,INPUT); pinMode(led,OUTPUT); Serial.begin(9600); void loop() { double spazio=0.0031; double tempo=0.0; double velocita=0.0; double t1=0.0; double t2=0.0; int t=1; //Serial.println(analogRead(rx2)); if(analogRead(rx1)<100) 33 Tutorial progetti .tech { t1=millis(); while(t>0) { if(analogRead(rx2)<100) { t2=millis(); //prendo il secondo tempo tempo=(t2-t1)/3600000; velocita=spazio/tempo; lcd.clear(); lcd.print("Velocita': "); lcd.print(velocita); lcd.setCursor(10,1); lcd.print(" km/h"); Serial.print("velocita': "); //invio su porta seriale il dato Serial.print(velocita); Serial.println(" km/h"); t--; //decremento in modo che t==0 ed esce dal while digitalWrite(led,LOW); } if(velocita>30){ 34 Tutorial progetti .tech lcd.clear(); lcd.print("Velocita': "); lcd.print(velocita); lcd.print(velocita); lcd.setCursor(4,1); lcd.print("Rallenta!! "); digitalWrite(led,HIGH); } else digitalWrite(led,LOW);} Serial.println("Rallenta "); } Serial.flush(); } Accensione segnale intelligente Questo progetto prevede di comandare un segnale stradale variandone il valore di velocità visualizzata in caso di pioggia. Il caso proposto prevede due valori di velocità: 90 km/h in caso di mancanza di pioggia e 70 Km/h in caso di pioggia. In pratica è un sensore di pioggia che commuta dall’uno all’altro valore. Il ritorno al valore più alto quando la pioggia finisce avviene in modo automatico non istantaneamente bensì un certo ritardo (si prevede che dopo la pioggia la strada resti bagnata per un bel pò). 35 Tutorial progetti .tech Intelligent Signal (varia il limite di velocità in caso di pioggia) Codice 01 SVARD09 - euro 27 Item Componente Descrizione Quantità 1 Arduino Uno + cavo 16F84A 1 2 Alimentatore 220V/USB 1 3 sensore pioggia 4 resistenze 330 ohm 2 5 Resistenze 1KOhm 1 6 Diodi Led di 2 colori 20 7 resistenze 180 ohm 5 8 Transistor BC547 2 9 Basetta millefori 20x 10 cm 10 Morsetti 5 11 Strip maschi 10 12 Strip femmina 10 Figura 1 36 Tutorial progetti .tech Lo schema con relativi componenti di Arduino è il seguente: Infine volendo alimentare il tutto con pannello fotovoltaico di modo da fare un segnale intelligente ed alimentato con fonti rinnovabili (o anche dette pulite) si ha: 37 Tutorial progetti .tech Risposta esatta Il circuito consiste nel creare un supporto di grandezza tipo foglio A4 o un pò più piccolo su cui applicare i pulsanti e nel predisporre Arduino con un certo numero di domande con relative risposte. In caso di riposta esatta la sequenza va avanti da sola mentre in caso di risposta errata si può prevedere di scrivere quella corretta e di andare avanti manualmente con il pulsante di reset. Il punto debole consiste nel fatto che la sequenza di domande è sempre la stessa, si potrebbe scegliere magari con altri pulsanti o con un selettore quale 38 Tutorial progetti .tech Stendino antipioggia Nella tabella iniziale è indicato che questo progetto viene realizzato con microcontrollore PIC, in questo corso verrà realizzato con Arduino. Nel caso un gruppo scelga questo progetto è bene chiedere all’insegnante se è possibile realizzarlo con Arduino visto che quest’ultimo è più semplice e versatile. Nel caso l’insegnante opti lo stesso per la realizzazione con il PIC sarà cura di IGS (nel caso la scuola acquisti il kit), inviare un circuito semplice da assemblare. Ad ogni modo questo progetto, sebbene molto utile e apprezzato viene qui realizzato in modo didattico comandando un servomotore cui è solidale una copertura o una tenda che si chiude. La potenza del servomotore è molto bassa per cui volendo passare ad un prototipo più grande non sarebbe sufficiente sostituire il servomotore con un motore in corrente continua ed eventuale scheda di comando poiché cambierebbe anche il software. Infine si fa notare che per realizzare questo circuito potrebbe essere sufficiente un relè a doppio scambio ed un trasduttore di pioggia un po’ più professionale 39 Tutorial progetti .tech Apri cancello con cellulare Questo progetto consiste nel creare una scheda elettronica tale che permetta di aprire un cancello automatico tramite telefono cellulare. Non si pretende di implementare tutte le funzionalità di un cancello come la riapertura in caso di passaggio persone o la sirena lampeggiante ma realizzare un modello con le seguenti prerogative: Comando di apertura via cellulare (con l’utilizzo di un fotoresistore come l’apriscatola per gatti) Movimentazione di un motore 12 Volt con relativo finecorsa Chiusura dopo un tempo t con relativo finecorsa Uno dei primi passi è la realizzazione su basetta millefori della scheda per l’inversione del motore (è preferibile usare un motoriduttore perché ha un basso numero di giri ed il cancello si apre e chiude più lentamente) Arduino riceve in ingresso il segnale analogico proveniente dalla fotoresistenza illuminata da un cellulare e i due ingressi digitali provenienti dai due fine corsa, quello di ingresso e quello di uscita 40 Tutorial progetti .tech Infine collegare i fine corsa: Domotica Questo progetto è da sviluppare insieme al docente del corso in quanto le funzionalità possono essere poche ed essenziali così come ampie e sofisticate, pertanto sarà cura del docente del corso accompagnare i trainer verso alcuni esempi 41 Tutorial progetti .tech Fin qui i progetti della parte relativa ai microcontrollori, adesso si vedranno quelli dell’altra macro area denominata nella tabella iniziale “energia ed automazione”, in cui si vedranno alcuni di progetti alimentati con energia fotovoltaica. Tutti hanno un comune denominatore e sono piuttosto semplici ed intuitivi da capire. Ci si augura che con un minimo di praticità li si possa anche implementare. Tutti gli impianti prevedono un pannello fotovoltaico che carica una batteria a 12 Volt, da quest’ultima tramite inverter si ricava tensione alternata monofase e da qui si alimentano i vari carichi a 12 Vdc oppure a 230 Vac. Si noti che se si vogliono abbassare i costi occorre limitarsi alla tensione della batteria evitando di collegare l’inverter. L’unico limite non poter utilizzare prese a 230 V ma “solo” carica i-phone, telecamere, luci, mp3 ecc. Solar Packaging (valigetta multimediale ad energia solare) Il progetto presentato riguarda la realizzazione di una valigetta alimentata con energia solare, al cui interno un inverter trasforma la tensione prodotta dal pannello fotovoltaico in tensione alternata (220 Volt). Come uscite sono previste: Lampade a led Uscita USB 2 prese 220V Casse stereo MP3 Item Componente Descrizione Quantità 1 2 3 4 5 6 7 8 9 Pannello Fotovoltaico Batteria Inverter diodi led Resistenza Carica cellulare Prese 220 Volt mp3 Casse PC 5 Watt Policristallino 12 V 3,5 Ah 12Vdc /220 Vac vari colori 120 Ohm USB 1 1 1 multipli di 4 1 1 2 1 2 42 Tutorial progetti .tech 10 Magnetotermico 11 Interruttore 6A 1 1 43 Tutorial progetti .tech 44 Tutorial progetti .tech Energia elettrica sotto l’ombrellone Lista materiale Ombrellone Fotovoltaico Item Componente Descrizione 1 2 3 4 6 7 8 9 Pannello Fotovoltaico Batteria Inverter Boccole 2 Prese da esterno Adattatore 12 V / USB Cavo rossonero Magnetotermico 5 Watt Policristallino 12 V 3,5 Ah 12Vdc /220 Vac Maschio + femmina 220 V 1,5 mm2 6A 45 Tutorial progetti .tech Segnale Stradale fotovoltaico Lista componenti Item Componente Descrizione Quantità 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Pannello Fotovoltaico Batteria NE 555 diodi led resistenza resistenza resistenza Trimmer C C C C relè 1 scambio diodo 5 Watt Policristallino 12 V 3,5 Ah 1 1 1 multipli di 4 2 1 1 1 1 1 1 1 1 1 vari colori 180 Ohm 1 kohm 6,8 Kohm 50 Kohm 100 nanoFarad 10 microFarad 10 nano Farad 47 micro Farad con bobina a 12 volt 1N4007 La prima parte del progetto prevede la realizzazione di un multivibratore astabile realizzato con un NE 555 in grado di far lampeggiare i led 46 Tutorial progetti .tech La scheda appena realizzata munita di 2 morsetti di uscita, da integrare nel circuito sotto 47 Tutorial progetti .tech Infine ci sono alcuni progetti con PLC, molto costosi, che vengono richiesti dalle classi ad indirizzo elettrotecnica degli istituti tecnici e professionali. Fermo restando che IGS può preparare il kit completo con PLC programmato, morsettiera, e sensori ed attuatori da assemblare. Alcune scuole potrebbero decidere di utilizzare il PLC già in possesso della scuola, in tal caso IGS propone i componenti indicati sotto. Non si richiede al trainer di programmare il PLC in possesso della scuola (sebbene l’argomento sia interessante) ma di avere le idee chiare sui collegamenti ad esso. Serra Agricola Questo progetto consiste nel realizzare un prototipo in piccola scala di serra in cui l’automazione è realizzata con un controllore a logica programmabile (PLC). Le automazioni implementate saranno alcune simulate ed altre reali. Più precisamente si simuleranno le variazioni di temperatura ed umidità con due potenziometri mentre vi sarà un crepuscolare reale per regolare l’accensione delle luci. Per rendere realistica anche l’altra automazione basta sostituire i due potenziometri con due sensori con uscita in tensione (O – 10 Volt). Gli attuatori sono tutti reali e di seguito sono descritti. Dal punto di vista circuitale la parte più difficile riguarda la gestione della temperatura il cui aumento è simulato dal potenziometro. Si stabiliscono due soglie T 1 e T2; al superamento della prima si aziona una ventola (quelle per PC da 12 Volt), mentre al superamento della seconda si aziona un motore (da 12 V in corrente continua) con cui si apre una finestra basculante (pannello) della serra. La corsa del motore è arrestata dall’intervento di un finecorsa. La chiusura del basculante e dunque l’inversione del senso di marcia del motore avviene premendo manualmente un pulsante. L’accensione delle luci avviene con un interruttore crepuscolare. Infine, verrà azionata una pompa per innaffiare (quelle dei tergicristalli delle automobili), che può essere azionata in modo automatico o semiautomatico. Nel primo caso essa parte quando il potenziometro (che rappresenta il tasso di umidità del terreno) supera la soglia prestabilita. Nel secondo caso parte in modo “semiautomatico” nel senso che si imposta un timer. 48 Tutorial progetti .tech Ingressi e uscite In totale per realizzare questo prototipo dobbiamo impegnare 11 I/O del PLC, così distribuiti: 2 ingressi analogici ( 2 potenziometri) 4 ingressi digitali (finecorsa, pulsante ripristino, crepuscolare, selettore Automatico/SemiAutomatico) 5 uscite digitali (Marcia oraria Motore, Marcia antioraria Motore, Pompa, Ventola, Luci) Come prototipo da utilizzare si può pensare a dei modellini di serre per uso domestico che costano poco più di 10 Euro 49 Tutorial progetti .tech 50 Tutorial progetti .tech Può vedersi anche in miniatura: Nel circuito di figura 1 manca una scheda elettronica che ci permette l’inversione di marcia del motore e che vedremo in seguito. Se è chiaro il funzionamento e prima di passare al cablaggio finale si può fare questo passaggio intermedio per avere la percezione corretta di cosa si va a collegare al PLC. Notiamo una schedina con due relè, è la scheda di inversione del motore che descriveremo nel dettaglio Allora dalla figura 2 notiamo che tutti gli ingressi sono posizionati fisicamente sopra il PLC e tutte le uscite sono posizionate sotto. 51 Tutorial progetti .tech Effettuando correttamente i collegamenti e programmando opportunamente il PLC il modello in scala ridotta di serra dovrebbe funzionare. Per il cablaggio finale è necessario posizionare sensori ed attuatori nei posti stabiliti, predisporre una morsettiera ed alloggiare il PLC su una guida DIN. 52 Tutorial progetti .tech 53 Tutorial progetti .tech Eventuali progetti mancanti, si ritengono analoghi a quelli presentati, sarà in ogni caso cura di igs fonire assistenza e schemi su questi ultimi e su tutti gli altri progetti. Per visualizzare i video dei progetti descritti sopra visitare il sito: www.ingegnercozzolino.altervista.org Per scaricare il presente manuale seguire il link: http://www.ingegnercozzolino.altervista.org/alterpages/files/Tutorial_tech.pdf 54