Date post: | 12-Feb-2017 |
Category: |
Education |
Upload: | giuseppe-cramarossa |
View: | 211 times |
Download: | 1 times |
ARDUINO + AZURERealizzazione pratica di circuiti usando vari sensori e app web su Azure
Cramarossa GiuseppeMicrosoft Student PartnerI.I.S.S «G. Marconi» Bari
30 Novembre 2015
PREREQUISITI• Conoscenza base della scheda Arduino
• Pin• Tipi e usi• Direzioni
• Seriale• Programmazione Arduino
• Costanti di base• INPUT/OUTPUT• HIGH/LOW
• Funzioni di base• Lettura/scrittura pin
• Seriale• Lettura• Scrittura
• Classe Ethernet• Link per approfondire sui prerequisiti http://
www.slideshare.net/GiuseppeCramarossa/arduino-azure-dal-circuito-allo-sketch-e-controllo-remoto-con-una-app-web-su-azure
COSA FAREMO• Uso di sensori e componenti per creare circuiti semplici
• Fotoresistori• Infrarossi
• Uso di un comune telecomando• Ethernet
• App web su Azure
COS’È UN FOTORESISTORE• Resistenza sensibile alla luce
• Valore della resistenza bassa: presenza di luce• Valore della resistenza alta: assenza di luce
• 2 pin• Tensione 5V
• Pin 5V• Massa e segnale
• Pin analogico• Direzione: INPUT
• Pin GND• Necessita di una resistenza pull-down
• Si userà una resistenza di 10 kOhm• Verrà collegata alla massa
• Esempio d’uso: lampade crepuscolari
ESEMPIO: PROGETTAZIONE CIRCUITO CON FOTORESISTENZA -
FRITZING
ESEMPIO: PROGETTAZIONE CIRCUITO CON FOTORESISTENZA -
SKETCH
INFRAROSSI• Utile per comunicazioni a breve distanza• Inutile se sono presenti ostacoli o muri• Usi comuni
• Televisori• Radio• Condizionatori• Videoregistratori• In passato, veniva utilizzato anche nei telefoni cellulari
• Veniva definito IrDA (Infrared Data Association)• Ora è stato sostituito con Bluetooth
• Gli infrarossi sono divisi in due componenti ben distinti• Trasmettitore
• Diodo• Ricevitore
• Sensore
DIODO INFRAROSSO• Lo abbiamo già incontrato nella scorsa lezione• Trasmissione tramite luce
• Acceso = bit a 1• Spento = bit a 0
• Uso• Telecomandi per diversi dispositivi
• Due piedini• Positivo
• Pin PWM• Massa
• Pin GND• Necessita di una resistenza
• La caduta di tensione sul diodo è di 1.3 Volt, quindi…
SENSORE INFRAROSSO• Serve per ricevere informazioni• Ricezione direzionata
• Diodo e sensore devono vedersi• Uso
• Televisori• Radio
• Tre piedini• VCC (pin 5V)• Segnale (pin PWM)• Massa (pin GND)
• Non necessita di una resistenza
COS’È UN TELECOMANDO• Una serie di bottoni e tasti
• Alcuni simboli presenti sono standard• Tasto accensione/spegnimento• Cambio volume• Cambio canale• …
• Altri simboli dipendono dal dispositivo che si deve comandare• Tasto play• Tasto rec• …
• Ogni tasto è identificato da un codice univoco• I codici variano da telecomando a telecomando, anche con tasti standard
• Ogni produttore utilizza un protocollo diverso• Generalmente, l’ultima combinazione possibile è riservata per rilevare la pressione continua di
un tasto
PROBLEMI SULL’INFRAROSSO• Possibili problemi che si potrebbero verificare
• Se ci sono ostacoli, il ricevitore potrebbe non ricevere nessun valore o un valore non corretto• Errata direzione del sensore rispetto al telecomando
• Direzione non frontale• Valore del tasto non corretto
• A uno stesso tasto corrispondono più valori• Risoluzione dei problemi
• Trovare il codice di un tasto in un ambiente privo di ostacoli • Provare a premere il tasto più volte per trovare il codice corretto
LIBRERIA INFRAROSSI• Libreria IRremote
• Permette di inviare e ricevere dati tramite infrarossi• Scaricabile gratuitamente• Link https://github.com/z3t0/Arduino-IRremote/archive/master.zip
• Gestisce vari protocolli• JVC• Panasonic• Samsung
• Installare una libreria• Scaricare la libreria dal sito • Copiare o spostare la cartella scompattata nella cartella «libraries» di Arduino
• <CartellaArduino>/libraries• Rinominarla in IRremote
• Solo per la libreria IRremote• Cancellare la cartella RobotIRremote dalle librerie di Arduino
LED INFRAROSSI E ARDUINO• Il pin 3 è il pin di default per il led infrarossi• Ogni produttore ha un proprio protocollo
• Classi differenti• Codifiche dei tasti differenti• Algoritmi differenti• Codifica del tasto ripetuto differente
• Classe IRsend• sendRaw
• Metodo generale• Permette di mandare un codice tramite infrarossi• 3 parametri
• Buffer da inviare• Lunghezza del buffer• Frequenza in kHz
• Tipicamente da 36 a 40 kHz• Non si vedrà nessun esempio
COLLEGARE IL LED INFRAROSSI - FRITZING
SENSORE INFRAROSSI E ARDUINO• Si può scegliere qualsiasi pin digitale • Permette di ricevere i codici dei tasti• Attenzione all’ordine dei vari pin
• Ogni ricevitore infrarosso ha una diversa disposizione dei pin• Un collegamento errato dei pin potrebbe danneggiare il sensore
• Due classi per ottenere il codice del tasto• decode_results
• Contiene il valore del tasto premuto• Il valore del tasto è contenuto nella proprietà value
• Irrecv• enableIRIn
• Inizializza il sensore infrarosso• resume
• Permette di ottenere il valore successivo• decode
• Permette di decodificare il tasto• Un parametro
• L’oggetto decode_results
SENSORE INFRAROSSI - FRITZING
INFRAROSSI, ARDUINO E APP WEB (1/3)• Esempio: fare una statistica dei tasti premuti
• Per creare questo programma, è necessario usare i database• Ogni pressione dei tasti deve essere registrato e salvato in maniera permanente• La sottoscrizione Dreamspark permette di creare i database• In questa lezione non verrà trattata la teoria dei database
• Creare un database su Azure• Fare clic su Database MySQL nella colonna a sinistra• Fare clic su Aggiungi• Inserire un nome nel campo nome database• Attribuire un gruppo di risorse, se necessario• Selezionare Note Legali e fare clic su OK• Fare clic su Crea• Attendere finchè la distribuzione non è completata
INFRAROSSI, ARDUINO E APP WEB (2/3)• Esempio: fare una statistica dei tasti premuti
• Creare un database MySQL su Azure• Nella finestra che compare, cliccare su Gestisci Database• Si aprirà la pagina di ClearDB• Cliccare sulla voce di menù Endpoint Information• Recuperare le informazioni necessarie
• Username• Password• Nome del database• Server
• Creare la app web su Azure• Il link alla webapp è http://1drv.ms/1HvUnTh• Seguire le slide del 6 novembre• Una volta caricata la webapp, inserire nella prima pagina le informazioni richieste• L’applicazione dovrebbe funzionare correttamente
• Caricare lo sketch su Arduino• Lo troverete nella prossima slide
INFRAROSSI, ARDUINO E APP WEB (3/3)
CONCLUSIONE• Domande e risposte• GRAZIE PER L’ATTENZIONE