Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...

Relevanta dokument
DIGITALA PROJEKT Väderstation

Digitala Projekt (EITF11)

Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN

Växtviskaren EITF11 Digitala projekt VT15, I12

Digitala Projekt(EITF40) - Larm

PlantPuppy Räddaren för den som inte kan hålla växterna vid liv

Innehåll. 1 Inledning 3

LUNDS TEKNISKA HÖGSKOLA. Väderstation. Digitala Projekt, EITF11. Martin Olofsson, I08 & Fredrik Oher, I08 Vt 2012

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall

Pulsmätare med varningsindikatorer

Larmcentral. Digitala Projekt. Cecilia Olsson & Erika Björck Handledare: Bertil Lindvall LUNDS TEKNISKA HÖGSKOLA

Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C

TETRIS. LTH, Campus Helsingborg EITA15 Digitala System

Digitala projekt rapport

The Secure Light. Digitala Projekt EITF11. Hanna Tinglöf, I-12 Anna Horvath, I-12 Filippa Österlin, I-12. Handledare: Bertil Lindvall

Rapport Digitala Projekt EITF11 Grupp 4 Axel Sundberg, Jakob Wennerström Gille Handledare: Bertil Lindvall

DEPARTMENT OF INFORMATION TECHNOLOGY. Digitala Projekt. Redovisning av Projekt - Grupp 14

Rapport. Fyra i rad-spel. Rapport Digitala Projekt EITF11 Grupp 9 Emma Rasmusson & Louise Ragnarsson Handledare: Bertil Lindvall

Kravspecifikation för hårdvaruprojekt i kursen Datorsystemteknik, HT2005. Temperaturvakt med loggningsfunktion

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

TEMPERATURMÄTARE MED GRAFRITARE

Effektpedal för elgitarr

Projektrapport i Digitala System

PROJEKTTYP: Rapportsammanfattning STUDENTER: Larsson, J. ( ) och Oredsson, J. ( ) DATUM: 26 april, 2015

Digitala Projekt(EITF40) - Larm

Gustaf Backman, Anton Nystedt, Nicholas Peebo Battleships. Lunds tekniska högskola. EITF11 Digitala projekt

EITF11 - Digitala projekt. Hastighetsmätare. Hugo Backmyr Mattias Karlsson

Projekt EITA15. Väckarklocka. LTH Ingenjörshögskolan vid Campus Helsingborg Datateknik

TEMPERATUR OCH VINDMÄTARE MED HÖGTALARFUNKTION

Eventum II Larmdator

Pulsmätare Digitala Projekt EITF11

The Intelligent Timer

Jan Babor och Oscar Ågren Handledare: Bertil Lindvall 5/16/2011

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Eventum III Larmdator

Feeding Daisy. EITF11 Lunds Tekniska Högskola. Grupp 12: Pontus Akervall Louise Landare Anton Schölin. En automatisk blomvattnare

Lunds Tekniska Högskola Elektro- och informationsteknik Digitala projekt (EITF11)

Department of Information Technology Digitala projekt. SuperKull. Daniel Öhman Alexander Persson

EDI021 Digitala projekt. Rapport LARMSYSTEM. Utförd av: Niklas Eklund E03 David Olsson E04. Inlämnad:

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

ESIM364. Inkopplingsanvisning

Digitala projekt - Radiostyrd bil

DIGITALA PROJEKT (EITF40) Fartmätare

Digitala Projekt VT13. PING-Pong

LED för närvaro 0 gul; 2-1 grön Montage instruktion MV LED för fläkt hast. 0 gul; grön EYB 256 MV Miljödeklaration MD 94.

Datorprojekt, del 1. Digitala system 15 p

Digitala Projekt (EITF11) Hemlarm

Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, Stefan Windfeldt, Inlämmnad: 4 december 2006

D/A- och A/D-omvandlarmodul MOD687-31

Accelerometer. Rikard Ekström Mattias Kindborg. Informationsteknologi Lunds Universitet

Linjeföljare Digitala projekt Johan Engström e02je Henrik Persson e02hp

Bilen som inte kan krocka

Blue Key Digitala projekt VT

Avståndsmätare. Digitala System EITA Grupp 7. Abdelsalem Yabrag, Abdulhadi kikar, Fredrik Peterson, Jesper Annefors

FÄLTMÄTINSTRUKTION C.A 1510

Bruksanvisning Varmkanalstyrning KT300S

Ver 2.2. ELDES ESIM364 Kom igång

Träff 1 - Introduktion

REV 3. Användarmanual

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: Tid: 14:00-18:00.

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05

Projektarbete Kylska p

Display Display Tangentbord

Projektrapport Målgång

DANCING ROBOT. EITF11, Grupp 10. Kajsa Salomonsson, Hugo Hedin och Petter Mårtensson

LABORATION. Datorteknik Y

EITF11 Digitala Projekt TIC TAC TOE. Lukas Ljungblom & Johan Lyckenvik I-13 Handledare: Bertil Lindvall

Datorteknik 1 (AVR 1)

AVR 5. Styrning av trafikljus. Digitala system 15 p

Användarmanual 948 GSM-GPRS

Installations och användarmanual för BM24TS + AS150/300 Batteriövervakning

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> unsigned char num;

FULL KOLL. på mätdatan överallt

PROGRAMMERING AV MCU LABORATION6. Laborationens syfte

Projektlaboration 4, synkronisering av klockan

1000TR TEMP. Svensk manual

CT900LED-BED LS900. Bruksanvisning för DENNA BRUKSANVISNING GÄLLER FÖR MJUKVARUVERSION 1.9. KNOP Rehatek AB

ESIM264. Inkopplingsanvisning

EITF11. WormFight. Axel Eriksson, Felix Geuken Handledare: Bertil Lindvall EITF11

PIC-projekt: Kodlås till dörr

SMS-larm L Gjutarevägen Stenkullen

Laborationens mål är att få displayen att visa timmar, minuter och sekunder samt att kunna ställa klockan.

Innehåll 1 Konfigurera 2 Gateway Information 3 Drift/ Användning av Appen 4 Felsökning Beskrivning av sensorer. 1 Konfigurera. 1.

Digitalteknik: CoolRunner-II CPLD Starter Kit

Projekt Digitala system. Rörelsekänsligt Larmsystem

INSTALLATIONS- och DRIFTSANVISNING

Du har följande material: 1 Kopplingsdäck 2 LM339 4 komparatorer i vardera kapsel. ( ELFA art.nr datablad finns )

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.

Goda råd till de som ska utföra ett liknande projekt (från KMM 2016)

Väderstation. Digitala Projekt EITF11 Institutionen för Elektro- och Informationsteknik Lunds Tekniska Högskola

SVENSKA FÖRKLARING TILL HUVUDENHETEN MODEL: RGR 122H SPECIFIKATIONER SWE

Installationsguide. För att installera mjukvara och hårdvara, följ nedanstående anvisningar.

Experiment med schmittrigger

Mäter. Övervakar. Larmar. Dokumenterar. Trådlöst hela vägen. Från givare till basstation till molnet till mobil eller dator

Manual Sportident Onlinekontroll via GPRS

Introduktion till Matlab

Transkript:

Abstract Syftet var att konstruera en väder station som håller koll på temperaturen. Huvudfunktionen var att få en grafisk visning av temperaturen över ett visst tidsintervall eftersom vi valde den grafiska displayen. Även mer triviala funktioner som aktuell temperatur samt olika beräkningar av detta så som medel temperatur och max och minvärde finns med i projektet. Projektet praktiska natur gjorde att vi försökte få alla delar att funka var och en för sig och sedan sätta ihop det till en enhet. Vi lyckades nästan uppnå vår kravspecifikation. Funktionaliteten är bra men användbarheter är mindre bra då menyerna tar lång tid att navigera igenom. Det finns endel programmerings arbete som kan förfinas ytterligare men i brist på tid så nöjer vi oss med en fungerande lösning. 1

Innehållsförteckning Abstract...1 1 Inledning...3 1.1 Kravspecifikation:...3 1.2 Funktionsbeskrivning:...3 1.3 Genomförande:...3 2 Hårdvaran...4 2.1 Komponenter...4 3 Mjukvara...5 3.1 Koden...6 char chargen(int in)...6 void init(void)...6 void SIG_OUTPUT_COMPARE0(void)...6 void busy(int chip)...6 void comandlcd (uint8_t com,int chip)...6 void writelcd(uint8_t wri,int chip)...6 void write(char ch, int chip)...6 void clearline(uint8_t line,int chip)...6 void fillline(uint8_t line,int chip)...6 void clear(int chip)...6 void fill(int chip)...7 void ADConv(void)...7 void printtemp(uint8_t y, uint8_t x, uint8_t sid, int temp)...7 4 Resultat...7 5 Förbättringsförslag...7 6 Slutsats...7 7 Refferenser...8 Figur- och tabellförteckning Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...5 2

1 Inledning 1.1 Kravspecifikation: Material: Vi har valt att använda AVR Mega 16 processor, och AVR JTAG ICE för att kommunicera med datorn. I vårt projekt hade vi tänkt använda oss av en 128 X 64 pixels display för att pressentera information. Tre knappar behövs för att orientera sig i menyerna. En lysdiod för att indikera om temperatur gränserna har överskridits eller underskridits. Två temperaturgivare för att mäta temperaturen både inne och ute. 1.2 Funktionsbeskrivning: Väderstationen ska kunna visa två temperaturer kontinuerligt samt aktuell tid. Temperaturen bär uppdateras ca var 10:e sekund; dessutom lagras ett värde var 10:e minut som sparas i 24 timmar för att användas till grafen. Max och min värde för var och en av givarna sparas för det senaste dygnet. Medelvärdet för den senaste timmen kan även pressenteras. Med hjälp av knapparna kan man kunna orientera sig i menyerna och ställa in värden så som temperatur gränser och korrigera den aktuella tiden. Om gränserna överskrid aktiveras larmet och detta indikeras med att den röda lysdioden märkt Larm tänds. 1.3 Genomförande: Vi började med att få kontakt med processorn och lyckades med det under veckan 2 samtidigt fick vi LM 35 temperatur sensorn att fungera med en från dess datablad föreslagen uppkoppling. Denna uppkoppling använde vi däremot inte i vårat slutliga projekt. 3

2 Hårdvaran Här syns ett blockschema över får konstruktion. Mer detaljer kan fås ur kopplingsschemat i Bilaga 1. Lysdiod Temperaturgivare Processor Display Knappar Figur 1 Blockschema över hårdvaran 2.1 Komponenter De viktigaste komponenter vi har använt till vårat projekt: AVR Mega 16 processor AVR JTAG ICE 128 X 64 pixels display Tryckknapp Lysdiod Temperaturgivare LM 35 Förstärkare CA3140E Motstånd Trimpotentiometer 4

3 Mjukvara Vi har skrivit en mycket kod och bifogar därför den som bilaga. Vårat program har menyer och dom beskrivs av blockschemat nedan. Meny1 Temperatur: xx.x C Tid: xx:xx Meny2 Max Temp: xx.x C Tid: xx:xx MinTemp: xx.x C Tid: xx:xx (radera? Tryck välj) Meny3 Larmgränser övre: undre: (ändra? Tryck välj) Meny6 50 Meny5 Klocka xx:xx Meny 4 Medeltemperatur 1h xx.x C 0 (ändra? Tryck välj) Välj Välj Meny 5 10:tal h: 1:tal h: 10:tal m: 1:tal m: x x x x Figur 2 Blockschema över programmet Det första som händer när systemet slås på är att man hamnar i meny 1 där dyker det upp en tid som är satta som start tid. Det finns även en temperatur som automatiskt uppdateras var 10:e sekund. Trycker man på plus så kommer man vidare till meny 2 som blockschemat visar i figur 2. I meny 2 visas maximal registrerad temperatur och vilken tid den uppmättes, samt motsvarande för mintemperatur. Här kan man trycka på mittenknappen som heter välj om man vill nollställa dessa två temperaturer. I meny 3 Ställer man in gränserna för ett larm som kan indikera när någon av gränserna bryts. Meny 4 tar dom 6 senaste lagrade temperaturerna och bildar ett medelvärde och då vi mäter temperaturen var 10 minut så är det medelvärdet för den senaste timmen. I meny 5 kan man se klockan precis som i meny ett men här kan man även ställa in tiden om man trycker på välj så att man kommer in i en under meny till meny 5. Meny 6 är våran graf där kan man se alla lagrade temperaturer i ett diagram som på ett överskådligt sätt talar om hur temperaturen har varierat dom senaste 24 timmarna. Varje prick motsvarar en mätning och det är ca12 minuter mellan varje mätning. Minsta temperaturen är när pricken hamnar längst ner på skärmen, då är temperaturen 0 grader, största är längst upp så klart och där är den 50 grader. I normal rumstemperatur kommer punkterna alltså hamna ungefär mitt i fönstret. Minus 5

knappen göra att man kommer tillbaka till meny 1 i alla menyer utom meny 1 där den nollställer larmet. I meny 1 kan larmet även nollställas med välj. 3.1 Koden Vår kod blev ganska omfattande, strax över 1500 rader kod och kommer därför inte att ingår i rapporten. En kort beskrivning av dess innehåll följer däremot här. Vi hade en Mainmetod som har kontroll över hela programmet, till hjälp har den en hel del funktioner som kommer att beskrivas i korthet nedan: char chargen(int in) Gör om int typ till char void init(void) initiering av avbrottsrutinen void SIG_OUTPUT_COMPARE0(void) själva avbrottet som ser till att allt som ska göras vid ett avbrott blir gjort. void busy(int chip) kontrollerar om displayen är redo att användas. void comandlcd (uint8_t com,int chip) används för att skicka kommandon till displayen (ex. display ON) void writelcd(uint8_t wri,int chip) Lägger ut data åt displayen och utför en skriv cykel. void write(char ch, int chip) Skriver bokstäver till displayen void clearline(uint8_t line,int chip) Rensar en rad från allt som finns där. void fillline(uint8_t line,int chip) Fyller en rad. void clear(int chip) Rensar en displayhalva. 6

void fill(int chip) Fyller en displayhalva. void ADConv(void) Gör en AD-omvandling och lägger resultatet i en global variabel. void printtemp(uint8_t y, uint8_t x, uint8_t sid, int temp) För att lättare skriva ut temperaturer på displayen. 4 Resultat Projektet har varit ganska tidskrävande därför har vi inte konstruerat lite mer överflödiga funktioner som två temperaturgivare och möjligheten att mäta negativa temperaturer. Vi har dock undersökt möjligheten till detta och konstaterat att det hade gått att genomföra i mån av tid. Vår projekt kan dock mäta en inomhus temperatur och göra flera olika beräkningar av denna temperatur. 5 Förbättringsförslag Vi hade ett par funktioner som vi hade tänkt konstruera men som var lite överflödiga när det blev ont om tid. Dessa är inte alls omöjliga att göra och vi har undersökt vissa av dom noggrant. En extra temperatur givare kunde ha konstruerats. Det hade inte varit något större problem att AD-omvandlaren ytterligare en signal då vi hade många lediga pinnar på port A där AD-omvandlaren ligger. Mjukvaran för omvandlingen är dessutom känd. Negativa temperaturer är lite svårare förändring då vi måste ha dels en annan uppkoppling runt temperatur sensors LM 35 och dels göra programmet annorlunda då vi måste jämföra två spänningar med varandra istället för att bara mäta en. Detta kan man göra genom att dels använda den färdiga analoga komparatorn som ingår i AVRn eller mäta två spänningar och med hjälp av mjukvaran jämföra spänningarna. 6 Slutsats Det har varit en mycket rolig och givande kurs, den enda kursen på LTH som får en att tro att man verkligen kan göra något praktiskt. Kursen ger en bra inblick i vad för problem och möjligheter man har med denna typ av konstruktioner. Vi är nöjda med vår färdiga produkt fast vi inte uppnådde alla funktioner vi hade satt upp i början på kursen. 7

7 Referenser 1. Datablad över våran display Batron 128 X 64 Graphic LCD och dess kontrollchipp KS0108b/HD61202Graphic LCD-Driver. 2. Datablad över våran processor ATmega16 High-performance AVR 8-bit Microcontroller (Complete). 3. Datablad över våran sensor LM35 Centigrade temperature sensor. 8