PROGETTI ARDUINO

  • HOME
  • PROGETTI E TUTORIAL
  • PROGETTI E TUTORIAL 2
  • ELETTRONICA
  • RECENSIONI
  • MANUALE
  • CONTATTI
  • HOME
  • PROGETTI E TUTORIAL
  • PROGETTI E TUTORIAL 2
  • ELETTRONICA
  • RECENSIONI
  • MANUALE
  • CONTATTI

Casa domotica stampata in 3D

Tesina Esami di Stato 2017 con Arduino

Foto
 
Candidato: Fancello Salvatore
Classe: 5^ Elettronica 
Anno scolastico 2016/2017

​

Arduino e Stampa 3D

Foto

​La Casa Domotica in miniatura è nata nei tre anni di corso di studio all'istituto d’istruzione superiore ITI A. Monaco di Cosenza, dove si sono susseguiti vari progetti di domotica utilizzando la programmazione su Arduino Uno.
 
Lo scopo del progetto è di realizzare un Casa controllabile interamente da smartphone, PC, o qualunque dispositivo che abbia un browser e sia collegato nella stessa rete in modo tale da agevolare e migliorare le condizioni di vivibilità dell’appartamento.
 
Il progetto che ho portato per l’Esame di Maturità è un prototipo di sistema domotico stampato in 3D di una Casa in scala 1:24.
Foto

Funzioni
Oltre al controllo remoto dei dispositivi tramite Web Server è integrato un sistema di allarme domestico che si attiva/disattiva tramite la lettura di una tessera con codice tag e visualizzazione su un display LCD dello stato dei vari sensori, tra cui:
  • Sensore PIR per rilevare la presenza di movimento in casa se l’allarme è attivo
  • Sensore Gas MQ-02 per rilevare la fuoriuscita involontaria di gas combustibile, metano, propano o fumo.
  • Sensore di Fiamma per rilevare la presenza di fuoco in caso di incendio.
Infine con il controllo remoto della casa tramite streaming video possiamo vedere in tempo reale cosa avviene dentro la casa.

Materiali e componenti utilizzati
2x Filamento per Stampa 3D 1Kg
eBay
Amazon
Pannello Multistrato di pioppo 18mm 70x60
eBay
Amazon
Tappetino verde prato 100x50cm
eBay
Amazon
Servomotore Parallax Rotazione Continua
eBay
Amazon
Arduino YUN Orig
eBay
Amazon
Webcam Logitech E3500
eBay
Amazon
MicroSD 8Gb Samsung
eBay
Amazon
Router Digicom 150 ​
eBay
Amazon
Arduino Mega 2560
eBay
Amazon
Ethernet Shield W5100
eBay
Amazon
Arduino UNO
eBay
Amazon
Display LCD 16x2 I2C
eBay
Amazon
Lettore di tessere tag RFID RC522
eBay
Amazon
Sensore Fiamma
eBay
Amazon
Sensore Gas ​MQ-02
eBay
Amazon
Sensore PIR
eBay
Amazon
Buzzer
eBay
Amazon
Ventola ​
eBay
Amazon
7x Diodi LED Bianchi 5mm
eBay
Amazon
2x Diodi LED Gialli 5mm
eBay
Amazon
Diodi LED Rossi 5mm
eBay
Amazon
10x Resistenze da 220Ω
eBay
Amazon
Breadboard
eBay
Amazon
Kit cavetti di collegamento ​
eBay
Amazon
Cavo ethernet
eBay
Amazon
PowerBank AUKEY 20000mAh
eBay
Amazon

Creazione della struttura in 3D
Il plastico è interamente realizzato con stampante 3D, la base è di multistrato di pioppo largo 70x60 cm e con spessore di 18mm così da rendere l’intera struttura leggera ma allo stesso tempo resistente.
Inizialmente è stato necessario realizzare la piantina della casa su AutoCAD per poi prendere le misure, riportarle alle dimensioni reali e suddividerle in più parti in quanto il piatto di stampa riesce a riprodurre oggetti con dimensioni max 200x200mm.
 
Tutti i componenti della Casa Domotica sono stati realizzati in 3D tramite il software gratuito Tinkercad che è il punto di partenza per chi vuole iniziare a creare oggetti semplici da stampare in 3D ed esportarli nel formato di file .STL compatibili con tutti i software di stampa.

Foto
Inoltre tutti i file di stampa .STL li ho resi pubblici sul sito Thingiverse all'indirizzo: https://www.thingiverse.com/thing:2364628
​

Thingiverse è un sito gratuito dove vengono condivisi tutti i progetti di stampa 3D.
Rendendolo pubblico chiunque può riprodurre facilmente il progetto, apportare delle modifiche e crearsi il proprio prototipo di casa domotica.

Stampa 3D
Successivamente alla creazione dei modelli 3D si passa alla stampa dove ho trascorso la maggior parte del tempo dedicato al progetto.
 
I modelli in formato .STL vengono infine caricati su un software che effettua la divisione in strati dell’oggetto da stampare (slicing).
Foto

Il software Repetier-Host gestisce la stampante collegata tramite la porta USB del PC permettendo di regolare autonomamente il riempimento interno dell’oggetto, la temperatura dell’estrusore di stampa, la velocità, lo spostamento degli assi e molto altro.
​
La stampante che ho utilizzato è la GEEETech I3 ProB, economica ma con a bordo una scheda Arduino Mega 2560 anch'essa con software Open-Source, il che mi permetteranno in futuro di effettuare alcune modifiche per migliorare la qualità di stampa complessiva. ​

Assemblaggio
Le pareti sono larghe 8mm con ai lati degli incastri per facilitare l’assemblaggio e l’incollaggio con colla ciano-acrilica in modo da formare tutte le stanze presenti nella piantina.
A quel punto si avranno tutti gli spazi della casa pronti.
Foto

Una volta assemblati i vari componenti della casa domotica si procede con il passo successivo, cioè inserire i supporti a T e ad L in modo da rendere le pareti più stabili, dove andremo successivamente ad inserire i circuiti d'illuminazione e installare i dispositivi di controllo.
Foto

Il passaggio successivo è l’inserimento dell’impianto di illuminazione, ho forato i muri in modo da inserire i diodi LED e lasciarli ben visibili, nascondendo i fili che fuoriuscivano dal retro della parete con una canalina creata con la stampante 3D.
Foto
Foto

​Il cancello posto sul lato anteriore della casa è fatto muovere grazie ad un servomotore a rotazione continua. L'ingranaggio sul servo è tenuto saldamente da una vite, ed è fatto ruotare su un asta a cremagliera.
Foto

​Il display LCD e il lettore di card sono inseriti in due appositi alloggiamenti posti uno sull'altro per consentire una facile lettura quando si passa la card o il portachiavi sul lettore.

Il display consente di monitorare lo stato dei sensori di Gas, Fiamma e si rende necessario per visualizzare lo stato del Sistema Anti-intrusione.
Foto

Per finire ho portato tutti i cavi sul retro della casa dove ho alloggiato le schede Arduino il router e una breadbord.
​I fili sono nascosti sotto un tappetino verde che simula l'erba del giardino 
e per renderli facilmente individuabili li ho etichettati in modo da agevolare un prossimo upgrade del progetto.
Foto

Schema del circuito completo
Foto

Prima Parte del programma: Sistema di Allarme Domestico
La prima parte dello sketch (programma) è installato sulla scheda Arduino UNO. Questo sistema elettronico rappresenta un allarme domestico economico ma funzionale.
Foto
E' una semplice centrale a una zona nel mio caso perché ho un solo PIR a disposizione, ma ovviamente espandibile, che si attiva o disattiva tramite un tag RFID, essa può memorizzare fino a tre tag più una chiave master.
Il sensore di Fiamma e il sensore MQ-02 non dipendono dall'attivazione o meno dell'allarme e sono lasciati sempre attivi.
Se attivati dalla presenza di una fuoriuscita di gas oppure di una fiamma faranno suonare il buzzer e indicheranno sul display quale sensore (o pericolo) ha fatto attivare la sirena.
 
La prima configurazione consiste di inserire manualmente il codice decimale della propria card che si vuole utilizzare come master. La chiave master serve altresì per memorizzare gli altri gruppi di chiavi fino ad un massimo di tre tag.
 
Al posto del display LCD classico 16x2 HD44780 ho inserito un display LCD 16x2 con comunicazione seriale I2C per liberarci di un po di pin che altrimenti andrebbero occupati dal display stesso.
​
Sulla breadboard ho inserito tre diodi Led e un pulsante
  • Il Led rosso indica lo stato di attivazione della centrale d'allarme, se acceso l’allarme è attivo.
  • Il Led giallo indica lo stato del sensore PIR, se acceso indica la presenza di movimento nell'abitazione.
  • Il Led verde lampeggiante indica che la sirena è attiva e quindi è scattato l’allarme.
  • Il pulsante ha la funzione di resettare le chiavi salvate fino a quel momento ma lascerà memorizzata la chiave master.

Sketch Prima Parte: Sistema di Allarme
 Una volta costruito il circuito del sistema anti-intrusione è possibile caricare lo sketch sulla scheda Arduino UNO tramite il software di programmazione Arduino IDE. 
Prima di procedere però è necessario includere la libreria del sensore RFID e del display LCD I2C seguendo queste semplici istruzioni:
  • Scaricare le librerie rfid-master e newliquidcrystal_1.3.4 in formato .ZIP;
  • Aprire Arduino IDE e fare clic su Sketch >> #include libreria >> aggiungi libreria da file .ZIP.
  • Selezionare la libreria da installare e il gioco è fatto!
libreria_rfid-2.zip
File Size: 12 kb
File Type: zip
Scarica file

newliquidcrystal_1.3.4.zip
File Size: 6271 kb
File Type: zip
Scarica file

Clicca qui per modificare.

    

Seconda Parte del Programma: Controllo dispositivi ​tramite pagina Web-server
La seconda parte del progetto riguarda il controllo dei dispositivi tramite pagina web con Arduino Mega 2560 e la ethernet shield.
La ethernet shield è provvista di un connettore RJ45 per la connessione diretta al modem di casa così da controllare i dispositivi via rete locale o via Internet.
Foto
Nel nostro caso utilizzeremo la ethernet shield in rete locale collegata ad un modem router Digicom 150, impostiamo sullo sketch l’indirizzo IP fisso della board 192.168.10.89 in modo da rendere subito raggiungibile la pagina web tramite protocollo HTTP che ci consentirà di controllare i vari dispositivi.
 
Se si utilizza la ethernet shield in locale senza connessione internet dobbiamo fare a meno della grafica personalizzata perché caricata sulla pagina web: http://www.progettiarduino.com/ethernet.html  in formato style.css , questo mi è stato di grande aiuto in quanto la memoria limitata di Arduino Mega 2560 non mi permetteva di caricare grandi formati di testo HTML.
 
Se la Ethernet Shield non è connessa in rete non può raggiungere l'editor grafico .css salvato sulla pagina web e quindi si avrà una pagina con grafica limitata ma pur sempre utilizzabile.

Esempio di pagina Web Server senza connessione internet
Foto

​Esempio di pagina Web Server con connessione internet
Foto

Sketch Seconda Parte: Controllo dispositivi tramite Web server
Una volta realizzato il circuito per il controllo dei dispositivi possiamo procedere con caricare lo sketch su Arduino Mega 2560 + Ethernet Shield.
​In questo caso non è necessario includere altre librerie in quanto sono già presenti su Arduino IDE.
Clicca qui per modificare.

    

Terza Parte del Programma: Controllo Webcam in Streaming
La terza parte del programma richiede un po di conoscenze sul sistema operativo Linux per poter programmare Arduino YUN e utilizzare la webcam per effettuare lo streaming video.
Ho seguito il tutorial su lucadentella.it che vi consiglio di visitare vi guiderà passo passo al collegamento di una webcam su Arduino YUN.
Foto

​Arduino YUN monta una distribuzione Linux (Linino) ed è in grado di gestire webcam che supportano i driver UVC.
 
Ho utilizzato una webcam Logitech E-3500 e installato i driver kmod-video-uvc tramite il software integrato nella YUN.
 
Per trasmettere in rete lo streaming ho scelto di utilizzare mjpg-streamer,  un applicativo in grado di catturare il video della webcam e renderlo disponibile tramite interfaccia web.
 
Per installarlo sulla Arduino YUN è stato necessario collegarla tramite il software gratuito Putty e protocollo SSH, spostarci nella cartella /tmp e scaricare il pacchetto tramite wget:
wget http://www.custommobileapps.com.au/downloads/mjpg-streamer.ipk
installare il pacchetto con opkg:
opkg install mjpg-streamer.ipk
ed infine ho eseguire il programma con:
/etc/init.d/mjpg-streamer start
 
Collegandoci con il browser all'indirizzo della YUN e alla porta 8080 (http://192.168.10.100:8080) possiamo visualizzare l'interfaccia di mjpg-streamer:

Foto
Desidero rivolgere un ringraziamento a tutti i professori dell'ITI A. Monaco di Cosenza in particolare ai professori 
​Porto Aldo
e De Luca Carmelo per l'aiuto e il supporto dimostrato in questi anni, per avermi portato a conoscenza della scheda Arduino. Devo a loro la nascita del blog ProgettiArduino.com 

© ProgettiArduino.com 2019 - Fancello Salvatore
​ Layout, immagini e testi sono di esclusiva proprietà di www.progettiarduino.com 
Privacy Policy