Innholdsfortegnelse:

En talende UV-indeks-måleenhet, som bruker VEML6075-sensoren og den lille kompispraten: 5 trinn
En talende UV-indeks-måleenhet, som bruker VEML6075-sensoren og den lille kompispraten: 5 trinn

Video: En talende UV-indeks-måleenhet, som bruker VEML6075-sensoren og den lille kompispraten: 5 trinn

Video: En talende UV-indeks-måleenhet, som bruker VEML6075-sensoren og den lille kompispraten: 5 trinn
Video: Подробный обзор Garmin Venu 2 Sq (Music) 2024, November
Anonim
En talende UV-indeks-måleenhet, ved bruk av VEML6075-sensoren og Little Buddy Talker
En talende UV-indeks-måleenhet, ved bruk av VEML6075-sensoren og Little Buddy Talker
En talende UV-indeks-måleenhet, ved bruk av VEML6075-sensoren og Little Buddy Talker
En talende UV-indeks-måleenhet, ved bruk av VEML6075-sensoren og Little Buddy Talker
En talende UV-indeks-måleenhet, ved bruk av VEML6075-sensoren og Little Buddy Talker
En talende UV-indeks-måleenhet, ved bruk av VEML6075-sensoren og Little Buddy Talker

Somrene kommer! Solen skinner, noe som er flott.

Men ettersom ultrafiolett (UV) stråling blir mer intens, får mennesker som meg fregner, små brune øyer som svømmer i et hav av rød, solbrent, kløende hud.

Å kunne ha sanntidsinformasjon tilgjengelig om intensiteten til UV-lyset som når huden din, vil øke bevisstheten og redusere risikoen for hudskader. Så hvorfor ikke bygge en enkel enhet til dette formålet? Jeg bestemte meg for å bruke VEML6075 UV-sensor som gjør det mulig å måle både UV-A og UV-B, og dermed gi mer presise verdier enn mange andre sensorer tilgjengelig (se siste trinn for detaljer). Og UV-B er den farlige delen, men hvordan presenterer vi måleverdiene? LED -barer og OLED -skjermer er fine, men ikke så praktiske i sterkt solskinn. Verbal kommunikasjon er vår daglige måte å overføre informasjon på, men så langt er det vanskelig å bruke det i mikrokontrollerprosjekter. Et nytt alternativ er "Little Buddy Talker" (LBT), et lite breakout som inneholder en chip med 254 ord og kan "snakke" dem via en hodetelefonkontakt. Hvert ord er definert av en adresse, i utgangspunktet et tall, og det er veldig enkelt å la LBT snakke i setninger. For mer komplekse oppgaver kan du bruke "Word100" Arduino -biblioteket til å kontrollere LBT.

Enheten beskrevet i det følgende består av en VEML6075 sensor breakout, en Arduino og Little Buddy Talker, er veldig enkel å sette opp og kan drives av en USB -strømforsyning eller batterier, avhengig av mikrokontrolleren som brukes.

Hvis du foretrekker å holde UV -indeksinformasjonen privat, bruk hodetelefoner. En liten batteridrevet høyttaler kan være en god løsning for skoler, barnehager eller andre offentlige steder. Jeg vil nevne det pågående Kickstarter-prosjektet for Big Buddy Talker, som inneholder over 1000 ord.

Og ikke glem å bruke solkrem

Trinn 1: Nødvendig materiale

VEML6075 UV A & B -sensorbrudd - Jeg fikk min fra Aliexpress for omtrent 10 US $

5V -> 3V nivåskifter - nødvendig da VEML6075 har en 3V logikk. De er tilgjengelige for noen få $/€.

Little Buddy Talker - tilgjengelig fra www.engineeringshock.com for 25 CA $

Arduino Uno -kompatibel mikrokontroller - Jeg brukte en MonkMakesDuino, men enhver versjon burde fungere

Brødbrett og startkabler

Høyttaler og/eller hodetelefoner - avhengig av søknaden din

USB power pack En solrik dag!

Trinn 2: Montering og bruk

For å få enheten i gang er ganske rett frem:

  • legg din Arduino, nivåskifter, VEML6075 breakout og Little Buddy Talker på brødbrettet.
  • Bruk en av strømskinnene på brødbrettet for 3V og en for 5V, koble dem til bakken, 3V og 5V -portene på din Arduino.
  • koble strømportene til nivåskifteren til de riktige kraftskinnene
  • koble to dataporter på 5V -siden av nivåskifteren til SDA (A4) og SDA (A5) porter på Arduino
  • koble de tilsvarende dataportene på 3V -siden med SCL- og SDA -portene på sensoren
  • koble GND- og VCC -portene på sensoren til Ground og 3V
  • koble LBT til Arduino og strøm: LBT 5V til 5V, LBT GD til bakken, LBT DI til Arduino 11, LBT SC til Arduino 13, LBT CS til Arduino 10

Installer de nødvendige programvarebibliotekene i IDE. "VEML7065" -biblioteket jeg brukte, finnes på 14core (se neste trinn). "Wire" er nødvendig for I2C -kommunikasjonen med sensoren, "SPI" for kommunikasjonen med Little Buddy Talker via SPI.

Kjør det medfølgende skriptet (se neste trinn).

UV Raw, UV-A, UV-B og UV indeksverdier og annen informasjon vises på den serielle skjermen.

Den målte UV -indeksen "snakkes" av LBT. VEML6075 beregner UV -indeksen veldig presis, men ettersom "punkt" mangler i settet med ord i LBT, er verdiene gitt som: "nivå" - verdi (som hele tall, "null" til "tolv") - "høy"/"lav" (hvis resten er over eller under 0,5), noe som burde være bra nok for de fleste applikasjoner.

Du kan endre skriptet for å endre hvor ofte målinger blir tatt og hva som måles og sendes til den serielle skjermen. Med litt programmering kan du til og med definere terskelnivåer for en "advarsel" (LBT: 148/0x94), "varsel" (LBT: 143/0x8f) eller "alarm" (LBT: 142/0x8e).

For å måle det maksimale UV -nivået må du rette sensoren direkte til solen

Trinn 3: Skriptet

I stor grad er manuset en samling av andres arbeid jeg vil takke.

Jeg brukte VEML6075-skriptet hentet fra 14core, https://www.14core.com/wiring-the-veml6075-ultraviolet-a-ultraviolet-b-light-sensor/, hvor du også kan laste ned det nødvendige VEML6075-biblioteket.

Et annet alternativ er skriptet og biblioteket av schizobovine:

Skriptet mitt tar i utgangspunktet en måling, gjør litt talltolkning og forteller den lille kameraten Talker hvilke ord han skal snakke. Siden hvert av de 254 ordene på LBT har et indeksnummer, f.eks. 209 eller 0xd1 for "nivå", du må bare sende disse tallene. Når det gjelder UV -indeksverdiene (0 til 12) brukte jeg 'kart' -funksjonen til å' oversette 'verdiene til ordene "null" (54, 0x 36) opp til "tolv" (66, 0x42).

Som nevnt tidligere er en UV -indeksverdi på 4,3 gitt som "fire lav" og 5,7 som "fem høy".

Hvis du liker å optimalisere skriptet, kan du ta en titt på den vedlagte listen med ord i LBT.

Trinn 4: Outlook

Med litt ekstra innsats bør den kunne sette alle brikkene i en liten boks som gjør det mulig å måle UV -indeksen uansett hvor du går: mens du går på ski, trekking, sykler, har en piknik eller på stranden.

Et annet alternativ ville være å plassere sensoren på en lue eller hette og plassere esken med elektronikken andre steder.

Eller for å bygge et skript som anslår den kumulative UV-dosen du har mottatt og forteller deg når du skal dra til skyggen.

Men aldri glem: Bruk solkrem !!!

Trinn 5: Lenker og tilleggsinformasjon

Nedenfor finner du lenker til lignende prosjekter og ytterligere informasjon om emnet:

DIY UV-måler med Arduino og en Nokia 5110-skjerm-https://www.instructables.com/id/DIY-UV-Meter-With…-er en veldig fin instruksjon ved bruk av flere dagligdagse komponenter og gir også mye bakgrunnsinformasjon.

Sommer kommer! La oss gjøre en Carry-on UV-detektor-https://www.instructables.com/id/Summer-Is-Coming-…-beskriver en fin mobil løsning i en eske med en LED-stolpe som indikator. Den er basert på Seed Grove -plattformen som bruker en breakout med en SI1145 lyssensor. Denne sensoren måler faktisk ikke UV, men beregner UV -indeksen fra synlige og IR -lysintensiteter.

Et annet prosjekt som bruker et SI1145 -utbrudd, finnes på Adafruit - https://learn.adafruit.com/adafruit-si1145-breakou… - som tilbyr den vanlige komplette Adafruit -løsningen. De har til og med en "Flora" av sensorversjonen du kan fikse på klut.

Adafruit (og andre) tilbyr også breakouts for VEML6070 -sensoren. Denne sensoren måler faktisk UV, men vil gi deg presise måleverdier, men ikke en lett å tolke UV -indeks.

Mye generell informasjon finnes på EPA Sunsafety -nettstedet, f.eks. på:

Dataarket for VEML6075 finner du her:

Og jeg vil anbefale å ta en titt på det følgende applikasjonsarket med mye bakgrunnsinformasjon og hvor jeg hadde tatt spektrabildene:

Anbefalt: