Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Tutorial progetti .tech
1
Ing. Cozzolino Francesco
Tutorial progetti .tech
2
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.
Tutorial progetti .tech
3
Area Progetto Descrizione
Microcontrollori
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)
Risposta esatta
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
Apricancello con cellulare Scheda di interfaccia per l'apertura di cancello auto-matico con
telefono cellulare
Casa Domotica Realizzazione di una casa munita di sensori ed attua-tori per
l'automazione domotica
Automazione ed Energia
Semaforo per non vedenti 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
Tutorial progetti .tech
4
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.
Tutorial progetti .tech
5
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
Tutorial progetti .tech
6
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.
Tutorial progetti .tech
7
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
Tutorial progetti .tech
8
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
Tutorial progetti .tech
9
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.
Tutorial progetti .tech
10
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
Tutorial progetti .tech
11
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:
Tutorial progetti .tech
12
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
Tutorial progetti .tech
13
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
Tutorial progetti .tech
14
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//
}
Tutorial progetti .tech
15
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
Tutorial progetti .tech
16
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 // LED collegato al pin digitale 13
#define BUTTON 7 // pin di input dove è collegato il pulsante
int val = 0; // si userà val per conservare lo stato del pin di input
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
pinMode(BUTTON, INPUT); // 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)
Tutorial progetti .tech
17
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):
Tutorial progetti .tech
18
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
Tutorial progetti .tech
19
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
Tutorial progetti .tech
20
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() {
Tutorial progetti .tech
21
// 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
Tutorial progetti .tech
22
1 Modulo Arduino
+ cavo Arduino Uno 1
2 alimentatore 220V/USB 1
3 fotoresistenza 1
4 Resistenza 100 Ohm 1
5 Servomotore 1
6 Basetta millefori 20x10
cm
7 Morsetti 5
8 Strip maschi 10
9 Strip femmina 10
N.B. per completare il progetto occorre un telefono cellulare
Lo schema elettrico è il seguente:
Tutorial progetti .tech
23
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
Tutorial progetti .tech
24
}
void loop()
{
int analogvalue = analogRead (fotoresistenza);
if(analogvalue>rif) {
myservo.write(90);
delay(15);
}
else {
myservo.write(0);
}
}
Tutorial progetti .tech
25
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 9 V
4 Fusibile x batteria 1 A
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 2
12 Basetta millefori
13 morsetti per millefori
14 Mammut
15 Cavi Rosso + nero + Vari colori
16 Cavo Flat 12 cavi
17 Struttura in legno di supporto
23 Strip maschi + femmine
Tutorial progetti .tech
26
Tutorial progetti .tech
27
Il software:
#define BUTTON_AVANTI 10
#define BUTTON_INDIETRO 9
#define RED_LED 13
#define GREEN_LED 12
int Contatore = 0; // conta il numero di volte che il pulsante è premuto
buttonPushCounter
int StatoPulsanteAvanti = 0; // stato corrente del pulsante
int StatoPulsantePrecedenteAvanti = 0; // stato precedente del pulsante
int StatoPulsanteIndietro = 0; // 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
Tutorial progetti .tech
28
}
void loop() {
StatoPulsanteAvanti = digitalRead(BUTTON_AVANTI); // legge il valore dell'input e lo
conserva
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
Tutorial progetti .tech
29
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;
Tutorial progetti .tech
30
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 );
}
}
Tutorial progetti .tech
31
Tutor di velocità
Lista materiale
Item Componente Descrizione Quantità
1 Modulo Arduino
2 Cavo Collegamento PC - Arduino
3 Pacco Batterie 9 V
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 1
12 Basetta millefori
13 morsetti per millefori
14 Mammut
15 Cavi Rosso + nero + Vari colori
Tutorial progetti .tech
32
Tutorial progetti .tech
33
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)
Tutorial progetti .tech
34
{
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){
Tutorial progetti .tech
35
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ò).
Tutorial progetti .tech
36
Intelligent Signal (varia il limite di velocità in caso di pioggia) Codice 01 SVARD09 - euro 27
Item Componente Descrizione Quantità Figura
1 Arduino Uno + cavo 16F84A 1
2 Alimentatore 220V/USB 1
3 sensore pioggia 1
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
Tutorial progetti .tech
37
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:
Tutorial progetti .tech
38
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
Tutorial progetti .tech
39
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
Tutorial progetti .tech
40
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
Tutorial progetti .tech
41
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
Tutorial progetti .tech
42
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 Pannello Fotovoltaico 5 Watt Policristallino 1
2 Batteria 12 V 3,5 Ah 1
3 Inverter 12Vdc /220 Vac 1
4 diodi led vari colori multipli di 4
5 Resistenza 120 Ohm 1
6 Carica cellulare USB 1
7 Prese 220 Volt 2
8 mp3 1
9 Casse PC 2
Tutorial progetti .tech
43
10 Magnetotermico 6 A 1
11 Interruttore
1
Tutorial progetti .tech
44
Tutorial progetti .tech
45
Energia elettrica sotto l’ombrellone
Lista materiale
Ombrellone Fotovoltaico
Item Componente Descrizione
1 Pannello Fotovoltaico 5 Watt Policristallino
2 Batteria 12 V 3,5 Ah
3 Inverter 12Vdc /220 Vac
4 Boccole Maschio + femmina
6 2 Prese da esterno 220 V
7 Adattatore 12 V / USB
8 Cavo rossonero 1,5 mm2
9 Magnetotermico 6A
Tutorial progetti .tech
46
Segnale Stradale fotovoltaico
Lista componenti
Item Componente Descrizione Quantità
1 Pannello Fotovoltaico 5 Watt Policristallino 1
2 Batteria 12 V 3,5 Ah 1
3 NE 555 1
4 diodi led vari colori multipli di 4
5 resistenza 180 Ohm 2
6 resistenza 1 kohm 1
7 resistenza 6,8 Kohm 1
8 Trimmer 50 Kohm 1
9 C 100 nanoFarad 1
10 C 10 microFarad 1
11 C 10 nano Farad 1
12 C 47 micro Farad 1
13 relè 1 scambio con bobina a 12 volt 1
14 diodo 1N4007 1
La prima parte del progetto prevede la realizzazione di un multivibratore astabile
realizzato con un NE 555 in grado di far lampeggiare i led
Tutorial progetti .tech
47
La scheda appena realizzata munita di 2 morsetti di uscita, da integrare nel circuito
sotto
Tutorial progetti .tech
48
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 T1 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.
Tutorial progetti .tech
49
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
Tutorial progetti .tech
50
Tutorial progetti .tech
51
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.
Tutorial progetti .tech
52
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.
Tutorial progetti .tech
53
Tutorial progetti .tech
54
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