Introduktion
Når du er færdig med lektionen:
- Kan du bruge en Micro:bit med en DragonTail DragonTail micro:bit - Komponent - Elektronik - Hardware Du kan bruge en DragonTail til at forbinde en micro:bit... Læs mere .
- Kender du til, hvordan Neopixels virker.
- Kender du til, hvordan en DHT11 - Temperatur og luftfugtighedssensor virker.
- Kan du hente data fra en DHT11 - Temperatur og luftfugtighedssensor.
- Kan du programmere Neopixels.
- Kan du programmere funktioner.
Hardware
DHT11 - Temperatur og luftfugtighedssensor
En DHT11 - Temperatur og luftfugtighedssensor kan måle både temperatur og luftfugtighed, der hvor den er placeret.
Komponenten indeholder både en luftfugtighedssensor og en termistor til at måle temperaturen. Komponenten kan kobles til en micro:bit, og så kan micro:bitten forstå hvad temperaturen og luftfugtigheden er.
DHT11 måler bedst luftfugtighedsværdier mellem 20 - 80 %, og den måler bedst temperaturer mellem 0 - 50 °C.
DHT11 er på billedet herunder, den har fire pins. Første pin VCC er den pin til komponentens strømforsyning, anden pin er data-pinnen, som sender data til micro:bitten, tredje pin N/C skal ikke forbindes, N/C betyder no connection "ingen forbindelse". Frerde pin er komponentens GND-pin.
Opsætning af DHT11
DHT11 sættes i breadboardet. Første pin forbindes til VCC. Anden pin, data-pinnen, forbindes til P0 på Dragontailen. Fjerde pin forbindes til ground på breadboardet Breadboard Hardware - Elektronik Du kan bygge et kredsløb med et breadboard. Et breadboard... Læs mere .
Neopixel
En neopixel er en komponent, der indeholder tre lysdioder Lysdiode Eks 1 Elektronik - Hardware En lysdiode er en lille pære, der kan lyse i... Læs mere og en microcontroller. Neopixel kan vise RGB farver, og flere neopixels kan sættes i en række, så man kan styre flere fra en pin på micro:bitten, hvis man vil.
En neopixel har tre ben på venstre- og højre side. Signalerne løber fra venstre mod højre. I denne gennemgang sætter vi ikke flere neopixels sammen i en serie, men kobler to neopixels op hver for sig. Den ene kommer til at virke afhængigt af temperaturen, og den anden kommer til at virke afhængigt af luftfugtigheden. Af den grund bruger vi derfor kun tre af neopixelens pinne.
Vi bruger VCC på venstre side, som er strømforsyning til neopixelen, vi bruger IND, som er input-pinnen, som er forbundet til micro:bitten, og så bruger vi GND på højre side, som forbinder komponenten til ground.
Opsætning af Neopixels
Neopixel sættes i breadboardet, VCC på venstre side af neopixelen forbindes til VCC på breadboardet. IND forbindes til P14 på Dragontailen. Neopixelens GND på højre side forbindes til ground på breadboardet.
Hele opsætningen
DHT11 og højre neopixel er sat op på nøjagtig samme måde som ovenfor. Der skal sættes en til neopixel i breadboardet. VCC på venstre side af neopixelen forbindes til VCC på breadboardet. IND forbindes til P13 på Dragontailen. Neopixelens GND på højre side forbindes til ground på breadboardet.
Hele hardwareopsætningen ses herunder:
Software
Introduktion
Du skal i denne step by step guide programmere et indeklimasystem.
Programmeringen foregår i Makecode.
Når du er færdig med at programmere, vil dit program se sådan ud:
Tilkobling af micro:bit
Før du kan begynde at programmere dit indeklimasystem, skal du have sat din micro:bit op til at modtage din kode fra computeren:
Step 1
Forbind din micro:bit til din computer med USB-kablet.
Step 2
Åben Google Chrome browseren, for at være sikker på, at det hele virker som i denne guide.
Gå ind på Makecode.
Tryk "nyt projekt" og kald dit projekt "Indeklima".
Step 3
Indsæt "Vis ikon" i kodeblokken "når programmet starter" og vælg dit eget ikon eller ikonet vist på billedet.
Step 4
Tilkobl din micro:bit til browserprogrammet ved at trykke på de 3 prikker:
Step 5
Tryk derefter "par enhed".
Nu vil din micro:bit blive vist, som på følgende billede. Du skal nu connecte din micro:bit. Det gøres ved at trykke på BBC micro:bit og trykke connect.
Step 6
Du kan nu overfører koden fra Makecode til din micro:bit ved at trykke "Hent":
Du er nu klar til at programmere.
Programmering af indeklimasystem
Vi starter med koden til at få DHT11 sensoren til at virke. For at kunne programmere den, skal du først installere et ekstra kodebibliotek.
Step 1
Klik på knappen "Udvidelser" i kodemenuen i venstre side:
Step 2
Skriv "DHT11" i søgefeltet og vælg "DHT11_DHT22":
Step 3
Du vil se tilføjelsen i kodemenuen:
Step 3
Start med af fjerne koden fra afsnittet "Tilkobling af micro:bit", så du kun har "når programmet starter" og "for altid" tilbage.
Step 4
Tryk på det nye bibliotek, tryk på den store blok:
Og træk den ind i "for altid":
Step 5
Tryk på "mere" ved det nye bibliotek, og tryk derefter på "Temperature type":
Og placer den i "for altid". Vælg også Celcius, da det er den måleenhed, man bruger til at måle temperatur i Danmark:
Step 6
Nu skal vi have temperaturen til at blive skrevet i konsollen. Tryk på "Avanceret" og "Seriel":
Og vælg "seriel skriv linje":
Placer den i "for altid":
Tryk nu på biblioteket tilhørende DHT11, og vælg anden blot med "Read":
Og placer den på den tomme plads i "seriel skriv":
Step 7
Under "grundlæggende" tryk på "pause" og indsæt den nederst i koden:
Step 8
Du kan teste om sensoren virker, ved at hente koden til din micro:bit. Det er en rigtig god ide at teste sine komponenter og kode løbende, når man laver et større projekt, for hvis det ikke virker, når man har bygget det hele, kan det være meget svært at finde hvor fejlen er.
Når du har trykket på "Hent" kommer "Show data Enhed" frem. Tryk på den og du kan se at temperaturen bliver skrevet i konsollen:
Der blev målt 22,06 grader.
Step 9
Hvis du vil have, at temperaturen skal blive skrevet på micro:bittens LED-display, kan du under "Grundlæggende" vælge "vis streng" og indsætte den i koden som her:
Step 10
Vi vil også kunne læse luftfugtigheden på samme måde som temperaturen i konsollen.
Dupliker de tre sidste kodeblokke og indsæt dem efter pausen. I stedet for temperatur vælg "humidity" som betyder luftfugtighed på engelsk:
Nu kan du også læse luftfugtigheden i konsollen.
Step 11
Det er tid til at begynde at programmere neopixelene. For at kunne gøre det, skal du have et til nyt bibliotek. Tryk på "Udvidelser" og søg på "neopixel". Tryk derefter på "neopixel":
Du vil kunne se tilføjelsen i kodemenuen:
Step 12
Tryk på "Neopixel" og vælg første kodeblok:
Og indsæt den i "når programmet starter", vælg pin-nummeret og skriv 1 på antal:
Step 13
Man kan både styre neopixelens farve og lysstyrke med programmering. For at programmere lysstyrken skal du finde kodeblokken "set brightness". Tryk på "mere" under Neopixel i kodemenuen og vælg kodeblokken:
Og indsæt den i programmet:
Du bestemmer selv, hvilken lysstyrke du vil have. Hvis lysstyrken er 0, så lyser din neopixel ikke, og hvis lysstyrken er 255, så lyser din neopixel, alt hvad den kan.
Step 14
Nu skal du programmere, hvilken farve din neopixel skal have fra start. Tryk på "mere" under Neopixel i kodemenuen og vælg kodeblokken:
Og indsæt den i programmet:
I mange programmeringssprog tæller man fra 0, så 0 er den første. Vælg at neopixlens farve er hvid fra start.
Step 15
For at neopixlen får lysstyrken og farven, som du har valgt, skal du under Neopixel i kodemenuen finde kodeblokken "show" og indsætte:
Din ene neopixel vil lyse hvid, når programmet starter.
Step 16
Kodeblokkene til din anden neopixel skal sættes op på samme måde. Dupliker de fire kodeblokke og ændre de fire nye kodeblokke, så de hører til "strip2" med pin 14:
Nu vil begge dine neopixels lyse hvid, når programmet starter.
Step 17
Nu er koden klar til at du kan programmere to funktioner. Funktioner er kodeblokke, man helt selv bestemmer, hvad der skal være i, som man kan sætte ind i sin anden kode, ligesom man kan med alle de kodeblokke, du har brugt indtil nu.
Den ene funktion vi starter med skal få din neopixel, tilhørende "strip", til at lyse rød hvis det er mere end 24 grader ellers skal den lyse blå.
Tryk på Avanceret og "Funktioner" i kodemenuen:
Opret en funktion og kald den "temperatur", tryk på "Færdig":
Step 18
Tryk på Logik i kodemenuen og vælg kodeblokken:
Indsæt kodeblokken i din nye temperatur-funktion:
Step 19
Tryk igen på Logik og vælg første kodeblok under "Sammenligning":
Placer den der hvor der står "sand":
For at funktionen kan vide hvad temperaturen er fra DHT11-sensoren, skal du have "Read" fra DHT11-biblioteket i kodemenuen:
Placer den efter "hvis". Der ud over skal du ændre = til > og 0 til 24:
Det betyder, hvis temperaturen som sensoren læser er større end 24, så skal du have funktionen til at gøre noget.
Step 20
Hvis temperaturen er mere end 24, vil vi have din neopixel til at lyse rød. For at opdatere farven på en neopixel, skal man først slette den farve som den har med kodeblokken "clear". Kodeblokken ligger under Neopixel i kodemenuen. Derefter tryk på "mere" ved Neopixel og vælg kodeblokken "set pixel color at 0 to red", og opdater farven med kodeblokken "show":
Step 21
Hvis temperaturen ikke er over 24, vil vi have din neopixel til at lyse blå:
Step 22
Temperatur-funktionen er færdig og skal kaldes i din kodeblok "for altid". I programmering kalder man det at en funktion skal kaldes, når man vil have en funktion aktiveret.
Tryk på Funktioner i kodemenuen og vælg "kald temperatur". Indsæt blokken her:
Step 23
Nu skal du kode funktionen for fugtigheden. Dupliker temperatur-funktionen og kald den fugtighed. Vi vil have denne funktion til at gøre noget, alt efter hvor fugtigt det er. Ændre temperatur til humidity, som betyder fugtighed på engelsk.
Hvis fugtigheden er mere end 60, vil vi have din anden neopixel, som tilhører "strip2" til at lyse orange, ellers skal den lyse grøn:
Step 24
Fugtigheds-funktionen er også færdig og skal kaldes i "for altid". Tryk på Funktioner i kodemenuen og vælg "kald fugtighed". Indsæt blokken her:
Step 25
Tryk på "Hent". Du er nu klar til at prøve dit færdige indeklimasystem.
Brug indeklimasystemet
Introduktion
Når du har bygget og programmeret dit indeklimasystem, er det klar til brug. Et indeklimasystem kan gøre en opmærksom på, om man skal skrue op eller ned for varmen indenfor, eller om man skal lufte ud.
Step 1
Sørg for at have Makecode åben i browseren og at din micro:bit er forbundet som i afsnittet Opsætning af micro:bit.
Step 2
Du er klar til at prøve dit system.
Opgaver
- Ændre i funktionerne, så de to neopixel lyser nogle andre farver.
- Ændre lysstyrken via kode på dine neopixels.
- Test dit indeklimasystem forskellige steder, fx ved radiatoren og ved køleskabet.
- Skriv videre på temperatur-funktionen, så din neopixel lyser blå, når der er mindre end 15 grader, den lyser gul fra 16 til 22 grader, og den lyser orange fra 23 grader.
- Skriv videre på fugtigheds-funktionen, så hvis der måles en fugtighedsværdi under 45, er der en smiley på micro:bittens LED'er.
- Skriv videre på fugtigheds-funktionen, så hvis der måles en fugtighedsværdi over 45, er der et krys på micro:bittens LED'er.
- Lav en ny funktion, som får neopixlen tilhørende temperaturen til at blinke, hver gang den målte temperatur er forskellig fra temperaturen, du målte for 2 sekunder siden.