Innholdsfortegnelse:

Hotstuff: 9 trinn
Hotstuff: 9 trinn

Video: Hotstuff: 9 trinn

Video: Hotstuff: 9 trinn
Video: ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! 2024, November
Anonim
Varme ting
Varme ting

Målet er å bli det største lille grafiske termohygrometeret som er tilgjengelig for en Arduino Uno.

Søknadene inkluderer:

  • Spedbarn/barnehagetemperaturmåler
  • Utendørs temperaturmåler
  • Drivhusmonitor
  • Ekstern atmosfærisk sjekk
  • Hjem/kontor VVS -kontroll og overvåking
  • Inkubatormonitor/kontroll

MERK: Dette er ikke et medisinsk utstyr og kan ikke erstatte riktig planlegging og arbeidsforhold!

- Funksjoner

  • Helt gratis for ikke-kommersiell bruk.
  • Leveres med en superhastighets 7-segmenters simulert skrift "Rose Digital" og 16-segmentet med full alfa, "Astro Nerd" (se lisensiering for begrensninger på denne delen av programvaren, det er for en god sak, vi lover)
  • Nesten helt flimmerfrie oppdateringer (1)
  • Automatisk diagram som dekker hele DHT11- og DHT22 -sensorens utvalg
  • Bruker en DHT11 (i klem, vi har ikke prøvd) eller DHT22 for å få temp og relativ fuktighet.
  • Viser relativ fuktighet og temperatur i Fahrenheit eller Celsius
  • Viser dugg (kondens) OG frost (kondenserende is) i de nåværende enhetene
  • Blinkende grafisk advarsel om fuktig og tørr luft.
  • Bruker tilpassbare proporsjonale displayfonter (alternativ)
  • Hovedskjermområde -9 -> 99 F eller -9 -> 80C (advarsel om område hvis den overskrides)
  • Fuktighet fra 0% -> 99% relativ fuktighet.
  • Registrerer maks og minimum temperatur og fuktighet siden tilbakestilling
  • Inkluderer Steadmans beregninger og vil advare om ubehagelige eller farlige arbeidsforhold
  • Krever et minimum av deler Uno, 3,5 "TFT -skjerm
  • Mulig å bytte F/C
  • Programmerbar varmerstyring (for inkubatorer, etc.)
  • Enkel å bygge
  • Svært modulær kode
  • Sa vi at det var gratis?

(1) Bufferingbegrensninger på UNO betyr at diagrammet blinker kort under oppdateringer.

Rekvisita:

Arduino Uno R3 (eller kinesisk klon)

  • 1 DHT22 temperatur- og fuktighetsmonitor (eBay/Amazon)
  • 1 TFT 3,5 "skjerm med resistiv berøringsskjerm og SD -kortspor (se tekst.)
  • En SPST skyvebryter (valgfritt).
  • En PC med USB - for å laste opp programmet.
  • En 9-12v strømforsyning.
  • Sidekuttere av god kvalitet
  • Loddejern og loddetinn. Pincet med varmeavleder. Jumper ledninger.
  • Eventuelt et etui (Arduino Uno -tilfeller har ikke nok plass til et skjermskjerm).
  • Fin varmekrympende slange (for å kle og isolere loddepunktene).

Trinn 1: Hva gjør dette spesielt?

Hva gjør dette spesielt?
Hva gjør dette spesielt?

Men vent, du har sett bildene, og dette er bare nok en temperatur- og fuktighetsmåler ikke sant? Du kan få dem på eBay for omtrent samme pris som Arduino TFT -skjoldet vi brukte til dette prosjektet.

Vel ikke helt … tillat meg å forklare.

Coronavirus, Covid-19, SARS-Cov-2 … alle ganske skumle ting en av de beste tingene vi kan gjøre akkurat nå er å passe på lungene våre, og ingen steder er det lettere å gjøre det hjemme. Hvis vi jobber på et moderne kontor, bør det ha god HVAC og de fleste moderne biler har utmerkede filtre som tar de fleste større partiklene fra uteluften før de kommer inn i kabinen. Dette forlater hjemmet … det eneste stedet hvor du føler deg trygg, og det er der de vanligste nastiene lurer. Selv om det er mulig å få Legionnaires sykdom fra et skittent dusjhode (ja, virkelig!) Det er ganske uvanlig heldigvis.

Men det er noe langt mer vanlig at de fleste av oss ikke engang tenker en gang til fordi vi har levd med det hele livet.

Form.

Mer spesifikt, muggsporer. Tenk på dem som mikroskopiske frø som er produsert av små fugalvekster som skjuler det mørke og sprer seg fritt ut i luften - ofte uten å måtte forstyrres - og kan fylle hjemmene våre med alt fra de ekle svarte flekkene i de fuktige hjørnene til tørråte og mer.

Mugg skader ikke eiendommen din (noe som er ille nok) det kan forårsake irritasjon i hele luftveiene - fra nesen og bihulene våre akkurat nå til alveolene, millioner av små sekker som strekker lungene våre - de er så små at strukket ut, ville de grovt dekke en tennisbane. Det er mye område for en mikroskopisk organisme å komme inn, gjemme seg bort og forårsake all slags kaos.

Og det er mer…

I den andre enden av skalaen kan tørr luft også skape ødeleggelse. Overflaten på lungene våre er dekket av en veldig tynn film av et vannaktig slim - det er der for å holde nastiene i sjakk, og det gjør en ganske god jobb, men hvis luften er for tørr, begynner det slimet å bli tørt også og som gjør det vanskeligere å puste.

Og det er enda mer…

Mennesker holder seg naturlig kjølig ved fordampning - vi svetter (på en tørr, varm dag, det er umerkelig), men når fuktigheten øker, oppdager folk at vannet bare "står" på huden deres og de begynner å bli varme. Veldig varm.

I noen deler av verden (Australia og tropene) er dette et slikt problem at arbeiderne må være klar over den "effektive arbeidstemperaturen" - værkanalene omtaler dette ofte som "føles som" -temperaturen, for som varmen /fuktighet øker, sjansen for heteslag og til og med død blir en veldig reell mulighet.

For noen begrunnelse og videre lesing, se Wikipedia eller dykk inn!

en.wikipedia.org/wiki/Heat_index

Hvis du tenker, "det vil aldri skje med meg", tenk på at med klimaendringer er dette i ferd med å bli en veldig reell mulighet på breddegrader utenfor Seattle, og hvis du arbeider på en varm "muggy" dag, kan du risikere helsen din uten å innse det.

Varmeutmattelse er ekstremt ubehagelig og heteslag er en alvorlig medisinsk nødssituasjon.

Så denne enheten er ikke bare et fancy grafisk termometer/hygrometer, den har innebygde alarmer for å advare om varmeslagforhold, vil hjelpe deg med å bestemme hvor godt ventilert hjemmet ditt også er, og det ser til og med ganske smart ut (hvis vi sier det selv).

Med alt det sagt, er denne enheten ikke beregnet på medisinske formål og bør ikke brukes der helse og sikkerhet for arbeidere kan bli utsatt for fare. Selv om vi kunne bekrefte koden vår (vi kan ikke), har ikke selve maskinvaren den forsikringen. Dette er for å stoppe alt det rotete juridiske mumbo jumbo, men det bør gi deg og ide om hvor sunt hjemmet ditt er!

Bygget er omtrent like enkelt som det blir, selv om du må "slakte" TFT -skjoldet fordi vi skal bruke det på måter designerne aldri har tenkt på.

MERK: Ettersom noen har tatt opp dette problemet, er det verdt å merke seg at DHT22 -sensorer har en hevdet nøyaktighet på ± 0,5 ° C og ± 1% Rh, noe som er nok for mange applikasjoner, men ikke hvis temperaturen/fuktigheten er kritisk. Vi planlegger å legge til litt kalibrering etter montering senere. DHT11 har en litt mindre presis temperaturmåling på ± 1,0 ° C, men bør generelt gjenspeile miljøet vårt godt.

Trinn 2: Slakting av TFT

Slakter TFT
Slakter TFT

Dette er den eneste vanskeligste delen, og det er den typen ting du trenger for å få det riktig, med mindre du gir litt loddejern … vel, mindre sagt om det jo bedre.

Dette prosjektet * burde * fungere med mange skjold av denne oppløsningen og typen - og programvaren vil fungere med alle ATMega 328 eller større (programvaren sitter veldig tett, nærmer seg 99% av 28K tilgjengelig ved skriving) og vi har presset så mange funksjoner der som plassen tillater.

Sjekk at alt fungerer før du begynner å kutte biter

  1. Test at skjermen passer til Arduino - uSD -sporet går på slutten der strøm- og USB -portene kommer inn. Bakgrunnsbelysningen tennes når den er slått på, men ellers vil den ikke gjøre noe.
  2. Legg merke til pin -etikettene for tilgang til uSD -kortet. Vi trenger ikke disse, så vi skal gi brettet et veldig kort hårklipp.
  3. På brettet vårt er målpinnene merket SD_SS, SD_DI, SD_DO og SD_SCK på slutten av J1.
  4. Du kan la eller fjerne de to siste pinnene - vi kutter dem fra brettet vårt.
  5. Ikke kutt noe annet, ellers fungerer ikke LCD -skjermen! For eksempel er LCD_D0 (en av datalinjene) veldig nært, så du må være ekstrem forsiktig her.
  6. Sjekk to ganger, klipp en gang, eller håper du kan lodde inn en ny header!

Merk: Det kan være mulig å bruke "multiplex" SPI -pinnene vi har brukt her og lagre data på SD -kortet, men det er noe vi vil overlate til andre utbyggere.

Trinn 3: Montering / lodding av sensoren

Montering / lodding av sensoren
Montering / lodding av sensoren

Selv om det ikke er strengt nødvendig, er lodding av tilkoblingene den beste måten å gjøre dette prosjektet til noe du kan montere og glemme.

Lodding til DHT22 bør bare forsøkes av noen med rimelige loddekunnskaper. Sensoren er høyfølsom for endringer i temperatur og fuktighet. En navnløs person overopphetet loddetappene på oss (hoste, hoste) og sendte sensoren så langt ut av kalibreringen at den nektet å fungere før vi hadde "kokt" den etter instruksjon fra produsenten for å stoppe den fra å produsere lese feil. Et bedre alternativ for de fleste er å skaffe en forhåndsmontert DHT11/22 med en overskrift designet for hoppetråder.

DHT22s bruker en seriell enkeltrådsseriell kobling for å kommunisere med MCU - med et potensielt område på over 10M (> 32 fot) uten signalkondisjonering, slik at detektoren kan plasseres i en viss avstand fra Arduino.

Det viste seg (etter å ha studert skjemaene) at 6-pinners In-Circuit Serial Programmer (ICSP) -hodet på enden av brettet er koblet til SPI-pinnene som ble brukt av skjoldet til SD-kortleser/-skriver. Å bruke disse pinnene vil ikke påvirke din evne til å programmere kortet over USB i fremtiden, ettersom de hovedsakelig brukes til feilsøking og programmering av Uno med en seriell programmerer (FDTI). Som en sidebemerkning er vi takknemlige overfor Steve Wood fra AudioSpectrum Analyzers i Storbritannia, for at han ga oss en ekstra da vår forsvant inn i Marcs store haug med biter.

Hvis du har en langnussetang av god kvalitet, er det mulig å bøye ledningene over slik at de kan ta et DuPont-topptekst, men lodding er den foretrukne metoden. Med forsiktighet (og en stabil hånd) er det fullt mulig å lodde DHT22 direkte til toppteksten.

Tilkoblingen er omtrent like lett som den kommer, men det er viktig å observere polaritet fordi tilkobling av enheten i revers vil sannsynligvis ødelegge den umiddelbart. Selv om DHT22 har fire pinner, er pinne 3 ikke tilkoblet. Monterte sensorer kommer vanligvis bare med tre pinner som passer vakkert til toppteksten. Med sensoren liggende på ryggen (vist) kan du se strøm- og datapinnene på riktig måte.

Trinn 4: Test og første gangs bruk

Test og første gangs bruk
Test og første gangs bruk

Det eneste som gjenstår er å koble DHT22 -modulen forsiktig til Arduino og sette opp programvaren. Mye av det smarte er gjort av programvaren, muliggjort av grafikkbiblioteket fra Adafruit, David Prentices MCUFriend -skjermdriver og like smarte ting fra Robert Steadmans "effektive varme" -beregninger.

Det eneste du trenger å sette opp i denne grunnleggende konfigurasjonen er å fortelle programvaren hvilke tre pinner som brukes.

Hvis du foretrekker å koble sensoren annerledes, forteller følgende linjer i CONSTANTS. H til Uno hvordan du konfigurerer seg selv.

#define DHT22_DATA 11

DH22 bruker en veldig konservativ 1 - 1,5 mA når du tar en måling som er langt mindre enn den typiske maks på 20 mA, så det kommer ikke til å stresse noe. (Selvfølgelig vil kortslutning av alle pinner nesten helt sikkert ødelegge enheten, og derfor foreslår vi at du bruker varmekrymping hvis du setter sensoren på et Heath Robinson-plug-in-kort.) Hvis alt går bra, starter HotStuff om fem sekunder. Hvis det oppdages en feil, blir skjermen svart og viser en kort feilmelding. Dette kan i stor grad ignoreres, da det bare betyr at sensoren enten ikke er drevet eller ikke er koblet til riktig.

Trinn 5: Bruke instrumentet og vanlige spørsmål

Bruke instrumentet og vanlige spørsmål
Bruke instrumentet og vanlige spørsmål

Spørsmål: Jeg kan se spor av de ubelyste tallene på skjermen. Er ikke dette en feil?

A: Nei, dette er designet, selv om det ikke er steinstein. Tanken var å etterligne utseendet til en "ekte" LCD-skjerm (vs. en høyoppløselig TFT). Slike skjermer bruker store, forhåndsdesignede blokker som kan slås av og på som piksler, men i motsetning til piksler kan de oppta store deler av skjermen. Som et resultat er det alltid et fint spor av materialet som er synlig, og dette emuleres her.

Spørsmål: Hvordan kan jeg bytte mellom Celsius og Fahrenheit?

A: Funksjonen var ikke fullstendig testet da du skulle "trykke" (fordi noen glemte det, ikke sant …). Imidlertid har vi sjekket, og denne funksjonen fungerer (hvis ønskelig), men vi fester en liten SPST -glidebryter med den ene terminalen til pinne 12 og den andre til et praktisk underlag. Den raskeste måten å gjøre dette på er å lodde eller bruke en modifisert DuPont -kontakt for å feste til bakken og den andre enten til å feste 12 direkte (noen kloner har et ekstra sett med gjennomgående hull for denne typen ting) eller på originale design, for å MOSI -pinnen på ICSP -overskriften som er den over 5v -strømmen. Hvis denne bryteren er i åpen posisjon, starter enheten i centigrade, men i lukket posisjon trekker den pin 12 lavt og en omstart bringer den opp igjen i Fahrenheit. Det er ikke behov for en motstand for å beskytte pinnen siden det er en intern motstand.

Spørsmål: Kan jeg bruke en annen sensor?

A: Ja. Men du må enten finne et bibliotek som passer eller skrive ditt eget. Vi valgte en DHT22 på grunn av enkelttrådsgrensesnittet og fordi det var en på baksiden av delene for å samle støv. Ett trådgrensesnitt er å foretrekke fordi vi kan bruke de andre "gratis" digitale pinnene til andre funksjoner. I2C er ikke tilgjengelig siden det er opptatt av skjermbildet. SPI er imidlertid hvis du er forberedt på å miste funksjonalitet som skalaveksling, etc.

Spørsmål: Kan jeg selge en kommersiell versjon?

A: Klart at du kan følge lisensvilkårene for programvare (det er egentlig BSD-lisensen med 2 klausuler som er veldig tillatende, men vær oppmerksom på at andre lisenser kan gjelde for inkluderte biblioteker.) Vær også oppmerksom på at denne enheten ikke er (og kan aldri være) sertifisert for bruk i kritiske miljøer, er det til hjemmebruk/hobbybrukere, selv om det kan finne applikasjoner i omsorgsboliger, kontorer og andre arbeidsplasser. Bare vær oppmerksom på at den bare er så god som den svakeste lenken … Fontmotoren som er utviklet for dette prosjektet er lisensiert for ikke-kommersiell bruk, med mindre du donerer til vår kollegas kreft GoFundMe.

Spørsmål: Min min/maks avlesning er ikke registrert på diagrammet.

A: Dette er designet. Instrumentet bruker et "glidende gjennomsnitt" (et statistisk gjennomsnitt) som tilbakestilles hver time. Dette bidrar til å jevne ut grafen og gi et mer fornuftig blikk på målingene som forhindrer merkelige pigger (som noen, er, "person" puste på sensoren, fra å sende den gal.

Spørsmål: Hvorfor bruker du ikke C ++ - snarveier (som ++, - og så videre) i koden din? Hvorfor er alt så… ordfullt!

A: En av forfatterne er en veteran 8-biters spillprogrammerer, men den andre kommer fra Python. Vi har brukt noen snarveier der bruken deres er ganske entydig, men C (språket som ligger til grunn for C ++) er gammelt og kompilatorer generelt var litt dumme tilbake da Kernighan og Richie skrev den første kompilatoren, for ikke å snakke om at datamaskiner var slooooooow og tastaturer hadde nøkler at du følte at du måtte slå med en hammer. Alle disse tingene (og andre) førte til at C var et veldig tett språk med flere snarveier for å oppnå det samme. Et stort antall har (og forblir) ansvarlig for noen veldig vanskelige feil: og ikke engang få oss i gang med haug/stakk krasjer.

Det er klart at noen optimaliseringer (for eksempel semaforene) er nødvendige fordi vi prøver å presse en kvart i en tekopp, men der det er mulig har vi unngått det.

Forresten, hvis du ikke eier en godt lest kopi av K&R C … stopp nå og bestill en. Det er mange veldig store bøker om C, men K&R forblir sannsynligvis den beste, og siden C underbygger C ++ vil du også ha en bedre forståelse av det språkets funksjoner.

Spørsmål: Jeg tror jeg fant en feil, hva skal jeg gjøre!

A: Bugs? Det er ingen feil, bare funksjoner … bare noen funksjoner fungerer ikke slik vi forventet dem. Legg igjen et notat på GitHub, så prøver vi å endre funksjonen slik at den passer bedre til designet. Faktisk blir koden omarbeidet hele tiden til flere forskjellige prosjekter, så det er ganske skittent på steder, og for det vil Marc bli slått med en våt hyse til han skriker: "Ikke mer!" - Dan

Trinn 6: Kompilering fra kilde

Kompilering fra kilde
Kompilering fra kilde

Prosjektet er vert på GitHub (det er rett og slett for mye kode til å slå på en instruerbar, folk vil få firkantede øyne når de prøver å finne ut alt dette), men mens forhåndsprogrammerte minibanker vil være tilgjengelige på eBay, vil du kanskje kompilere din egen fra kilde.

Kildekoden som skal kompileres under Visual Studio med plattform IO - den ble litt tungvint for Arduino -redaktøren og Visual Studio lar oss skrive bedre kode med færre feil takket være noen av "lo" -plukkingen den har.

github.com/marcdraco/HotStuff

platformio.org/

visualstudio.microsoft.com/downloads/Du trenger et par biblioteker for dette skjoldet. Adafruit GFX (som også trenger Wire -biblioteket).

MCUFriend_kbv av David Prentice v2.9. David har produsert senere versjoner, men de vil garantert ikke fungere.

Trinn 7: Gjør det til ditt eget

Gjør det til ditt eget
Gjør det til ditt eget

Det er ingenting som å ha et vakkert prosjekt som du kan vise til andre og få dem til å gispe av ærefrykt når det starter med navnet ditt der oppe i lys. Så vi har konfigurert programvaren slik at nesten hvem som helst skal kunne gjøre endringer uten kunnskap om C/C ++.

Finn i din favoritt tekstredigerer i "constants.h" for å finne følgende linjer:

constexpr uint16_t defaultPaper = SVART;

constexpr uint16_t defaultInk = CYAN;

Du kan se fargenavnene på vanlig engelsk - David Prentice leverte en mengde definisjoner som vises tidligere i filen, og alt du trenger å gjøre er å endre forgrunnen (og bakgrunnen) til noe du velger før du laster opp til tavlen. "Spor" -fargene for grafen er litt dypere her nede og ser slik ut:

constexpr uint16_t HUMIDITY_TRACE {AZURE}; constexpr uint16_t TEMP_TRACE {YELLOW};

Selv om disse TFT-ene ikke er kjent for kontrasten (og er begrenset til 5-6-5 RGB, 16-biters farge), har vi gitt et eksempel på et kompileringsalternativ "NIGHT_MODE" som er kommentert som standard, men som angir skjermen

Andre farger kan justeres på samme måte. Vil du lese den i Imperial når den brenner opp? Ikke noe problem! Finn og kommenter ("//") eller fjern følgende linje, og når du laster opp igjen til brettet …

Spørsmål, kommentarer og forbedringer bør legges ut på GitHub.

Enda lengre dokumentasjon om hacking av prosjektet er i den medfølgende README. MD

Trinn 8: Hacking It

Dette prosjektet ble opprettet ved hjelp av KISS -rektor og det er komplett som det er.

Den kan danne grunnlaget for noe som er basert på en annen sensor - kanskje en mer nøyaktig eller raskere, forutsatt at det er nok plass til biblioteket. Som du kan se, er ting ganske stramt allerede.

Når du kjenner koden godt, er det lett å endre ting dramatisk, men selv uten mye programmeringserfaring forklarer mange av de konstante verdiene i "constants.h" hvordan du endrer ting. Mer avanserte programmerere vil merke at det er relativt enkelt (vi håper!) Å trekke delene du trenger for senere bruk. For eksempel erstattet vi grafvisningen med en fullt funksjonell sanntidsklokke på under en time. Klokken krever imidlertid en måte å stille klokken på, så den er ikke nyttig som den er; vi slipper en funksjonell versjon av det senere (du finner utviklingskoden på GitHub under HotStuff Chrono).

Men det er noe med disse skjermene som ikke umiddelbart er åpenbare før du går for å programmere - den berøringsskjermen.

Problemet med resistive berøringsskjermer av denne typen er at de trenger kalibrering, noe som øker kompleksiteten, og ærlig talt er det ikke rom med alle de andre funksjonene vi stappet inn for å rane et annet bibliotek der inne. Dette ville være mulig med Arduino Mega som har langt mer flash -plass, men hvor er moroa i det?

Se under brettet, og du vil se at bortsett fra den digitale I/O for å drive LCD- og SD -kortet, er det ingen utganger for en ADC for å oppdage motstandsmåling.

Merkelig ikke sant?

Flinke folk disse designerne. Skjermen har sin egen rammebuffer: det er et RAM -område som holder skjermen slik den er mens strømmen er tilkoblet, noe som betyr at du (programmatisk) kan koble fra flere av enhetens pinner mens den er slått på og bruke dem til andre jobber - forutsatt at du legger dem tilbake etterpå!

For informasjon om hvordan dette gjøres, foreslår vi at du leser Limor "Lady Ada" Frieds resistive berøringsskjermbibliotek.

Og hvis du lager noe kult, vennligst send inn en Pull -forespørsel!

Trinn 9: Valgfrie donasjoner

Valgfrie donasjoner
Valgfrie donasjoner

Her er den valgfrie biten, la oss introdusere damen som ga liv og navn til skriftene som ble brukt i dette prosjektet og fortsatt er en inspirasjon for oss alle, spesielt mottar nyheter om at hun har utviklet kreft og … de fleste av oss vet hvor skummelt det er bogeyman er. Hele biografen hennes er på nettstedet hennes https://www.rosedf.net/, og du kan finne henne på de vanlige sosiale mediekanalene. Hun sier om seg selv:

"Hvis jeg ikke trener for å prøve å komme meg til verdensrommet, be folk om å se på vår vakre nattehimmel, tilbringe tid med dem jeg elsker, eller bare være en nerd, liker jeg å fokusere oppmerksomheten min på utdanningstilgang og egenkapital. I arbeide med påvirkning av ofre for misbruk i hjemmet/seksuelt og hjemløshet som jeg var, og jeg liker å øke bevisstheten om betydningen av psykisk helse i hverdagen og i akademia."

Hvis du vil kaste henne noen få dollar (eller hva din lokale valuta er) så vil vi alle sette pris på det. Mye kjærlighet gikk med til å utvikle HotStuff trodde selv at det var ment som en undervisningsøvelse, og mye av det arbeidet kan brukes på nytt til fremtidige prosjekter som har en "treg" prosessor, men trenger en rask, oversiktlig og fremfor alt STOR alfanumerisk Skrifttype på en TFT -skjerm. doner her (takk skal du ha):

paypal.me/FirstGenSci

Anbefalt: