Innholdsfortegnelse:

Bruke Arduino for Citizen Science !: 14 trinn (med bilder)
Bruke Arduino for Citizen Science !: 14 trinn (med bilder)

Video: Bruke Arduino for Citizen Science !: 14 trinn (med bilder)

Video: Bruke Arduino for Citizen Science !: 14 trinn (med bilder)
Video: Leslie Kean on David Grusch (UFO Whistleblower): Non-Human Intelligence, Recovered UFOs, UAP, & more 2024, November
Anonim
Image
Image
Pssst, hva er forskjellen mellom borgervitenskap og
Pssst, hva er forskjellen mellom borgervitenskap og

Vitenskapen lar oss stille våre mest presserende spørsmål og utforske alle slags nysgjerrigheter. Med litt tanke, hardt arbeid og tålmodighet kan vi bruke våre undersøkelser til å bygge en bedre forståelse og forståelse av den komplekse og vakre verden rundt oss.

Denne opplæringen vil lære deg hvordan du bruker en Arduino (uno) mikrokontroller, hvordan du bruker forskjellige typer sensorer, og hvordan du samler og visualiserer data. Underveis bygger vi tre prosjekter: en vippebryter, en temperatur- og fuktighetssensor og en lyssensor!

Vanskelighetsgrad: Nybegynner

Lesetid: 20 min

Byggetid: Avhenger av prosjektet ditt! (Prosjektene i denne opplæringen tar omtrent 15-20 minutter)

Trinn 1: Pssst, hva er forskjellen mellom borgervitenskap og "offisiell vitenskap"?

Den største forskjellen er at innbyggervitenskap er, som jeg elsker å si, "håndbølget", noe som betyr at det er mange feil og usikkerheter og ingen streng prosess for å identifisere dem. På grunn av dette er konklusjoner som er nådd gjennom innbyggervitenskap, mye mindre nøyaktige enn vitenskapsvitenskap og bør ikke stole på alvorlige/livsendrende/livstruende påstander eller beslutninger.*

Når det er sagt, er borgervitenskap en flott måte å bygge en grunnleggende forståelse av alle slags fascinerende vitenskapelige fenomener og er god nok for de fleste daglige applikasjoner.

*Hvis du driver med statsvitenskap og oppdager noe som er potensielt farlig (f.eks. Høye blynivåer i vann), må du informere læreren din (hvis aktuelt) og kontakte relevante myndigheter og fagfolk for å få hjelp.

Trinn 2: Hva er Arduino ??

Hva er Arduino ??
Hva er Arduino ??
Hva er Arduino ??
Hva er Arduino ??
Hva er Arduino ??
Hva er Arduino ??
Hva er Arduino ??
Hva er Arduino ??

Arduino er et mikrokontrollerkort og Integrated Development Environment ("IDE"), som er en fin måte å si "kodingsprogram". For nybegynnere anbefaler jeg Arduino Uno -brett på det sterkeste fordi de er super robuste, pålitelige og kraftige.

Arduino -tavler er et godt valg for samfunnsvitenskapelige prosjekter fordi de har mange input -pins å lese i både analoge og digitale sensorer (vi kommer mer inn på dette senere).

Selvfølgelig kan du bruke andre mikrokontrollere til innbyggervitenskap, avhengig av dine (eller elevenes) behov, evner og komfortnivå. Her er en oversikt over mikrokontrollere for å hjelpe deg med å bestemme hva som er best for deg!

For å blinke eller programmere et Arduino -kort, kobler du det til via USB og deretter:

1. Velg typen Arduino du bruker under Verktøy -> Tavler. (Bilde 2)

2. Velg porten (aka der den er koblet til datamaskinen). (Bilde 3)

3. Klikk på Last opp -knappen og kontroller at den er lastet opp. (Bilde 4)

Trinn 3: Verktøy og materialer

Verktøy og materialer
Verktøy og materialer

Hvis du nettopp har begynt, er det raskt og enkelt å få et sett med mange deler samtidig. Settet jeg bruker i denne opplæringen er Elegoo Arduino Starter Kit.*

Verktøy

  • Arduino Uno
  • USB A til B -kabel (aka skriverkabel)
  • Jumper Wires

    • 3 mann-til-mann
    • 3 mann til kvinne
  • Brødbrett

    Valgfritt, men anbefalt for å gjøre livet ditt enklere og morsommere:)

Materialer

For prosjektene som er omtalt i denne opplæringen, trenger du disse delene fra Elegoo Arduino Starter Kit:

  • Vippebryter
  • DTH11 temperatur- og fuktighetssensor
  • LED
  • 100 Ohm motstand

*Full informasjon: Jeg kjøper de samme settene til workshops, men settet som ble brukt i denne opplæringen ble donert av de flotte folkene på Elegoo.

Trinn 4: Hvilke typer sensorer kan vi bruke?

Hvilke typer sensorer kan vi bruke?
Hvilke typer sensorer kan vi bruke?

Når vi designer et vitenskapelig eksperiment, starter vi vanligvis med et spørsmål: Hvor mye CO2 absorberer planter på en dag? Hva er slagkraften til et hopp? Hva er bevissthet ??

Basert på spørsmålet vårt, kan vi deretter identifisere hva vi vil måle og gjøre noen undersøkelser for å finne ut hvilken sensor vi kan bruke til å samle data (selv om det kan være litt vanskelig å samle data for det siste spørsmålet!).

Når du arbeider med elektronikk, er det to hovedtyper av sensordatasignaler: Digital og Analog. På bildet er de to første radene med deler digitale sensorer, mens de to øverste radene er analoge.

Det er mange forskjellige typer digitale sensorer, og noen er mer utfordrende å jobbe med enn andre. Når du gjør undersøkelser for ditt borgervitenskapelige prosjekt, må du alltid sjekke hvordan sensoren legger ut data (srsly tho) og sørge for at du kan finne et (Arduino) bibliotek for den spesifikke sensoren.

I de tre prosjektene som er dekket i denne opplæringen, bruker vi to typer digitale sensorer og en analog sensor. La oss lære det!

Trinn 5: Digitale sensorer! Del 1: De enkle

Digitale sensorer! Del 1: De enkle!
Digitale sensorer! Del 1: De enkle!
Digitale sensorer! Del 1: De enkle!
Digitale sensorer! Del 1: De enkle!

De fleste sensorer du bruker, sender ut et digitalt signal, som er et signal som enten er på eller av.* Vi bruker binære tall for å representere disse to tilstandene: et På -signal er gitt av en 1, eller True, mens Av er 0, eller Falske. Hvis vi skulle tegne et bilde av hvordan et binært signal ser ut, ville det være en firkantbølge som den på Foto 2.

Det er noen digitale sensorer, som brytere, som er veldig enkle og enkle å måle fordi enten knappen trykkes og vi får et signal (1), eller så blir det ikke trykket og vi har ikke noe signal (0). Sensorene på den nederste raden i det første bildet er alle enkle av/på -typer. Sensorene på øverste rad er litt mer komplekse og er dekket etter vårt første prosjekt.

De to første prosjektene i denne opplæringen vil lære deg hvordan du bruker begge typene! Fortsett å bygge vårt første prosjekt !!

*På betyr et elektrisk signal i form av elektrisk strøm og spenning. Av betyr ingen elektrisk signal!

Trinn 6: Prosjekt 1: Tilt Switch Digital Sensor

Prosjekt 1: Tilt Switch Digital Sensor
Prosjekt 1: Tilt Switch Digital Sensor
Prosjekt 1: Tilt Switch Digital Sensor
Prosjekt 1: Tilt Switch Digital Sensor
Prosjekt 1: Tilt Switch Digital Sensor
Prosjekt 1: Tilt Switch Digital Sensor

For dette første prosjektet, la oss bruke en vippebryter, den svarte sylindriske sensoren med to bein! Trinn 1: Sett det ene benet på vippebryteren inn i Arduino Digital Pin 13, og det andre benet i GND -pinnen rett ved siden av pin 13. Orientering spiller ingen rolle.

Trinn 2: Skriv en skisse som leser inn og skriver ut statusen til Digital Pin 13

Eller du kan bare bruke min!

Hvis du nettopp har begynt å kode, kan du lese gjennom kommentarene for å bedre forstå hvordan skissen fungerer og prøve å endre noen ting for å se hva som skjer! Det er OK å bryte ting, det er en fin måte å lære på! Du kan alltid laste ned filen på nytt og starte på nytt:)

Trinn 3: For å se dine live data, klikk på Serial Monitor -knappen (foto 2)

.. aaaand det er det! Du kan nå bruke vippebryteren til å måle orientering! Sett den opp for å kalle ut pusen din når den banker på noe, eller bruk den til å holde oversikt over hvordan tregrener beveger seg under storm!.. og det er sannsynligvis andre applikasjoner mellom de to ytterpunktene.

Trinn 7: Digitale sensorer! Del 2: PWM og seriell kommunikasjon

Digitale sensorer! Del 2: PWM og seriell kommunikasjon
Digitale sensorer! Del 2: PWM og seriell kommunikasjon
Digitale sensorer! Del 2: PWM og seriell kommunikasjon
Digitale sensorer! Del 2: PWM og seriell kommunikasjon
Digitale sensorer! Del 2: PWM og seriell kommunikasjon
Digitale sensorer! Del 2: PWM og seriell kommunikasjon

Det er mange måter å lage mer komplekse digitale signaler på! En metode kalles Pulse Width Modulation ("PWM"), som er en fin måte å si et signal som er på i en viss tid og av i en viss tid. Servomotorer (som kan brukes til å måle posisjon) og ultralydsensorer er eksempler på sensorer som bruker PWM -signaler.

Det er også sensorer som bruker seriell kommunikasjon til å sende data ett bit, eller binært siffer, om gangen. Disse sensorene krever litt kjennskap til å lese datablad og kan være ganske vanskelige hvis du bare har begynt. Heldigvis vil vanlige serielle sensorer ha kodebiblioteker* og prøveprogrammer å trekke fra, slik at du fremdeles kan brette sammen noe funksjonelt. Flere detaljer om seriekommunikasjonsprotokoller er utenfor omfanget av denne opplæringen, men her er en flott ressurs om seriell kommunikasjon fra SparkFun for å lære mer!

For dette prøveprosjektet, la oss bruke temperatur- og fuktighetssensoren (DHT11)! Dette er en lilla blå firkant med hull og 3 pinner.

Først trenger vi et par spesielle biblioteker for DHT11 -sensoren: DHT11 -biblioteket og Adafruit Unified Sensor -biblioteket. For å installere disse bibliotekene (og de fleste andre Arduino -biblioteker):

Trinn 1: Åpne Arduino biblioteksjef ved å gå til Sketch -> Libraries -> administrer bibliotek (foto 2)

Trinn 2: Installer og aktiver DHT -biblioteket ved å søke etter "DHT" og deretter klikke Installer for "DHT Arduino Library" (Bilde 3)

Trinn 3: Installer og aktiver Adafruit Unified Sensor -biblioteket ved å søke etter "Adafruit Unified Sensor" og klikke installer.

Trinn 4: Sett inn DHT -biblioteket i din åpne skisse ved å gå til Sketch -> Libraries, og klikk på "DHT Arduino Library. (Foto 4) Dette vil sette inn et par nye linjer øverst på skissen din, noe som betyr at vår biblioteket er nå aktivt og klart til bruk! (Bilde 5)

*Akkurat som ditt favorittbibliotek, er kodebiblioteker et vell av kunnskap og andre menneskers harde arbeid som vi kan bruke for å gjøre livet lettere, ja!

Trinn 8: Prosjekt 2: Temp og fuktighet Digital seriell sensor

Prosjekt 2: Temp og fuktighet Digital seriell sensor
Prosjekt 2: Temp og fuktighet Digital seriell sensor
Prosjekt 2: Temp og fuktighet Digital seriell sensor
Prosjekt 2: Temp og fuktighet Digital seriell sensor
Prosjekt 2: Digital seriell sensor for temperatur og fuktighet
Prosjekt 2: Digital seriell sensor for temperatur og fuktighet
Prosjekt 2: Temp og fuktighet Digital seriell sensor
Prosjekt 2: Temp og fuktighet Digital seriell sensor

Ta tak i tre mann-til-hunn-jumperledninger fra Elegoo Arduino Starter Kit, så er vi klare!

Trinn 1: Med toppnålene vendt mot deg, kobler du toppstiften til høyre på DHT11 til en Arduino -jordet ("GND") pinne.

Trinn 2: Koble den midtre toppnålen til Arduino 5V utgangspinne.

Trinn 3: Koble toppstiften til venstre til Arduino Digital Pin 2

Trinn 4: Les til slutt DHT -biblioteket og prøv å skrive en skisse! Oooor du kan bruke min eller DHT -testeksempelskissen i Arduino -> Eksempler!

Når du er i gang, må du gå og måle temperaturen og fuktigheten til alle tingene!.. Som et pust av et dyr, et drivhus eller ditt favoritt klatrested på forskjellige tider av året for å finne den * perfekte * sendetemperaturen.

Trinn 9: Analoge sensorer

Analoge sensorer!
Analoge sensorer!
Analoge sensorer!
Analoge sensorer!

Etter det vanskelige dypet i digitale sensorer, kan analoge sensorer virke som en lek! Analoge signaler er et kontinuerlig signal, som vist på det andre bildet. Det meste av den fysiske verden eksisterer analogt (f.eks. Temperatur, alder, trykk, etc.), men siden datamaskiner er digitale*, sender de fleste sensorer et digitalt signal. Noen mikrokontrollere, som Arduino -kort, kan også lese i analoge signaler **.

For de fleste analoge sensorer gir vi sensoren strøm, og leser deretter inn det analoge signalet ved hjelp av de analoge inngangspinnene. For denne testen bruker vi et enda enklere oppsett for å måle spenningen over en LED når vi skinner lys på den.

*Datamaskiner bruker digitale signaler til å lagre og overføre informasjon. Dette er fordi digitale signaler er lettere å oppdage og er mer pålitelige, siden alt vi trenger å bekymre deg for er å få et signal eller ikke versus å måtte bekymre deg for kvaliteten/nøyaktigheten til signalet.

** For å lese inn et analogt signal på en digital enhet, må vi bruke en analog-til-digital eller ADC-omformer, som tilnærmer det analoge signalet ved å sammenligne inngangen til en kjent spenning på enheten, og deretter telle hvor lenge det tar for å nå inngangsspenningen. For mer informasjon, er dette et nyttig nettsted.

Trinn 10: Prosjekt 3: LED som lyssensor

Prosjekt 3: LED som lyssensor!
Prosjekt 3: LED som lyssensor!
Prosjekt 3: LED som lyssensor!
Prosjekt 3: LED som lyssensor!

Ta tak i en LED (hvilken som helst farge bortsett fra hvit), en 100 Ohm motstand og 2 startkabler. Åh, og et brødbrett!

Trinn 1: Sett lysdioden inn i brødbrettet med det lengre beinet på høyre side.

Trinn 2: Koble en jumper wire fra Arduino Analog Pin A0 og det lengre LED -beinet

Trinn 3: Koble motstanden mellom det kortere LED -beinet og brødbrettets negative strømskinne (ved siden av den blå linjen).

Trinn 4: Koble Arduino GND -pinnen til den negative strømskinnen på brødbrettet.

Trinn 5: Skriv en skisse som leser i Analog Pin A0 og skrives ut til Serial Monitor

Her er en prøvekode for å komme i gang.

Trinn 11: Visualisere data: Arduino IDE

Visualisering av data: Arduino IDE!
Visualisering av data: Arduino IDE!
Visualisering av data: Arduino IDE!
Visualisering av data: Arduino IDE!

Arduino IDE leveres med innebygde verktøy for å visualisere data. Vi har allerede utforsket det grunnleggende om Serial Monitor som lar oss skrive ut sensorverdier. Hvis du vil lagre og analysere dataene dine, kopierer du utdataene direkte fra Serial Monitor og limer inn i et tekstredigeringsprogram, regneark eller annet dataanalyseverktøy.

Det andre verktøyet vi kan bruke til å se dataene våre i Arduino -programmet er Serial Plotter, en visuell versjon (aka graf) av Serial Monitor. For å bruke serieplotteren, gå til Tools Serial Plotter. Grafen i Foto 2 er utgangen fra LED -en som en lyssensor fra Project 3!*

Plottet skaleres automatisk og så lenge du bruker Serial.println () for sensorene dine, vil det også skrive ut alle sensorene dine i forskjellige farger. Hurra! Det er det!

*Hvis du ser på slutten, er det et super interessant bølgemønster som sannsynligvis skyldes vekselstrømmen ("AC") i våre overlys!

Trinn 12: Visualisere data: Excel! Del 1

Visualisering av data: Excel! Del 1
Visualisering av data: Excel! Del 1
Visualisering av data: Excel! Del 1
Visualisering av data: Excel! Del 1
Visualisering av data: Excel! Del 1
Visualisering av data: Excel! Del 1
Visualisering av data: Excel! Del 1
Visualisering av data: Excel! Del 1

For mer seriøs dataanalyse er det et superkult (og gratis!) Tillegg for Excel kalt Data Streamer*, som du kan laste ned her.

Dette tillegget leser fra den serielle porten, så vi kan bruke nøyaktig samme kodeteknikk for å skrive ut data til serie for å få data direkte inn i Excel.. pokker ja !!

Slik bruker du Data Streamer-tillegget:

1. Når du har installert den (eller hvis du har O365), klikker du på fanen Data Streamer (helt til høyre) i Excel.

2. Koble til Arduino og klikk "Koble til enhet", og velg deretter Arduino fra rullegardinmenyen. (Bilde 1)

3. Klikk på "Start data" for å starte datainnsamlingen! (Bilde 2) Du vil se tre nye ark åpne: "Data In", "Data Out" og "Settings".

Levende data skrives ut i Data In -arket. (Foto 3) Hver rad tilsvarer en sensoravlesning, med den nyeste verdien skrevet ut i den siste raden.

Som standard får vi bare 15 rader med data, men du kan endre dette ved å gå til "Innstillinger". Vi kan samle opptil 500 rader (grensen skyldes Excel -båndbredde - det skjer mye i bakgrunnen!).

*Full avsløring: Selv om denne opplæringen ikke er tilknyttet, jobber jeg med Microsoft Hacking STEM-teamet som utviklet dette tillegget.

Trinn 13: Visualisere data: Excel! Del 2

Visualisering av data: Excel! Del 2
Visualisering av data: Excel! Del 2
Visualisering av data: Excel! Del 2
Visualisering av data: Excel! Del 2
Visualisering av data: Excel! Del 2
Visualisering av data: Excel! Del 2

4. Legg til en tomt med dataene dine! Gjør litt dataanalyse! Spredningsdiagrammer viser deg hvordan sensoravlesningene endres over tid, noe som er det samme som vi så i Arduino Serial Plotter.

Slik legger du til et spredningsdiagram:

Gå til Insert -> Charts -> Scatter. Når handlingen dukker opp, høyreklikker du på den og velger "Velg data" og deretter Legg til. Vi vil at dataene våre skal vises på y-aksen, med "tid"* på x-aksen. For å gjøre dette, klikk på pilen ved siden av y-aksen, gå til Data In-arket og velg alle innkommende sensordata (Foto 2).

Vi kan også gjøre beregninger og sammenligninger i Excel! For å skrive en formel, klikk på en tom celle og skriv inn et likhetstegn ("="), deretter beregningen du vil gjøre. Det er mange innebygde kommandoer som gjennomsnitt, maksimum og minimum.

For å bruke en kommando, skriv inn likhetstegnet, kommandonavnet og en åpen parentes, velg deretter dataene du analyserer og lukk parentesene (Bilde 3)

5. For å sende mer enn én kolonne med data (AKA mer enn én sensor), skriv ut verdiene på samme linje atskilt med et komma, med en siste tom ny linje, slik:

Serial.print (sensorReading1);

Serial.print (","); Serial.print (sensorReading2); Serial.print (","); Serial.println ();

*Hvis du vil at den faktiske tiden skal være på x-aksen, velger du tidsstempelet i kolonne A på Data In-arket for x-aksens verdier i scatter-plottet. Uansett vil vi se dataene våre etter hvert som de endres over tid.

Trinn 14: Gå frem og mål alle tingene

Gå frem og mål alle tingene !!
Gå frem og mål alle tingene !!
Gå frem og mål alle tingene !!
Gå frem og mål alle tingene !!
Gå frem og mål alle tingene !!
Gå frem og mål alle tingene !!

Ok folkens, det er alt! På tide å gå utover og oppover! Bruk dette som et grunnlag for å begynne å utforske sensorer, Arduino -koding og dataanalyse for å takle dine spørsmål, nysgjerrigheter og favorittmysterier i denne store, vakre verden.

Husk: det er mange mennesker der ute som hjelper deg på veien, så legg igjen en kommentar hvis du har et spørsmål!

Trenger du flere ideer? Slik gjør du en skiftbar bryter for tilstandsendring, en solcelledrevet ekstern temperatursensor og en Internett-tilkoblet industriell skala!

Liker du denne opplæringen og vil du se mer? Støtt prosjektene våre på Patreon!: D

Anbefalt: