Guida alla Quarta Esercitazione

Documenti analoghi
Monitor Tensione Batteria per Camper

Introduzione alle macchine a stati (non definitivo)

15. Verifica delle tabelle della verità di alcune porte logiche

TESTER PER CAVI Modello: KT-200 MANUALE D USO

Come utilizzare i riferimenti assoluti e relativi in Microsoft Excel

LAMPEGGIANTI POLIZIA A LED

WINDOWS Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

Manuale D uso MultiBox

INSTALLAZIONE HARDWARE IDP106C Ver. 1.3 BLUE DIMMER INSTALLAZIONE HARDWARE

Alimentatore stabilizzato con tensione di uscita variabile

Collaudo statico di un ADC

Esercitazione 4. Comandi iterativi for, while, do-while

Ricevitore Supervisionato RX-24

Guida al VPS Forex. Versione 1.0

HelpIviewer Manuale utente

Sensore da soffitto con infrarosso passivo

Manuale di installazione e uso

SCHEDA PRODOTTO NDA LIRA DIGITAL Interfaccia digitale di un inverter trifase per New Decors Art Srl

7 Disegni sperimentali ad un solo fattore. Giulio Vidotto Raffaele Cioffi

Via Oberdan, 42, Faenza (RA) Italy Tel.: Fax: WAVE MODE MOBILE GUIDA RAPIDA

Modem e rete locale (LAN) Guida per l'utente

LUCE AMBIENTALE A LED PER AMBIENTE CON BLUETOOTH ALTOPARLANTE

Capitolo 18 - Progetto DWG Creazione del layout di stampa

Rilevatore di caduta per anziani. Guida per l utente

L INTERFACCIA GRAFICA DI EXCEL

UTILIZZO TASTI E FUNZIONI

ISTRUZIONI DI MONTAGGIO

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro -

CREARE UN GRAFICO CON EXCEL 2007

FIRMA DIGITALE E CIFRATURA

Modem e rete locale (LAN)

Anagrafe Nazionale Studenti aggiornamento sincronizzato. Guida Operativa

PSC Doc Manuale d uso

Guida di installazione

COLLEGIO DEI GEOMETRI E DEI GEOMETRI LAUREATI DELLA PROVINCIA DI NUORO MANUALE UTILIZZO GPS

Giocare con Theremino: la mia prima APP in Visual Studio 2008 (Theremino_LM35_Thermometer v. 1.1)

Interfaccia contatti a 2 ingressi indipendenti

Corso di Informatica

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

ISTRUZIONI PER LA SICUREZZA

TL-W5MD1*1 TL-W 5MD2*1

Passo dopo passo risolvere i problemi - Matri

Importazione dati. e/fiscali Spesometro - Rel con gestionale e/satto. Gestionale e/satto

Riparazione del circuito Side Tone sul Kenwood TS-850S

MODIFICA RELE' per il COLLINS KWM-2/2A. Mauro Ruzzante IV3UVW

ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS

ECDL CORE 5.0. Modulo 1 Concetti di base dell ICT 1.6 Aspetti giuridici. Docente: Stefania De Martino Liceo G. Leopardi Recanati a.s.

IL TIME MANAGEMENT: ORGANIZZARE IL TEMPO E GOVERNARLO

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

EFA Automazione S.r.l. SB3Conf Help V1.00 (01 ITA).doc pag. 1 / 10

GUIDA AL SERVIZIO ON LINE DEPOSITO ATTESTATO PRESTAZIONE ENERGETICA

Esercizio 2.3 Uso del patch panel

Corso di formazione CerTICTablet

La disposizione estetica della lettera commerciale

Jabra SPEAK 450 Cisco

Configurazione dei BLF (campo lampade) su CLOUDPBX

GESTIONE DELEGA F24 RAVVEDIMENTO OPEROSO

Perché il P.L.C.? Introduzione di base al P.L.C. (Programmable Logic Controller) SAVE Veronafiere Ottobre 2007

Foto istruzioni per l autocostruzione

Moduli di misura per corrente ma per corrente ma

GUIDA RAPIDA ALL INSTALLAZIONE

Sistemi Web per il turismo - lezione 3 -

1 Power Commander 1 Cavo USB 1 CD-Rom 1 Guida Installazione 2 Adesivi Power Commander 2 Adesivi Dynojet 1 Striscia di Velcro 1 Salvietta con Alcool

Interfaccia 2 FILI / IP

Modem e rete locale (LAN) Guida per l'utente

Integrazione al Manuale Utente 1

testo Saveris Web Access Software Istruzioni per l'uso

ANAGRAFE NAZIONALE CREDITI FORMATIVI. Manuale utente

PLC Sistemi a Logica Programmabile Il linguaggio Ladder-Parte

Manuale cliente finale portale accertamenti delibera 40

REGISTRO DELLE MODIFICHE

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

Prova d esame di Reti Logiche T 10 Giugno 2016

Introduzione I contatori sono dispositivi fondamentali nell elettronica digitale e sono utilizzati per:

Manuale utente. Versione 6.9

ALLFLEX STICK READER RS 320

Note applicative per contatori di energia Oggetto: trasformatori di corrente. Pascal Hurni / Dicembre 2013

MANUALE UTENTE PROCEDURA PLANET WEB INTERPRISE (II edizione)

5^ parte : Controllare un LED RGB con 3 potenziometri. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

LINEE GUIDA TRACCIAMENTO PONTEGGIO

Telecomandi IP-Tv Manuale configurazione telecomandi

Massimo Meneguzzo - Collaborazioni DIfensive: Blocchi lontano dalla palla.

REGOLAZIONI. 1 - AZZERAMENTO (ZERO SETTING) del cambio COME EFFETTUARE L AZZERAMENTO DEL CAMBIO. Rev. 01 /

Ci congratuliamo per il vostro acquisto del nuovo USB. Tester, uno strumento dedicato a coloro che devono

Aggiorna. La Funzione Aggiorna Listino Aggiornare Listino Pr7 / Le connessioni / Listino METEL. Aggiorna Lis no. Aggiornamento del listino

KERN YKN-01 Versione /2014 I

Manuale Sito Videotrend

WUEWUE. Manuale Istruzioni LEGGERE ATTENTAMENTE E CONSERVARE PER FUTURE CONSULTAZIONI. passeggino leggero

SCHEDA 32A: ADEGUAMENTO DEI TRATTORI A RUOTE A CARREGGIATA STRETTA MODELLO FIAT 300 DT E SIMILI

Applicazione Periodo Fertile

UNIVERSITÀ DEGLI STUDI DI TRIESTE

Istruzioni per montaggio modulo WIFI e configurazione dell applicazione da smartphone

Cultura Tecnologica di Progetto

ROBOCUP JR ITALIA RIVA DEL GARDA

Q71S. 230V ac Q71S. CENTRALE DI GESTIONE PER CANCELLI SCORREVOLI Manuale di installazione e uso. Centrale di gestione per cancello scorrevole 230V ac

La codifica. dell informazione

DOTTORATI DI RICERCA GUIDA ALL ISCRIZIONE ONLINE AL CONCORSO D AMMISSIONE

HP LED Driver Shield. EtherMania di Signorini Marco Via Cadore MALNATE (VA) P.I REA VA

Progetto per il corso di Microcontrollori: Gestore Ambientale

Transcript:

Obiettivi Guida alla Quarta Esercitazione curata da Ilaria Casale Dopo aver svolto questa esercitazione si sarà appreso come: Utilizzare una breadboard Verificare la presenza dell'alimentazione della scheda LPCXpresso accendendo un led esterno montato sulla breadboard Pilotare un led esterno sfruttando il microcontrollore della LPCXpresso Gestire l'input digitale come stato di pulsanti esterni e come gestire i problemi legati al rimbalzo dei contatti degli stessi pulsanti Breadboard E importante memorizzare come sono fatte le connessioni interne di questa basetta utile al montaggio di semplici prototipi. Le due parti sopra e sotto a una linea centrale, sono formate da gruppi di 5 pin, in verticale, in cortocircuito tra loro. Queste vengono utilizzate per i collegamenti tra componenti. Le due barre alle estremità superiore e inferiore sono utili per fornire alla breadboard l alimentazione, duale o singola (nei piedini disposti orizzontalmente che si trovano accanto alla linea rossa) e quelli utili a fornire un collegamento a massa (nei piedini accanto alla linea blu). Nel nostro caso, l alimentazione che sarà possibile fornire è di 3.3 V (disponibile dalla scheda LPCXpresso). Avendo, come già visto, due linee per l alimentazione e due per la massa, se si volesse un alimentazione singola, si dovrebbero cortocircuitare le due linee rosse e le due linee blu che si trovano rispettivamente in alto e in basso rispetto alla figura precedente. In tal caso sarebbe possibile utilizzare tutta la breadboard avendo facile accesso (da parte dei componenti) ad esse sia nella parte inferiore che in quella superiore della basetta.

ATTENZIONE: Alcune di queste sono formate da due piccole breadboard unite tra loro, quindi è presente una separazione al centro (in verticale) e va tenuto presente che vanno effettuati due collegamenti sia per la massa che per l alimentazione.

Prima prova (livello 0, non si utilizza il microcontrollore) Quando si costruisce un circuito sulla breadboard e si vuole che questo mandi o riceva segnali da una scheda con microcontrollore (in questo caso LPCXpresso) si deve utilizzare un terminale di riferimento, la massa, tra le due. Due schede riescono a comunicare se, utilizzando segnali di tensione, sono riferite allo stesso potenziale che considerano come 0 (gnd, massa). In questa prova si vuole semplicemente far accendere un led, montato sulla breaboard, utilizzando l alimentazione della scheda LPCXpresso che vedrà quindi il circuito esterno come un carico utilizzatore. Si prende un led e un resistore intorno ai 750 Ω, (colori: viola verde e marrone). Il led è un diodo e come tale è costituito da un anodo (la parte più lunga) e un catodo (la parte più corta o contrassegnato da una limatura del case). Sulla scheda LPCXpresso, il pin 28 sarà usato per fornire l alimentazione e i pin 1 e 54 sono per il collegamento a massa (come si può vedere dallo schema di LPCXpresso). Si procede collegando il pin 28 alla linea di alimentazione della breadboard e il pin 51 o 1 alla linea di massa, si pone il resistore tra l alimentazione e l anodo (la parte positiva del led) e si connette il catodo a massa.

Collegando LPCXpresso al computer, fornendo quindi l alimentazione, si dovrà accendere il led. È meglio tagliare a esempio i reofori dei resistori, lasciando solo la parte necessaria al collegamento (circa 5 o 6 mm), al fine di rendere più comodo il lavoro e di evitare possibili cortocircuiti tra i componenti.

Progetto blinker Si vuole far lampeggiare il led sfruttando quindi il microcontrollore. Si sfrutta ad esempio il p0.4 che si trova sul pin 38. Si sposta quindi il collegamento che stava sull alimentazione dal pin 28 al 38. Il led si spegne, avendo l anodo connesso a p0.4. Quest ultimo è inizialmente considerato un ingresso e potrebbe quindi avere dei pull-up e dei pull-down, non forti, che fanno si comunque che arrivi una piccola quantità di corrente al led. Consiglio: Per una questione di colpo d occhio conviene usare per collegamenti a massa colori scuri (nero, blu..) e per le alimentazioni colori come il rosso, arancione etc.. Si avvia l IDE e si apre il progetto Lab4a_blinker (ricavato dalla copia del codice precedente, contenente i file timer.h e timer.c) in cui si inseriscono le istruzioni per pilotare il p0.4: Configurarlo come uscita: Spegnere il Led: Nel ciclo infinito while(1), si inseriscono le istruzioni per far lampeggiare il led esterno con una frequenza abbastanza bassa in modo da poterla osservare:

Seconda prova E necessario l utilizzo di un pulsante, che può essere di due tipi: Con 2 pin, in questo caso premendolo si cortocircuitano questi (non premuto è visto come circuito aperto). Con 4 pin, caratterizzati da due coppie di pin (il lato in cui sono più vicini) che sono internamente connessi, quindi il risultato è analogo alla tipologia precedente, ovvero quando il pulsante è premuto si mettono in corto circuito i due lati "più lontani". L obiettivo è quello di accendere il led quando il pulsante viene premuto, quando è visto come un corto circuito. Per fare ciò è sufficiente implementare un semplice circuito in serie, in cui la corrente scorre nel ramo solo se il pulsante è premuto. Per lavorare in logica negata, ovvero se il pulsante è rilasciato il led è acceso, se è premuto il led è spento, va inserito il tasto in parallelo al led: Quando il pulsante è premuto la corrente scorre attraverso di esso, non passa quindi per il led che risulta spento. Un grande vantaggio nell avere a disposizione un sistema a microcontrollore, programmabile quindi via software, con la possibilità di stabilire input e output, è il poter passare ad esempio dalla logica diretta a quella negata, senza modificare la parte hardware, ma solamente lavorando a livello software. (La manutenzione ha un costo minore)

Progetto key-led L obiettivo accendere il led quando il pulsante è premuto. Si vuole utilizzare p2.0, il pin 42, per realizzare il circuito riportato: La resistenza da 1 kω di protezione è necessaria a garantire che, nel caso in cui p2.0 fosse rimasto configurato come uscita, qualora si premesse il pulsante, non passerebbero più di 3 ma evitando la rottura dei transistor interni. Il corto circuito verso massa c è quando il tasto è premuto (pull-down) e viene visto nel p2.0 lo 0 logico, altrimenti a p2.0 arrivano 3,3V e si vede l 1 logico. Si procede duplicando il progetto precedente e denominandone la copia Lab4b_keyled in cui si vanno ad inserire nella funzione main le istruzioni necessarie per accendere o spegnere il LED in base allo stato del pulsante. Vengono modificate solo quelle all interno del ciclo infinito: Se lo stato di p0.2 è 1 (quindi se il pulsante non è premuto) Si spegne il led : Altrimenti (else), si accende:

Progetto toggle Fornito il diagramma di flusso, scrivere il codice. Si vuole risolvere il problema del rimbalzo, ogni volta che il pulsante viene premuto deve essere commutato lo stato del led (della GPIO p.04). Una possibile soluzione prevede il seguente diagramma di flusso in cui sono state inserite delle variabili. Si procede quindi eseguendo il clean del vecchio progetto key-led, duplicandolo e denominandolo Lab4c_toggle. Si dichiara la variabile toggle che inizialmente viene posta a 0, utile per registrare lo stato del p2.0: Ongi volta che il pulsante viene premuto va negato il suo valore. N.B. In C la negazione bit a bit è indicata con il simbolo ~ e la negazione dello stato logico è indicata con il simbolo!. Un numero è falso se vare 0, è vero in qualunque altro caso (basta che un bit dell intero numero sia 1). Se FIOPIN mascherato sul bit 0 (della GPIO2), quindi se p2.0 non è 0 (la condizione è quindi vera) il pulsante è rilasciato e in questo caso si spegne il led. Altrimenti se il pulsate è premuto si accende il led. Se vogliamo che lavori in logica negata, si vuole che la condizione sia lo stato di p2.0 negato. Quindi si procede o inserendo un! prima della condizione o aggiungendo un confronto con lo zero. Questo mi dice se il tasto è premuto, perché quando ciò avviene il pin 0 sta a 0. Come già detto se questa condizione è verificata si cambia lo stato di toggle:

Nelle righe successive si utilizza quindi tale variabile, se vale 1 si accende il led altrimenti si spegne. Così ogni volta che si preme il pulsante cambia lo stato di una variabile che viene usata per controllare l accensione del led. Si osserva un PROBLEMA dovuto al rimbalzo meccanico del led (a volte rimane acceso o si spegne quando non dovrebbe etc..), si potrebbe risolvere al livello hardware, ma quando il numero dei tasti utilizzati aumenta, ciò diventa dispendioso. Molto spesso la soluzione si trova via software, inserendo una pausa di 100, 200 ms dopo aver effettuato la commutazione (per avere il tempo di rilasciare il led). Tale soluzione funziona, eccetto se si tiene premuto il pulsante, in tal caso si osserva il led lampeggiare, questo perché durante la pausa il programma non riconosce che il tasto non è stato rilasciato, così quando questa finisce, valuta che questo è premuto e commuta il suo stato.

Progetto set-reset Si crea una copia del progetto toggle, e la si nomina Lab4d_set_reset al fine di implementare un codice non affetto dall ultimo problema citato. A tale scopo si utilizzano i fronti del segnale dovuto alla commutazione del tasto. Si osserva la condizione del primo if all interno della funzione principale: che è verificata quando il pulsante è premuto e la variabile set, che indica il fronte del tasto, sta a 0. Il simbolo && in C indica un AND logico. Inizialmente la variabile set è stata posta a 0, perciò quella condizione è vera, non appena il tasto viene premuto. Poi come nel progetto precedente si nega il contenuto della variabile che ora è chiamata status: All interno dello stesso if ne è stato inserito un secondo per commutare lo stato del led: Dopo che è stato premuto il tasto va commutato lo stato della variabile set e inserita una breve pausa al fine di non rischiare di non vedere tutti i fronti del segnale del pulsante essendo questo programma molto semplice e quindi rapido. L aver posto la variabile set a 1, assicura che la condizione del primo if non sia verificata e quindi si va avanti nel programma eseguendo un secondo ciclo la cui condizione è verificata se il pulsante è rilasciato e il valore di set è 1 (opposto alla prima). In tal caso si riporta set a 0, per poter ricominciare il tutto, ricordandosi di inserire anche qui una breve pausa. N.B. In C il simbolo!= ha il significato di diverso. Quindi in tale codice si nota: RESET, quando il pulsante è rilasciato (Secondo ciclo if) SET, quando il pulsante è premuto (Primo ciclo if) E possibile quindi tenere premuto il pulsante senza che lo stato del led commuti, ciò fa si che la specifica sia soddisfatta.