ESERCITAZIONE 8
Fare delle misure di distanza con il sensore ad ultrasuoni SFR05 (interrupt handler)OBIETTIVI
- interrupt handler e comunicazione con altri task in esecuzione
PROCEDIMENTO / SPECIFICHE INIZIALI
- consegnare la relazione tecnica
- realizzare i diagrammi di flusso del main e dei vari task e InterruptHandler
- in una prima fase al posto dell isr per il controllo del sensore ad ultrasuoni, scriver un interrupt_handler per il controllo di un pulsante.
- rilevare i seguenti eventi associati al pulsante: P1Press, P1LongPress, P1Clic, P1DoubleClick
- scrivere una routine "task_isr_test" che rilevati gli eventi associati ai pulsanti esegua delle azioni sui led a disposizione della scheda
GRIGLIA DI VALUTAZIONE:
[1 punto] - relazione: premesse teoriche/specifiche
[2 punti] - relazione: diagrammi di flusso
[2 punti] - task ISR che attiva le flag P1Press, P1Click, P1LongClick, P1DoubleClick, P1TripleClick
[1 punto] - task LedBlink
[1 punto] - task "task_isr_test" che in base allo stato delle flag esegua delle azioni specifiche
[1 punto] - [opzionale] routine per rilevare il P1LongPress
[1 punto] - convenzioni di scrittura codice
[1 punto] - relazione: collaudo
http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C12_Interrupts.htm
http://www.keil.com/dd/docs/datashts/ti/tm4c123/tm4c123gh6pz.pdf
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 7
Dato un sensore di ultrasuoni montato sopra un servomotore, muovere il sensore fino a quando viene rilevato un oggetto posto nelle vicinanze del robot.
OBIETTIVI
- scrittura di routine sotto forma di task indipendenti
- comunicazione tra task
PROCEDIMENTO / SPECIFICHE INIZIALI
- consegnare la relazione tecnica
- realizzare i diagrammi di flusso del main e dei vari task
- tutti i task in esecuzione dovranno avere una durata inferiore a 100us
- in una prima fase al posto del task per il controllo del servo motore, scrivere un task che faccia lampeggiare un led ad intervalli regolari, con periodo del lampeggio dipendente da una variabile globale
- in una prima fase al posto del task per il controllo del sensore ad ultrasuoni, scriver un task per il controllo di un pulsante. Il task pulsante comunicherà con gli altri task in esecuzione tramite semafori: P1Press (lettura del pin dove è collegato P1), P1LPress (durata minima 5-10ms), P1LongPress (almeno 1-3 sec), P1Click, P1DoubleClick
- nella prima fase il task di test rileverà il click del pulsante e farà il toggle della velocità di lampeggio del led (lento, veloce, lento, ...)
GRIGLIA DI VALUTAZIONE:
[1 punto] - relazione: premesse teoriche/specifiche
[2 punti] - relazione: diagrammi di flusso
[3 punti] - task polling su pulsante che attiva le flag P1Press, P1Click, P1LongClick, P1DoubleClick, P1TripleClick
[1 punto] - task LedBlink
[1 punto] - task "task_polling_test" che in base allo stato delle flag esegua delle azioni specifiche
[1 punto] - convenzioni di scrittura codice
[1 punto] - relazione: collaudo
RIFERIMENTI / LINK
http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C12_Interrupts.htm
http://www.strikemodels.com/wp-content/uploads/VS-2-Servo.pdf
http://www.robot-electronics.co.uk/htm/srf05tech.htm
http://www.adrirobot.it/servotester/il_servomotore.htm
https://github.com/filippo-bilardo/Arm_FB_Framework-A10
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 6
- Progetto per la gestione di task indipendenti: 2 led lampeggianti con periodi differenti-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 5
- Realizzazione di un termostato
PROCEDIMENTO / SPECIFICHE INIZIALI
- Consegnare un documento tecnico/datasheet, dove sono presente i seguenti elementi:
un tecnico che legge il vostro documento deve essere in grado di capire/modificare/replicare il vostro progetto
. obiettivo (del progetto)
. analisi/premesse teoriche (descrivere come si è svolta l'analisi, lavoro preventivo svolto, ricerca/studio tecnologie)
. specifiche finali (tutto e solo ciò che verrà realizzato, eliminare ambiguità possibili)
. sviluppo/progetto (allegare diagrammi, codice adeguatamente commentato)
. collaudo (descrivere quali test sono stati eseguiti)
. implementazione/rilascio (descrivere i passaggi finali per la conclusione del progetto)
RIFERIMENTI / LINK
- http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C14_ADCdataAcquisition.htm
- https://github.com/filippo-bilardo/Arm_FB_Framework-A10
- http://it.wikipedia.org/wiki/Isteresi
- http://it.wikipedia.org/wiki/Insegnamento_capovolto
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 4
- Pilotaggio di un servo motore
SPECIFICHE INIZIALI
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONI 3
- Gestione di 4 baffi in un robot sia in assembler che in c
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONI 2- Lettura e scrittura da singoli pin del microcontrollore
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 1- Esercizi su pulsanti e led
- Utilizzo di un framework per la programmazione in c delle schede launchpad
-------------------------------------------------------------------------------------------------------------
MANUALI
- Stellaris® LM4F120 LaunchPad Evaluation Kit - EK-LM4F120XL
- [PDF] Cortex-M3 Technical Reference Manual
-------------------------------------------------------------------------------------------------------------
Prima pubblicazione 12 dic 2014
Nessun commento:
Posta un commento