EITF11 Digitala Projekt 2015 - Grupp 13

Temperatur- och vindmätare med högtalarfunktion

Denna prototyp är ett resultat av ett konstruktionsprojekt genomfört av Morten Rosén, Henrik Boris-Möller och Christoffer Nordberg inom ramarna för kursen Digitala Projekt vid Lunds Tekniska Högskola. Projektgruppens handledare var Bertil Lindvall.

Vi har gjort en väderstation som registrerar temperaturen och vindhastigheten samt läser upp dessa värden i en högtalare. Användningsområde och målgrupp för en sådan mackapär är lite oklar men processen att bygga den har varit otroligt lärorik. Det kan först tyckas vara en extremt svår uppgift när man för första gången sätter sig ner och funderar på vad man vill konstruera. Hur kopplar vi ihop alla komponenter? Hur programmeras hårdvara som vi själva skapat? Etc, etc.

Men bli inte avskräckt! När man börjar få upp en intuition av hur en microcontroller fungerar börjar man se alla fantastiska möjligheter denne lilla binära värld besitter. Några råd som kan hjälpa er att snabbare få upp denna intuition:

Inse att ett register är något som man kan: 1. ställa in (dvs man kan ge instruktioner till microcontrollern och påverka dess funktioner) och 2. läsa ifrån (dvs när något har hänt i microcontrollern så syns det i registret). Hela projektet är en fråga om att ställa in vissa register så att microkontrollern gör vad vi vill, registrera dess outputs genom att läsa andra register och sedan agera utefter dessa output. Det enda externa komponenter (som man själv kopplar ihop med microcontrollern t.ex. en termometer eller vindmätare) utanför microcontrollern gör är att påverka olika register i microkontrollern. Om dessa register läses av så läser man av inputs.

Exempel:

DDRA=0b11001100; //DDRA är registret för vilka av pinnarna PA0 till och med PA7 som ska vara input respektive outputs. 0b betyder att vi i binära siffror (alltid lämpligt i detta projekt). 11001100 betyder att pin PA0, PA1, PA4, PA5 är inputs och PA2, PA3, PA6, PA7 är outputs.

Om nu en LED är kopplad till säg pin PA3 så sätter vi på den LEDen med att använda:

PORTA=0b00001000; //Nu lyser LEDen! PORTA är registret för vilka av pinnarna PA0 till och med PA7 som ska ge en spänning på 5V (även kallat att pinnen är HIGH). 00001000 betyder att alla pinnar är LOW (ingen spänning) förutom pinne PA3 som är HIGH. Eftersom LEDen var kopplad till PA3 så lyser den.

Databladet är i princip en lång lista som förklarar vad varje register visar/ställer in. Förstå detta och du har kommit en god bit på vägen.

Lycka till!